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());
}
}