package api.unicore.component;
 
import static api.util.ComponentConstants.BOOLEAN_NULL;
import static api.util.ComponentConstants.BOOLEAN_NULL_CODE;
import static api.util.ComponentConstants.DATE_NULL;
import static api.util.ComponentConstants.DATE_NULL_CODE;
import static api.util.ComponentConstants.INTEGER_NULL;
import static api.util.ComponentConstants.INTEGER_NULL_CODE;
import static api.util.ComponentConstants.LONG_NULL;
import static api.util.ComponentConstants.LONG_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.Terminal;
import api.util.BooleanFormat;
import api.util.DateFormat;
import api.util.IntegerFormat;
import api.util.LongFormat;
import api.util.StringFormat;
import com.fortify.annotations.FortifyNotPassword;
import java.util.Date;
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;
import unicore.model.AuditActionClassifier;
import unicore.model.AuditLog;
import unicore.model.AuditLogDetail;
import unicore.model.ObjectClassifier;
import unipay.audit.AuditLogHandler;
import unipay.audit.Auditable;
 
/**
 * @author CodeGen [Aleksey Babanin]
 * @company UnitedThinkers
 * @since 2020/02/18
 */
 
@JsonSerialize(include=NON_NULL)
@XmlType(propOrder={"merchantAccountCode", "createDate", "code", "refCode", "terminalModelCode", "ipAddress", "processorTerminalId", "processorCustomField1", "processorCustomField2", "statusCl", "terminalCl", "activationDate", "activationCode", "lastCredentialsGenerationDate", "lastCredentialsChangeDate", "password", "newPassword", "lastUpdateDate", "newMerchantAccountCode", "newTerminalCode", "terminalLevelCl", "lastTransactionDate", "keyRotationRequestDateP2pe", "isProviderConfigurationRequired", "lastActivityDate", "lastActivityName", "isProcessorActivated", "updateModeCl"})
@JsonPropertyOrder({"merchantAccountCode", "createDate", "code", "refCode", "terminalModelCode", "ipAddress", "processorTerminalId", "processorCustomField1", "processorCustomField2", "statusCl", "terminalCl", "activationDate", "activationCode", "lastCredentialsGenerationDate", "lastCredentialsChangeDate", "password", "newPassword", "lastUpdateDate", "newMerchantAccountCode", "newTerminalCode", "terminalLevelCl", "lastTransactionDate", "keyRotationRequestDateP2pe", "isProviderConfigurationRequired", "lastActivityDate", "lastActivityName", "isProcessorActivated", "updateModeCl"})
@XmlAccessorType(XmlAccessType.NONE)
@XmlSeeAlso(Terminal.class)
public abstract class AbstractTerminal extends UnoComponent<unicharge.model.Terminal> implements Auditable<AuditLog, AuditLogDetail, AuditActionClassifier, ObjectClassifier> {
 
    @FormParam("merchantAccountCode")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer merchantAccountCode;
 
    @FormParam("createDate")
    @DateFormat
    @DefaultValue(DATE_NULL_CODE)
    protected Date createDate;
 
    @FormParam("code")
    @LongFormat
    @DefaultValue(LONG_NULL_CODE)
    protected Long code;
 
