package api.unicore.component;
 
import static api.util.ComponentConstants.BOOLEAN_NULL;
import static api.util.ComponentConstants.BOOLEAN_NULL_CODE;
import static api.util.ComponentConstants.INTEGER_NULL;
import static api.util.ComponentConstants.INTEGER_NULL_CODE;
import static api.util.ComponentConstants.STRING_NULL;
import static api.util.ComponentConstants.STRING_NULL_CODE;
import static org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion.NON_NULL;
 
import api.UnoComponent;
import api.unicore.component_manual.MerchantEmails;
import api.util.BooleanFormat;
import api.util.IntegerFormat;
import api.util.StringFormat;
import iapp.services.ServerObject;
import iapp.util.audit.AuditHelper;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.FormParam;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.codehaus.jackson.annotate.JsonPropertyOrder;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;
 
/**
 * @author CodeGen [Vladimir Danovskyi ]
 * @company UnitedThinkers
 * @since 2014/11/14
 */
 
@JsonSerialize(include=NON_NULL)
@XmlType(propOrder={"welcomeCode", "softDeclineCode", "softDeclineWaitPeriod", "softDeclineIsBalanceRequired", "hardDeclineCode", "chargebackCode", "statementCode", "agentPaymentCode", "draftPaymentCode", "portalPaymentCode", "voidCode", "refundCode", "invoiceCode", "creditCode", "cancelCreditCode", "cancelRefundCode", "invoiceNotificationCode", "invoiceNotificationPeriod", "invoiceNotificationIsEnabled", "lateFeeCode", "notification1Code", "notification2Code", "notification3Code", "notification1Age", "notification2Age", "notification3Age", "collections1Code", "collections2Code", "collections3Code", "collections4Code", "collections5Code", "collections1Age", "collections2Age", "collections3Age", "collections4Age", "collections5Age", "emailCodeAccountExpiration", "emailCodeAccountExpirationPeriod"})
@JsonPropertyOrder({"welcomeCode", "softDeclineCode", "softDeclineWaitPeriod", "softDeclineIsBalanceRequired", "hardDeclineCode", "chargebackCode", "statementCode", "agentPaymentCode", "draftPaymentCode", "portalPaymentCode", "voidCode", "refundCode", "invoiceCode", "creditCode", "cancelCreditCode", "cancelRefundCode", "invoiceNotificationCode", "invoiceNotificationPeriod", "invoiceNotificationIsEnabled", "lateFeeCode", "notification1Code", "notification2Code", "notification3Code", "notification1Age", "notification2Age", "notification3Age", "collections1Code", "collections2Code", "collections3Code", "collections4Code", "collections5Code", "collections1Age", "collections2Age", "collections3Age", "collections4Age", "collections5Age", "emailCodeAccountExpiration", "emailCodeAccountExpirationPeriod"})
@XmlAccessorType(XmlAccessType.NONE)
@XmlSeeAlso(MerchantEmails.class)
public abstract class AbstractMerchantEmails extends UnoComponent<unicore.model.Merchant> {
 
