1 /*******************************************************************************
2 * Copyright (c) 2016 AT&T Intellectual Property. All rights reserved.
3 *******************************************************************************/
4 package com.att.authz.actions;
6 import java.util.ArrayList;
7 import java.util.Collection;
10 import com.att.authz.env.AuthzTrans;
11 import com.att.authz.layer.Result;
12 import com.att.authz.org.Organization;
14 public class Email implements Action<Organization,Void>{
15 protected final List<String> toList;
16 protected final List<String> ccList;
17 private final String[] defaultCC;
18 protected String subject;
19 private String preamble;
22 protected String lineIndent=" ";
25 public Email(String ... defaultCC) {
26 toList = new ArrayList<String>();
27 this.defaultCC = defaultCC;
28 ccList = new ArrayList<String>();
32 public Email clear() {
35 for(String s: defaultCC) {
42 public void indent(String indent) {
46 public void preamble(String format, Object ... args) {
47 preamble = String.format(format, args);
50 public Email addTo(Collection<String> users) {
55 public Email addTo(String email) {
61 public Email subject(String format, Object ... args) {
62 subject = String.format(format, args);
67 public Email signature(String format, Object ... args) {
68 sig = String.format(format, args);
72 public void msg(Message msg) {
77 public Result<Void> exec(AuthzTrans trans, Organization org) {
78 StringBuilder sb = new StringBuilder();
80 sb.append(lineIndent);
86 msg.msg(sb,lineIndent);
95 return exec(trans,org,sb);
98 protected Result<Void> exec(AuthzTrans trans, Organization org, StringBuilder sb) {
107 } catch (Exception e) {
108 return Result.err(Result.ERR_ActionNotCompleted,e.getMessage());