    @FormParam("refCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String refCode;
 
    @FormParam("terminalModelCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String terminalModelCode;
 
    @FormParam("ipAddress")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String ipAddress;
 
    @FormParam("processorTerminalId")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String processorTerminalId;
 
    @FormParam("processorCustomField1")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String processorCustomField1;
 
    @FormParam("processorCustomField2")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String processorCustomField2;
 
    @FormParam("statusCl")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String statusCl;
 
    @FormParam("terminalCl")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String terminalCl;
 
    @FormParam("activationDate")
    @DateFormat
    @DefaultValue(DATE_NULL_CODE)
    protected Date activationDate;
 
    @FormParam("activationCode")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String activationCode;
 
    @FormParam("lastCredentialsGenerationDate")
    @DateFormat
    @DefaultValue(DATE_NULL_CODE)
    protected Date lastCredentialsGenerationDate;
 
    @FormParam("lastCredentialsChangeDate")
    @DateFormat
    @DefaultValue(DATE_NULL_CODE)
    protected Date lastCredentialsChangeDate;
 
    @FormParam("password")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    @FortifyNotPassword
    protected String password;
 
    @FormParam("newPassword")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    @FortifyNotPassword
    protected String newPassword;
 
    @FormParam("lastUpdateDate")
    @DateFormat
    @DefaultValue(DATE_NULL_CODE)
    protected Date lastUpdateDate;
 
    @FormParam("newMerchantAccountCode")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer newMerchantAccountCode;
 
    @FormParam("newTerminalCode")
    @LongFormat
    @DefaultValue(LONG_NULL_CODE)
    protected Long newTerminalCode;
 
    @FormParam("terminalLevelCl")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String terminalLevelCl;
 
    @FormParam("lastTransactionDate")
    @DateFormat
    @DefaultValue(DATE_NULL_CODE)
    protected Date lastTransactionDate;
 
    @FormParam("keyRotationRequestDateP2pe")
    @DateFormat
    @DefaultValue(DATE_NULL_CODE)
    protected Date keyRotationRequestDateP2pe;
 
    @FormParam("isProviderConfigurationRequired")
    @BooleanFormat
    @DefaultValue(BOOLEAN_NULL_CODE)
    protected Boolean isProviderConfigurationRequired;
 
    @FormParam("lastActivityDate")
    @DateFormat
    @DefaultValue(DATE_NULL_CODE)
    protected Date lastActivityDate;
 
    @FormParam("lastActivityName")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String lastActivityName;
 
    @FormParam("isProcessorActivated")
    @BooleanFormat
    @DefaultValue(BOOLEAN_NULL_CODE)
    protected Boolean isProcessorActivated;
 
    @FormParam("updateModeCl")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String updateModeCl;
 
 
    public AbstractTerminal(){
        super();
        applyDefaults();
    }
 
    public AbstractTerminal(unicharge.model.Terminal object){
        super(object);
    }
 
 
    private void applyDefaults() {
        if (!isProxyObject()) {
            merchantAccountCode = INTEGER_NULL;
            createDate = DATE_NULL;
            code = LONG_NULL;
            refCode = STRING_NULL;
            terminalModelCode = STRING_NULL;
            ipAddress = STRING_NULL;
            processorTerminalId = STRING_NULL;
            processorCustomField1 = STRING_NULL;
            processorCustomField2 = STRING_NULL;
            statusCl = STRING_NULL;
            terminalCl = STRING_NULL;
            activationDate = DATE_NULL;
            activationCode = STRING_NULL;
            lastCredentialsGenerationDate = DATE_NULL;
            lastCredentialsChangeDate = DATE_NULL;
            password = STRING_NULL;
            newPassword = STRING_NULL;
            lastUpdateDate = DATE_NULL;
            newMerchantAccountCode = INTEGER_NULL;
            newTerminalCode = LONG_NULL;
            terminalLevelCl = STRING_NULL;
            lastTransactionDate = DATE_NULL;
            keyRotationRequestDateP2pe = DATE_NULL;
            isProviderConfigurationRequired = BOOLEAN_NULL;
            lastActivityDate = DATE_NULL;
            lastActivityName = STRING_NULL;
            isProcessorActivated = BOOLEAN_NULL;
            updateModeCl = STRING_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("terminal: {");
        sb.append("merchantAccountCode: ");
        sb.append(merchantAccountCode);
        sb.append(',').append(' ');
        sb.append("createDate: ");
        sb.append(createDate);
        sb.append(',').append(' ');
        sb.append("code: ");
        sb.append(code);
        sb.append(',').append(' ');
        sb.append("refCode: ");
        sb.append(refCode);
        sb.append(',').append(' ');
        sb.append("terminalModelCode: ");
        sb.append(terminalModelCode);
        sb.append(',').append(' ');
        sb.append("ipAddress: ");
        sb.append(ipAddress);
        sb.append(',').append(' ');
        sb.append("processorTerminalId: ");
        sb.append(processorTerminalId);
        sb.append(',').append(' ');
        sb.append("processorCustomField1: ");
        sb.append(processorCustomField1);
        sb.append(',').append(' ');
        sb.append("processorCustomField2: ");
        sb.append(processorCustomField2);
        sb.append(',').append(' ');
        sb.append("statusCl: ");
        sb.append(statusCl);
        sb.append(',').append(' ');
        sb.append("terminalCl: ");
        sb.append(terminalCl);
        sb.append(',').append(' ');
        sb.append("activationDate: ");
        sb.append(activationDate);
        sb.append(',').append(' ');
        sb.append("activationCode: ");
        sb.append(activationCode);
        sb.append(',').append(' ');
        sb.append("lastCredentialsGenerationDate: ");
        sb.append(lastCredentialsGenerationDate);
        sb.append(',').append(' ');
        sb.append("lastCredentialsChangeDate: ");
        sb.append(lastCredentialsChangeDate);
        sb.append(',').append(' ');
        sb.append("password: ");
        sb.append(password);
        sb.append(',').append(' ');
        sb.append("newPassword: ");
        sb.append(newPassword);
        sb.append(',').append(' ');
        sb.append("lastUpdateDate: ");
        sb.append(lastUpdateDate);
        sb.append(',').append(' ');
        sb.append("newMerchantAccountCode: ");
        sb.append(newMerchantAccountCode);
        sb.append(',').append(' ');
        sb.append("newTerminalCode: ");
        sb.append(newTerminalCode);
        sb.append(',').append(' ');
        sb.append("terminalLevelCl: ");
        sb.append(terminalLevelCl);
        sb.append(',').append(' ');
        sb.append("lastTransactionDate: ");
        sb.append(lastTransactionDate);
        sb.append(',').append(' ');
        sb.append("keyRotationRequestDateP2pe: ");
        sb.append(keyRotationRequestDateP2pe);
        sb.append(',').append(' ');
        sb.append("isProviderConfigurationRequired: ");
        sb.append(isProviderConfigurationRequired);
        sb.append(',').append(' ');
        sb.append("lastActivityDate: ");
        sb.append(lastActivityDate);
        sb.append(',').append(' ');
        sb.append("lastActivityName: ");
        sb.append(lastActivityName);
        sb.append(',').append(' ');
        sb.append("isProcessorActivated: ");
        sb.append(isProcessorActivated);
        sb.append(',').append(' ');
        sb.append("updateModeCl: ");
        sb.append(updateModeCl);
        sb.append('}');
        return sb.toString();
    }
 
 
    @XmlAttribute(name="merchantAccountCode")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("merchantAccountCode")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMerchantAccountCode(){
        return merchantAccountCode;
    }
 
    public void setMerchantAccountCode(Integer value){
        this.merchantAccountCode = value;
    }
 
    @XmlAttribute(name="createDate")
    @FormParam("createDate")
    @DateFormat
    @JsonDeserialize(using=api.util.DateDeserializer.class)
    public Date getCreateDate(){
        return createDate;
    }
 
    public void setCreateDate(Date value){
        this.createDate = value;
    }
 
    @XmlAttribute(name="code")
    @XmlJavaTypeAdapter(value=api.util.LongAdapter.class, type=Long.class)
    @FormParam("code")
    @LongFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Long getCode(){
        return code;
    }
 
    public void setCode(Long value){
        this.code = value;
    }
 
    @XmlAttribute(name="refCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("refCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getRefCode(){
        return refCode;
    }
 
    public void setRefCode(String value){
        this.refCode = value;
    }
 
    @XmlAttribute(name="terminalModelCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("terminalModelCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getTerminalModelCode(){
        return terminalModelCode;
    }
 
    public void setTerminalModelCode(String value){
        this.terminalModelCode = value;
    }
 
    @XmlAttribute(name="ipAddress")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("ipAddress")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getIpAddress(){
        return ipAddress;
    }
 
    public void setIpAddress(String value){
        this.ipAddress = value;
    }
 
    @XmlAttribute(name="processorTerminalId")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("processorTerminalId")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getProcessorTerminalId(){
        return processorTerminalId;
    }
 
    public void setProcessorTerminalId(String value){
        this.processorTerminalId = value;
    }
 
    @XmlAttribute(name="processorCustomField1")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("processorCustomField1")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getProcessorCustomField1(){
        return processorCustomField1;
    }
 
    public void setProcessorCustomField1(String value){
        this.processorCustomField1 = value;
    }
 
    @XmlAttribute(name="processorCustomField2")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("processorCustomField2")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getProcessorCustomField2(){
        return processorCustomField2;
    }
 
    public void setProcessorCustomField2(String value){
        this.processorCustomField2 = value;
    }
 
    @XmlAttribute(name="statusCl")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("statusCl")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getStatusCl(){
        return statusCl;
    }
 
    public void setStatusCl(String value){
        this.statusCl = value;
    }
 
    @XmlAttribute(name="terminalCl")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("terminalCl")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getTerminalCl(){
        return terminalCl;
    }
 
    public void setTerminalCl(String value){
        this.terminalCl = value;
    }
 
    @XmlAttribute(name="activationDate")
    @FormParam("activationDate")
    @DateFormat
    @JsonDeserialize(using=api.util.DateDeserializer.class)
    public Date getActivationDate(){
        return activationDate;
    }
 
    public void setActivationDate(Date value){
        this.activationDate = value;
    }
 
    @XmlAttribute(name="activationCode")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("activationCode")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getActivationCode(){
        return activationCode;
    }
 
    public void setActivationCode(String value){
        this.activationCode = value;
    }
 
    @XmlAttribute(name="lastCredentialsGenerationDate")
    @FormParam("lastCredentialsGenerationDate")
    @DateFormat
    @JsonDeserialize(using=api.util.DateDeserializer.class)
    public Date getLastCredentialsGenerationDate(){
        return lastCredentialsGenerationDate;
    }
 
    public void setLastCredentialsGenerationDate(Date value){
        this.lastCredentialsGenerationDate = value;
    }
 
    @XmlAttribute(name="lastCredentialsChangeDate")
    @FormParam("lastCredentialsChangeDate")
    @DateFormat
    @JsonDeserialize(using=api.util.DateDeserializer.class)
    public Date getLastCredentialsChangeDate(){
        return lastCredentialsChangeDate;
    }
 
    public void setLastCredentialsChangeDate(Date value){
        this.lastCredentialsChangeDate = value;
    }
 
    @XmlAttribute(name="password")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("password")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getPassword(){
        return password;
    }
 
    public void setPassword(String value){
        this.password = value;
    }
 
    @XmlAttribute(name="newPassword")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("newPassword")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getNewPassword(){
        return newPassword;
    }
 
    public void setNewPassword(String value){
        this.newPassword = value;
    }
 
    @XmlAttribute(name="lastUpdateDate")
    @FormParam("lastUpdateDate")
    @DateFormat
    @JsonDeserialize(using=api.util.DateDeserializer.class)
    public Date getLastUpdateDate(){
        return lastUpdateDate;
    }
 
    public void setLastUpdateDate(Date value){
        this.lastUpdateDate = value;
    }
 
    @XmlAttribute(name="newMerchantAccountCode")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("newMerchantAccountCode")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getNewMerchantAccountCode(){
        return newMerchantAccountCode;
    }
 
    public void setNewMerchantAccountCode(Integer value){
        this.newMerchantAccountCode = value;
    }
 
    @XmlAttribute(name="newTerminalCode")
    @XmlJavaTypeAdapter(value=api.util.LongAdapter.class, type=Long.class)
    @FormParam("newTerminalCode")
    @LongFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Long getNewTerminalCode(){
        return newTerminalCode;
    }
 
    public void setNewTerminalCode(Long value){
        this.newTerminalCode = value;
    }
 
    @XmlAttribute(name="terminalLevelCl")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("terminalLevelCl")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getTerminalLevelCl(){
        return terminalLevelCl;
    }
 
    public void setTerminalLevelCl(String value){
        this.terminalLevelCl = value;
    }
 
    @XmlAttribute(name="lastTransactionDate")
    @FormParam("lastTransactionDate")
    @DateFormat
    @JsonDeserialize(using=api.util.DateDeserializer.class)
    public Date getLastTransactionDate(){
        return lastTransactionDate;
    }
 
    public void setLastTransactionDate(Date value){
        this.lastTransactionDate = value;
    }
 
    @XmlAttribute(name="keyRotationRequestDateP2pe")
    @FormParam("keyRotationRequestDateP2pe")
    @DateFormat
    @JsonDeserialize(using=api.util.DateDeserializer.class)
    public Date getKeyRotationRequestDateP2pe(){
        return keyRotationRequestDateP2pe;
    }
 
    public void setKeyRotationRequestDateP2pe(Date value){
        this.keyRotationRequestDateP2pe = value;
    }
 
    @XmlAttribute(name="isProviderConfigurationRequired")
    @FormParam("isProviderConfigurationRequired")
    @BooleanFormat
    public Boolean getIsProviderConfigurationRequired(){
        return isProviderConfigurationRequired;
    }
 
    public void setIsProviderConfigurationRequired(Boolean value){
        this.isProviderConfigurationRequired = value;
    }
 
    @XmlAttribute(name="lastActivityDate")
    @FormParam("lastActivityDate")
    @DateFormat
    @JsonDeserialize(using=api.util.DateDeserializer.class)
    public Date getLastActivityDate(){
        return lastActivityDate;
    }
 
    public void setLastActivityDate(Date value){
        this.lastActivityDate = value;
    }
 
    @XmlAttribute(name="lastActivityName")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("lastActivityName")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getLastActivityName(){
        return lastActivityName;
    }
 
    public void setLastActivityName(String value){
        this.lastActivityName = value;
    }
 
    @XmlAttribute(name="isProcessorActivated")
    @FormParam("isProcessorActivated")
    @BooleanFormat
    public Boolean getIsProcessorActivated(){
        return isProcessorActivated;
    }
 
    public void setIsProcessorActivated(Boolean value){
        this.isProcessorActivated = value;
    }
 
    @XmlAttribute(name="updateModeCl")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("updateModeCl")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getUpdateModeCl(){
        return updateModeCl;
    }
 
    public void setUpdateModeCl(String value){
        this.updateModeCl = value;
    }
 
    public abstract Long getId();
 
    @Override
    public void audit(AuditLogHandler<AuditLog, AuditLogDetail, AuditActionClassifier, ObjectClassifier> handler) {
        Terminal old = (Terminal) getOriginalObject();
        handler.audit("merchantAccountCode", merchantAccountCode, old.getMerchantAccountCode());
        handler.audit("createDate", createDate, old.getCreateDate());
        handler.audit("code", code, old.getCode());
        handler.audit("refCode", refCode, old.getRefCode());
        handler.audit("terminalModelCode", terminalModelCode, old.getTerminalModelCode());
        handler.audit("ipAddress", ipAddress, old.getIpAddress());
        handler.audit("processorTerminalId", processorTerminalId, old.getProcessorTerminalId());
        handler.audit("processorCustomField1", processorCustomField1, old.getProcessorCustomField1());
        handler.audit("processorCustomField2", processorCustomField2, old.getProcessorCustomField2());
        handler.audit("statusCl", statusCl, old.getStatusCl());
        handler.audit("terminalCl", terminalCl, old.getTerminalCl());
        handler.audit("activationDate", activationDate, old.getActivationDate());
        handler.audit("activationCode", activationCode, old.getActivationCode());
        handler.audit("lastCredentialsGenerationDate", lastCredentialsGenerationDate, old.getLastCredentialsGenerationDate());
        handler.audit("lastCredentialsChangeDate", lastCredentialsChangeDate, old.getLastCredentialsChangeDate());
        handler.audit("password", password, old.getPassword());
        handler.audit("newPassword", newPassword, old.getNewPassword());
        handler.audit("lastUpdateDate", lastUpdateDate, old.getLastUpdateDate());
        handler.audit("newMerchantAccountCode", newMerchantAccountCode, old.getNewMerchantAccountCode());
        handler.audit("newTerminalCode", newTerminalCode, old.getNewTerminalCode());
        handler.audit("terminalLevelCl", terminalLevelCl, old.getTerminalLevelCl());
        handler.audit("lastTransactionDate", lastTransactionDate, old.getLastTransactionDate());
        handler.audit("keyRotationRequestDateP2pe", keyRotationRequestDateP2pe, old.getKeyRotationRequestDateP2pe());
        handler.audit("isProviderConfigurationRequired", isProviderConfigurationRequired, old.getIsProviderConfigurationRequired());
        handler.audit("lastActivityDate", lastActivityDate, old.getLastActivityDate());
        handler.audit("lastActivityName", lastActivityName, old.getLastActivityName());
        handler.audit("isProcessorActivated", isProcessorActivated, old.getIsProcessorActivated());
        handler.audit("updateModeCl", updateModeCl, old.getUpdateModeCl());
 
    }
 
 
}