package com.constellio.model.entities.records.wrappers; import static java.util.Arrays.asList; import java.util.List; import org.joda.time.LocalDateTime; import com.constellio.model.entities.records.Record; import com.constellio.model.entities.schemas.MetadataSchemaTypes; import com.constellio.model.entities.structures.EmailAddress; public class EmailToSend extends RecordWrapper { public static final String SCHEMA_TYPE = "emailToSend"; public static final String DEFAULT_SCHEMA = SCHEMA_TYPE + "_default"; public static final String FROM = "from"; public static final String TO = "to"; public static final String BCC = "BCC"; public static final String CC = "CC"; public static final String SUBJECT = "subject"; public static final String TEMPLATE = "template"; public static final String PARAMETERS = "parameters"; public static final String SEND_ON = "sendOn"; public static final String TRYING_COUNT = "tryingCount"; public static final String ERROR = "error"; public static final String PARAMETER_SEPARATOR = ":"; public static final String RECORD_URL = "recordURL"; public static final String CONSTELLIO_URL = "constellioUrl"; public EmailToSend(Record record, MetadataSchemaTypes types) { super(record, types, SCHEMA_TYPE); } @Override public RecordWrapper setTitle(String title) { throw new UnsupportedOperationException("Title cannot be set on a user, this metadata is calculated."); } public static EmailToSend wrapNullable(Record record, MetadataSchemaTypes types) { return record == null ? null : new EmailToSend(record, types); } public EmailAddress getFrom() { return get(FROM); } public EmailToSend setFrom(EmailAddress from) { set(FROM, from); return this; } public List<EmailAddress> getTo() { return getList(TO); } public EmailToSend setTo(EmailAddress to) { set(TO, asList(to)); return this; } public EmailToSend setTo(List<EmailAddress> to) { set(TO, to); return this; } public List<EmailAddress> getBCC() { return getList(BCC); } public EmailToSend setBCC(List<EmailAddress> bcc) { set(BCC, bcc); return this; } public List<EmailAddress> getCC() { return getList(CC); } public EmailToSend setCC(List<EmailAddress> cc) { set(CC, cc); return this; } public String getSubject() { return get(SUBJECT); } public EmailToSend setSubject(String subject) { set(SUBJECT, subject); return this; } public String getTemplate() { return get(TEMPLATE); } public EmailToSend setTemplate(String template) { set(TEMPLATE, template); return this; } public List<String> getParameters() { return getList(PARAMETERS); } public EmailToSend setParameters(List<String> parameters) { set(PARAMETERS, parameters); return this; } public LocalDateTime getSendOn() { return get(SEND_ON); } public EmailToSend setSendOn(LocalDateTime sendOn) { set(SEND_ON, sendOn); return this; } public Double getTryingCount() { return get(TRYING_COUNT); } public EmailToSend setTryingCount(Double tryingCount) { set(TRYING_COUNT, tryingCount); return this; } public String getError() { return get(ERROR); } public EmailToSend setError(String error) { set(ERROR, error); return this; } }