    @FormParam("welcomeCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String welcomeCode;
 
    @FormParam("softDeclineCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String softDeclineCode;
 
    @FormParam("softDeclineWaitPeriod")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer softDeclineWaitPeriod;
 
    @FormParam("softDeclineIsBalanceRequired")
    @BooleanFormat
    @DefaultValue(BOOLEAN_NULL_CODE)
    protected Boolean softDeclineIsBalanceRequired;
 
    @FormParam("hardDeclineCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String hardDeclineCode;
 
    @FormParam("chargebackCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String chargebackCode;
 
    @FormParam("statementCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String statementCode;
 
    @FormParam("agentPaymentCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String agentPaymentCode;
 
    @FormParam("draftPaymentCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String draftPaymentCode;
 
    @FormParam("portalPaymentCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String portalPaymentCode;
 
    @FormParam("voidCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String voidCode;
 
    @FormParam("refundCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String refundCode;
 
    @FormParam("invoiceCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String invoiceCode;
 
    @FormParam("creditCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String creditCode;
 
    @FormParam("cancelCreditCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String cancelCreditCode;
 
    @FormParam("cancelRefundCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String cancelRefundCode;
 
    @FormParam("invoiceNotificationCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String invoiceNotificationCode;
 
    @FormParam("invoiceNotificationPeriod")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer invoiceNotificationPeriod;
 
    @FormParam("invoiceNotificationIsEnabled")
    @BooleanFormat
    @DefaultValue(BOOLEAN_NULL_CODE)
    protected Boolean invoiceNotificationIsEnabled;
 
    @FormParam("lateFeeCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String lateFeeCode;
 
    @FormParam("notification1Code")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String notification1Code;
 
    @FormParam("notification2Code")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String notification2Code;
 
    @FormParam("notification3Code")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String notification3Code;
 
    @FormParam("notification1Age")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer notification1Age;
 
    @FormParam("notification2Age")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer notification2Age;
 
    @FormParam("notification3Age")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer notification3Age;
 
    @FormParam("collections1Code")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String collections1Code;
 
    @FormParam("collections2Code")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String collections2Code;
 
    @FormParam("collections3Code")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String collections3Code;
 
    @FormParam("collections4Code")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String collections4Code;
 
    @FormParam("collections5Code")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String collections5Code;
 
    @FormParam("collections1Age")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer collections1Age;
 
    @FormParam("collections2Age")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer collections2Age;
 
    @FormParam("collections3Age")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer collections3Age;
 
    @FormParam("collections4Age")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer collections4Age;
 
    @FormParam("collections5Age")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer collections5Age;
 
    @FormParam("emailCodeAccountExpiration")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String emailCodeAccountExpiration;
 
    @FormParam("emailCodeAccountExpirationPeriod")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer emailCodeAccountExpirationPeriod;
 
 
    public AbstractMerchantEmails(){
        super();
        applyDefaults();
    }
 
    public AbstractMerchantEmails(unicore.model.Merchant object){
        super(object);
    }
 
 
    private void applyDefaults() {
        if (!isProxyObject()) {
            welcomeCode = STRING_NULL;
            softDeclineCode = STRING_NULL;
            softDeclineWaitPeriod = INTEGER_NULL;
            softDeclineIsBalanceRequired = BOOLEAN_NULL;
            hardDeclineCode = STRING_NULL;
            chargebackCode = STRING_NULL;
            statementCode = STRING_NULL;
            agentPaymentCode = STRING_NULL;
            draftPaymentCode = STRING_NULL;
            portalPaymentCode = STRING_NULL;
            voidCode = STRING_NULL;
            refundCode = STRING_NULL;
            invoiceCode = STRING_NULL;
            creditCode = STRING_NULL;
            cancelCreditCode = STRING_NULL;
            cancelRefundCode = STRING_NULL;
            invoiceNotificationCode = STRING_NULL;
            invoiceNotificationPeriod = INTEGER_NULL;
            invoiceNotificationIsEnabled = BOOLEAN_NULL;
            lateFeeCode = STRING_NULL;
            notification1Code = STRING_NULL;
            notification2Code = STRING_NULL;
            notification3Code = STRING_NULL;
            notification1Age = INTEGER_NULL;
            notification2Age = INTEGER_NULL;
            notification3Age = INTEGER_NULL;
            collections1Code = STRING_NULL;
            collections2Code = STRING_NULL;
            collections3Code = STRING_NULL;
            collections4Code = STRING_NULL;
            collections5Code = STRING_NULL;
            collections1Age = INTEGER_NULL;
            collections2Age = INTEGER_NULL;
            collections3Age = INTEGER_NULL;
            collections4Age = INTEGER_NULL;
            collections5Age = INTEGER_NULL;
            emailCodeAccountExpiration = STRING_NULL;
            emailCodeAccountExpirationPeriod = INTEGER_NULL;
        }
    }
 
    @Override
    public void from() {
        fromInternal();
        super.from();
    }
 
    protected abstract void fromInternal();
    @Override
    public abstract void to();
    @Override
    public abstract void initializeNew();
 
    @Override
    public String toString(){
        StringBuilder sb = new StringBuilder();
        sb.append("emails: {");
        sb.append("welcomeCode: ");
        sb.append(welcomeCode);
        sb.append(',').append(' ');
        sb.append("softDeclineCode: ");
        sb.append(softDeclineCode);
        sb.append(',').append(' ');
        sb.append("softDeclineWaitPeriod: ");
        sb.append(softDeclineWaitPeriod);
        sb.append(',').append(' ');
        sb.append("softDeclineIsBalanceRequired: ");
        sb.append(softDeclineIsBalanceRequired);
        sb.append(',').append(' ');
        sb.append("hardDeclineCode: ");
        sb.append(hardDeclineCode);
        sb.append(',').append(' ');
        sb.append("chargebackCode: ");
        sb.append(chargebackCode);
        sb.append(',').append(' ');
        sb.append("statementCode: ");
        sb.append(statementCode);
        sb.append(',').append(' ');
        sb.append("agentPaymentCode: ");
        sb.append(agentPaymentCode);
        sb.append(',').append(' ');
        sb.append("draftPaymentCode: ");
        sb.append(draftPaymentCode);
        sb.append(',').append(' ');
        sb.append("portalPaymentCode: ");
        sb.append(portalPaymentCode);
        sb.append(',').append(' ');
        sb.append("voidCode: ");
        sb.append(voidCode);
        sb.append(',').append(' ');
        sb.append("refundCode: ");
        sb.append(refundCode);
        sb.append(',').append(' ');
        sb.append("invoiceCode: ");
        sb.append(invoiceCode);
        sb.append(',').append(' ');
        sb.append("creditCode: ");
        sb.append(creditCode);
        sb.append(',').append(' ');
        sb.append("cancelCreditCode: ");
        sb.append(cancelCreditCode);
        sb.append(',').append(' ');
        sb.append("cancelRefundCode: ");
        sb.append(cancelRefundCode);
        sb.append(',').append(' ');
        sb.append("invoiceNotificationCode: ");
        sb.append(invoiceNotificationCode);
        sb.append(',').append(' ');
        sb.append("invoiceNotificationPeriod: ");
        sb.append(invoiceNotificationPeriod);
        sb.append(',').append(' ');
        sb.append("invoiceNotificationIsEnabled: ");
        sb.append(invoiceNotificationIsEnabled);
        sb.append(',').append(' ');
        sb.append("lateFeeCode: ");
        sb.append(lateFeeCode);
        sb.append(',').append(' ');
        sb.append("notification1Code: ");
        sb.append(notification1Code);
        sb.append(',').append(' ');
        sb.append("notification2Code: ");
        sb.append(notification2Code);
        sb.append(',').append(' ');
        sb.append("notification3Code: ");
        sb.append(notification3Code);
        sb.append(',').append(' ');
        sb.append("notification1Age: ");
        sb.append(notification1Age);
        sb.append(',').append(' ');
        sb.append("notification2Age: ");
        sb.append(notification2Age);
        sb.append(',').append(' ');
        sb.append("notification3Age: ");
        sb.append(notification3Age);
        sb.append(',').append(' ');
        sb.append("collections1Code: ");
        sb.append(collections1Code);
        sb.append(',').append(' ');
        sb.append("collections2Code: ");
        sb.append(collections2Code);
        sb.append(',').append(' ');
        sb.append("collections3Code: ");
        sb.append(collections3Code);
        sb.append(',').append(' ');
        sb.append("collections4Code: ");
        sb.append(collections4Code);
        sb.append(',').append(' ');
        sb.append("collections5Code: ");
        sb.append(collections5Code);
        sb.append(',').append(' ');
        sb.append("collections1Age: ");
        sb.append(collections1Age);
        sb.append(',').append(' ');
        sb.append("collections2Age: ");
        sb.append(collections2Age);
        sb.append(',').append(' ');
        sb.append("collections3Age: ");
        sb.append(collections3Age);
        sb.append(',').append(' ');
        sb.append("collections4Age: ");
        sb.append(collections4Age);
        sb.append(',').append(' ');
        sb.append("collections5Age: ");
        sb.append(collections5Age);
        sb.append(',').append(' ');
        sb.append("emailCodeAccountExpiration: ");
        sb.append(emailCodeAccountExpiration);
        sb.append(',').append(' ');
        sb.append("emailCodeAccountExpirationPeriod: ");
        sb.append(emailCodeAccountExpirationPeriod);
        sb.append('}');
        return sb.toString();
    }
 
 
    @XmlAttribute(name="welcomeCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("welcomeCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getWelcomeCode(){
        return welcomeCode;
    }
 
    public void setWelcomeCode(String value){
        this.welcomeCode = value;
    }
 
    @XmlAttribute(name="softDeclineCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("softDeclineCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getSoftDeclineCode(){
        return softDeclineCode;
    }
 
    public void setSoftDeclineCode(String value){
        this.softDeclineCode = value;
    }
 
    @XmlAttribute(name="softDeclineWaitPeriod")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("softDeclineWaitPeriod")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getSoftDeclineWaitPeriod(){
        return softDeclineWaitPeriod;
    }
 
    public void setSoftDeclineWaitPeriod(Integer value){
        this.softDeclineWaitPeriod = value;
    }
 
    @XmlAttribute(name="softDeclineIsBalanceRequired")
    @FormParam("softDeclineIsBalanceRequired")
    @BooleanFormat
    public Boolean getSoftDeclineIsBalanceRequired(){
        return softDeclineIsBalanceRequired;
    }
 
    public void setSoftDeclineIsBalanceRequired(Boolean value){
        this.softDeclineIsBalanceRequired = value;
    }
 
    @XmlAttribute(name="hardDeclineCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("hardDeclineCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getHardDeclineCode(){
        return hardDeclineCode;
    }
 
    public void setHardDeclineCode(String value){
        this.hardDeclineCode = value;
    }
 
    @XmlAttribute(name="chargebackCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("chargebackCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getChargebackCode(){
        return chargebackCode;
    }
 
    public void setChargebackCode(String value){
        this.chargebackCode = value;
    }
 
    @XmlAttribute(name="statementCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("statementCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getStatementCode(){
        return statementCode;
    }
 
    public void setStatementCode(String value){
        this.statementCode = value;
    }
 
    @XmlAttribute(name="agentPaymentCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("agentPaymentCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getAgentPaymentCode(){
        return agentPaymentCode;
    }
 
    public void setAgentPaymentCode(String value){
        this.agentPaymentCode = value;
    }
 
    @XmlAttribute(name="draftPaymentCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("draftPaymentCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getDraftPaymentCode(){
        return draftPaymentCode;
    }
 
    public void setDraftPaymentCode(String value){
        this.draftPaymentCode = value;
    }
 
    @XmlAttribute(name="portalPaymentCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("portalPaymentCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getPortalPaymentCode(){
        return portalPaymentCode;
    }
 
    public void setPortalPaymentCode(String value){
        this.portalPaymentCode = value;
    }
 
    @XmlAttribute(name="voidCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("voidCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getVoidCode(){
        return voidCode;
    }
 
    public void setVoidCode(String value){
        this.voidCode = value;
    }
 
    @XmlAttribute(name="refundCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("refundCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getRefundCode(){
        return refundCode;
    }
 
    public void setRefundCode(String value){
        this.refundCode = value;
    }
 
    @XmlAttribute(name="invoiceCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("invoiceCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getInvoiceCode(){
        return invoiceCode;
    }
 
    public void setInvoiceCode(String value){
        this.invoiceCode = value;
    }
 
    @XmlAttribute(name="creditCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("creditCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getCreditCode(){
        return creditCode;
    }
 
    public void setCreditCode(String value){
        this.creditCode = value;
    }
 
    @XmlAttribute(name="cancelCreditCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("cancelCreditCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getCancelCreditCode(){
        return cancelCreditCode;
    }
 
    public void setCancelCreditCode(String value){
        this.cancelCreditCode = value;
    }
 
    @XmlAttribute(name="cancelRefundCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("cancelRefundCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getCancelRefundCode(){
        return cancelRefundCode;
    }
 
    public void setCancelRefundCode(String value){
        this.cancelRefundCode = value;
    }
 
    @XmlAttribute(name="invoiceNotificationCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("invoiceNotificationCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getInvoiceNotificationCode(){
        return invoiceNotificationCode;
    }
 
    public void setInvoiceNotificationCode(String value){
        this.invoiceNotificationCode = value;
    }
 
    @XmlAttribute(name="invoiceNotificationPeriod")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("invoiceNotificationPeriod")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getInvoiceNotificationPeriod(){
        return invoiceNotificationPeriod;
    }
 
    public void setInvoiceNotificationPeriod(Integer value){
        this.invoiceNotificationPeriod = value;
    }
 
    @XmlAttribute(name="invoiceNotificationIsEnabled")
    @FormParam("invoiceNotificationIsEnabled")
    @BooleanFormat
    public Boolean getInvoiceNotificationIsEnabled(){
        return invoiceNotificationIsEnabled;
    }
 
    public void setInvoiceNotificationIsEnabled(Boolean value){
        this.invoiceNotificationIsEnabled = value;
    }
 
    @XmlAttribute(name="lateFeeCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("lateFeeCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getLateFeeCode(){
        return lateFeeCode;
    }
 
    public void setLateFeeCode(String value){
        this.lateFeeCode = value;
    }
 
    @XmlAttribute(name="notification1Code")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("notification1Code")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getNotification1Code(){
        return notification1Code;
    }
 
    public void setNotification1Code(String value){
        this.notification1Code = value;
    }
 
    @XmlAttribute(name="notification2Code")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("notification2Code")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getNotification2Code(){
        return notification2Code;
    }
 
    public void setNotification2Code(String value){
        this.notification2Code = value;
    }
 
    @XmlAttribute(name="notification3Code")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("notification3Code")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getNotification3Code(){
        return notification3Code;
    }
 
    public void setNotification3Code(String value){
        this.notification3Code = value;
    }
 
    @XmlAttribute(name="notification1Age")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("notification1Age")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getNotification1Age(){
        return notification1Age;
    }
 
    public void setNotification1Age(Integer value){
        this.notification1Age = value;
    }
 
    @XmlAttribute(name="notification2Age")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("notification2Age")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getNotification2Age(){
        return notification2Age;
    }
 
    public void setNotification2Age(Integer value){
        this.notification2Age = value;
    }
 
    @XmlAttribute(name="notification3Age")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("notification3Age")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getNotification3Age(){
        return notification3Age;
    }
 
    public void setNotification3Age(Integer value){
        this.notification3Age = value;
    }
 
    @XmlAttribute(name="collections1Code")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("collections1Code")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getCollections1Code(){
        return collections1Code;
    }
 
    public void setCollections1Code(String value){
        this.collections1Code = value;
    }
 
    @XmlAttribute(name="collections2Code")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("collections2Code")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getCollections2Code(){
        return collections2Code;
    }
 
    public void setCollections2Code(String value){
        this.collections2Code = value;
    }
 
    @XmlAttribute(name="collections3Code")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("collections3Code")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getCollections3Code(){
        return collections3Code;
    }
 
    public void setCollections3Code(String value){
        this.collections3Code = value;
    }
 
    @XmlAttribute(name="collections4Code")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("collections4Code")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getCollections4Code(){
        return collections4Code;
    }
 
    public void setCollections4Code(String value){
        this.collections4Code = value;
    }
 
    @XmlAttribute(name="collections5Code")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("collections5Code")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getCollections5Code(){
        return collections5Code;
    }
 
    public void setCollections5Code(String value){
        this.collections5Code = value;
    }
 
    @XmlAttribute(name="collections1Age")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("collections1Age")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getCollections1Age(){
        return collections1Age;
    }
 
    public void setCollections1Age(Integer value){
        this.collections1Age = value;
    }
 
    @XmlAttribute(name="collections2Age")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("collections2Age")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getCollections2Age(){
        return collections2Age;
    }
 
    public void setCollections2Age(Integer value){
        this.collections2Age = value;
    }
 
    @XmlAttribute(name="collections3Age")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("collections3Age")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getCollections3Age(){
        return collections3Age;
    }
 
    public void setCollections3Age(Integer value){
        this.collections3Age = value;
    }
 
    @XmlAttribute(name="collections4Age")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("collections4Age")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getCollections4Age(){
        return collections4Age;
    }
 
    public void setCollections4Age(Integer value){
        this.collections4Age = value;
    }
 
    @XmlAttribute(name="collections5Age")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("collections5Age")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getCollections5Age(){
        return collections5Age;
    }
 
    public void setCollections5Age(Integer value){
        this.collections5Age = value;
    }
 
    @XmlAttribute(name="emailCodeAccountExpiration")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("emailCodeAccountExpiration")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getEmailCodeAccountExpiration(){
        return emailCodeAccountExpiration;
    }
 
    public void setEmailCodeAccountExpiration(String value){
        this.emailCodeAccountExpiration = value;
    }
 
    @XmlAttribute(name="emailCodeAccountExpirationPeriod")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("emailCodeAccountExpirationPeriod")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getEmailCodeAccountExpirationPeriod(){
        return emailCodeAccountExpirationPeriod;
    }
 
    public void setEmailCodeAccountExpirationPeriod(Integer value){
        this.emailCodeAccountExpirationPeriod = value;
    }
 
 
    public void audit(AuditHelper helper, ServerObject object) {
        unicore.model.Merchant s_object = (unicore.model.Merchant) object;
        helper.audit("welcomeCode", welcomeCode, s_object.getEmailCodeWelcome());
        helper.audit("softDeclineCode", softDeclineCode, s_object.getEmailCodeSoftDecline());
        helper.audit("softDeclineWaitPeriod", softDeclineWaitPeriod, s_object.getSoftDeclineWaitPeriodEmail());
        helper.audit("softDeclineIsBalanceRequired", softDeclineIsBalanceRequired, s_object.getIsRequiredBalanceSoftDeclineEmail());
        helper.audit("hardDeclineCode", hardDeclineCode, s_object.getEmailCodeHardDecline());
        helper.audit("chargebackCode", chargebackCode, s_object.getEmailCodeChargeback());
        helper.audit("statementCode", statementCode, s_object.getEmailCodeStatement());
        helper.audit("agentPaymentCode", agentPaymentCode, s_object.getEmailCodeAgentPayment());
        helper.audit("draftPaymentCode", draftPaymentCode, s_object.getEmailCodeDraftPayment());
        helper.audit("portalPaymentCode", portalPaymentCode, s_object.getEmailCodePortalPayment());
        helper.audit("voidCode", voidCode, s_object.getEmailCodeVoid());
        helper.audit("refundCode", refundCode, s_object.getEmailCodeRefund());
        helper.audit("invoiceCode", invoiceCode, s_object.getEmailCodeInvoice());
        helper.audit("creditCode", creditCode, s_object.getEmailCodeCredit());
        helper.audit("cancelCreditCode", cancelCreditCode, s_object.getEmailCodeCancelCredit());
        helper.audit("cancelRefundCode", cancelRefundCode, s_object.getEmailCodeCancelRefund());
        helper.audit("invoiceNotificationCode", invoiceNotificationCode, s_object.getEmailCodeInvoiceNotification());
        helper.audit("invoiceNotificationPeriod", invoiceNotificationPeriod, s_object.getEmailInvoiceNotificationPeriod());
        helper.audit("invoiceNotificationIsEnabled", invoiceNotificationIsEnabled, s_object.getIsEmailInvoiceNotificationInvoiceOnly());
        helper.audit("lateFeeCode", lateFeeCode, s_object.getEmailCodeLateFee());
        helper.audit("notification1Code", notification1Code, s_object.getNotificationEmailCode1());
        helper.audit("notification2Code", notification2Code, s_object.getNotificationEmailCode2());
        helper.audit("notification3Code", notification3Code, s_object.getNotificationEmailCode3());
        helper.audit("notification1Age", notification1Age, s_object.getNotificationEmailAge1());
        helper.audit("notification2Age", notification2Age, s_object.getNotificationEmailAge2());
        helper.audit("notification3Age", notification3Age, s_object.getNotificationEmailAge3());
        helper.audit("collections1Code", collections1Code, s_object.getCollectionsEmailCode1());
        helper.audit("collections2Code", collections2Code, s_object.getCollectionsEmailCode2());
        helper.audit("collections3Code", collections3Code, s_object.getCollectionsEmailCode3());
        helper.audit("collections4Code", collections4Code, s_object.getCollectionsEmailCode4());
        helper.audit("collections5Code", collections5Code, s_object.getCollectionsEmailCode5());
        helper.audit("collections1Age", collections1Age, s_object.getCollectionsEmailAge1());
        helper.audit("collections2Age", collections2Age, s_object.getCollectionsEmailAge2());
        helper.audit("collections3Age", collections3Age, s_object.getCollectionsEmailAge3());
        helper.audit("collections4Age", collections4Age, s_object.getCollectionsEmailAge4());
        helper.audit("collections5Age", collections5Age, s_object.getCollectionsEmailAge5());
        helper.audit("emailCodeAccountExpiration", emailCodeAccountExpiration, s_object.getEmailCodeAccountExpiration());
        helper.audit("emailCodeAccountExpirationPeriod", emailCodeAccountExpirationPeriod, s_object.getEmailCodeAccountExpirationPeriod());
 
    }
 
    public static String objectTypeCode(){
        return "emails";
    }
 
}