MailRapportageProces.java
/*
* Copyright (C) 2015 B3Partners B.V.
*/
package nl.b3p.brmo.persistence.staging;
import javax.persistence.Entity;
/**
* Mail rapportage proces.
*
* @author mprins
*/
@Entity
public class MailRapportageProces extends AutomatischProces {
public static final String DELIM = ",";
/** de sleutel {@value EMAIL}. */
public static final String EMAIL = "email";
/** de sleutel {@value PIDS}. */
public static final String PIDS = "pIDS";
/**
* de sleutel {@value FOR_STATUS}. Geldige waarden komen uit de verzameling van {@link
* AutomatischProces#getStatus()} en zijn: {@link ProcessingStatus},
*/
public static final String FOR_STATUS = "forStatus";
/**
* haalt de lijst van email adressen op.
*
* @return string met adressen
*/
public String getMailAdressen() {
return ClobElement.nullSafeGet(this.getConfig().get(EMAIL));
}
/**
* haalt de lijst van email adressen op.
*
* @return array van string met adressen
*/
public String[] getMailAdressenArray() {
final String adreslijst = this.getMailAdressen();
if (adreslijst != null) {
return adreslijst.split(DELIM);
} else {
return null;
}
}
/**
* wordt gebruikt om opslag van mailadressen te normaliseren.
*
* @param adressen een lijst adressen
*/
public void setMailAdressen(String... adressen) {
StringBuilder sb = new StringBuilder();
for (String adres : adressen) {
sb.append(adres.trim()).append(DELIM);
}
sb.setLength(sb.length() - 1);
this.getConfig().put(EMAIL, new ClobElement(sb.toString()));
}
/**
* voor stripes formulier input...
*
* @param adres een (lijst) adres(sen)
*/
public void setMailAdressen(String adres) {
if (adres == null) {
this.getConfig().put(EMAIL, null);
} else if (adres.contains(DELIM)) {
this.setMailAdressen(adres.split(DELIM));
} else {
this.getConfig().put(EMAIL, new ClobElement(adres.trim()));
}
}
public void setForStatus(ProcessingStatus status) {
if (status == null) {
this.getConfig().put(FOR_STATUS, null);
} else {
this.getConfig().put(FOR_STATUS, new ClobElement(status.name()));
}
}
public ProcessingStatus getForStatus() {
if (this.getConfig().get(FOR_STATUS) == null) {
return null;
} else {
return ProcessingStatus.valueOf(this.getConfig().get(FOR_STATUS).getValue());
}
}
}