package api.unicore.component;
 
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.MerchantLimits;
import api.util.BooleanFormat;
import api.util.IntegerFormat;
import api.util.LongFormat;
import api.util.StringFormat;
import iapp.services.ServerObject;
import iapp.util.audit.AuditHelper;
import javax.validation.constraints.NotNull;
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 [Vyacheslav Dementiev]
 * @company UnitedThinkers
 * @since 2014/04/24
 */
 
@JsonSerialize(include=NON_NULL)
@XmlType(propOrder={"merchantAccountProfileCode", "periodType", "maxTransactionAmount", "maxTransactionVolume", "maxTransactionCount", "maxAvgDeviationProcessingFrequency", "maxAvgDeviationTransactionAmount", "maxAvgDeviationTransactionVolume", "maxAvgDeviationTransactionCount", "maxEvenAmountTransactionCount", "maxLowTicketTransactionCount", "maxDuplicateAmountTransactionCount", "maxDuplicateCardTransactionCount", "maxDuplicateTransactionCount", "maxCreditsCount", "maxRefundsCount", "maxAccountVerificationsCount", "maxDeclinesRate", "maxReturnsRate", "maxChargebacksRate", "maxSwipedTransactionsRate", "maxKeyedTransactionsRate", "maxNonPresentTransactionsRate", "maxOffHoursTransactionCount", "maxInactiveDaysCount", "isActive"})
@JsonPropertyOrder({"merchantAccountProfileCode", "periodType", "maxTransactionAmount", "maxTransactionVolume", "maxTransactionCount", "maxAvgDeviationProcessingFrequency", "maxAvgDeviationTransactionAmount", "maxAvgDeviationTransactionVolume", "maxAvgDeviationTransactionCount", "maxEvenAmountTransactionCount", "maxLowTicketTransactionCount", "maxDuplicateAmountTransactionCount", "maxDuplicateCardTransactionCount", "maxDuplicateTransactionCount", "maxCreditsCount", "maxRefundsCount", "maxAccountVerificationsCount", "maxDeclinesRate", "maxReturnsRate", "maxChargebacksRate", "maxSwipedTransactionsRate", "maxKeyedTransactionsRate", "maxNonPresentTransactionsRate", "maxOffHoursTransactionCount", "maxInactiveDaysCount", "isActive"})
@XmlAccessorType(XmlAccessType.NONE)
@XmlSeeAlso(MerchantLimits.class)
public abstract class AbstractMerchantLimits extends UnoComponent<unicore.model.ProcessingLimit> {
 
    @FormParam("merchantAccountProfileCode")
    @LongFormat
    @DefaultValue(LONG_NULL_CODE)
    protected Long merchantAccountProfileCode;
 
    @FormParam("periodType")
    @StringFormat
    @DefaultValue(STRING_NULL_CODE)
    protected String periodType;
 
    @FormParam("maxTransactionAmount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxTransactionAmount;
 
    @FormParam("maxTransactionVolume")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxTransactionVolume;
 
    @FormParam("maxTransactionCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxTransactionCount;
 
    @FormParam("maxAvgDeviationProcessingFrequency")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxAvgDeviationProcessingFrequency;
 
    @FormParam("maxAvgDeviationTransactionAmount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxAvgDeviationTransactionAmount;
 
    @FormParam("maxAvgDeviationTransactionVolume")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxAvgDeviationTransactionVolume;
 
    @FormParam("maxAvgDeviationTransactionCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxAvgDeviationTransactionCount;
 
    @FormParam("maxEvenAmountTransactionCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxEvenAmountTransactionCount;
 
    @FormParam("maxLowTicketTransactionCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxLowTicketTransactionCount;
 
    @FormParam("maxDuplicateAmountTransactionCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxDuplicateAmountTransactionCount;
 
    @FormParam("maxDuplicateCardTransactionCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxDuplicateCardTransactionCount;
 
    @FormParam("maxDuplicateTransactionCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxDuplicateTransactionCount;
 
    @FormParam("maxCreditsCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxCreditsCount;
 
    @FormParam("maxRefundsCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxRefundsCount;
 
    @FormParam("maxAccountVerificationsCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxAccountVerificationsCount;
 
    @FormParam("maxDeclinesRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxDeclinesRate;
 
    @FormParam("maxReturnsRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxReturnsRate;
 
    @FormParam("maxChargebacksRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxChargebacksRate;
 
    @FormParam("maxSwipedTransactionsRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxSwipedTransactionsRate;
 
    @FormParam("maxKeyedTransactionsRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxKeyedTransactionsRate;
 
    @FormParam("maxNonPresentTransactionsRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxNonPresentTransactionsRate;
 
    @FormParam("maxOffHoursTransactionCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxOffHoursTransactionCount;
 
    @FormParam("maxInactiveDaysCount")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer maxInactiveDaysCount;
 
    @FormParam("isActive")
    @BooleanFormat
    protected Boolean isActive;
 
 
    public AbstractMerchantLimits(){
        super();
        applyDefaults();
    }
 
    public AbstractMerchantLimits(unicore.model.ProcessingLimit object){
        super(object);
    }
 
 
    private void applyDefaults() {
        if (!isProxyObject()) {
            merchantAccountProfileCode = LONG_NULL;
            periodType = STRING_NULL;
            maxTransactionAmount = INTEGER_NULL;
            maxTransactionVolume = INTEGER_NULL;
            maxTransactionCount = INTEGER_NULL;
            maxAvgDeviationProcessingFrequency = INTEGER_NULL;
            maxAvgDeviationTransactionAmount = INTEGER_NULL;
            maxAvgDeviationTransactionVolume = INTEGER_NULL;
            maxAvgDeviationTransactionCount = INTEGER_NULL;
            maxEvenAmountTransactionCount = INTEGER_NULL;
            maxLowTicketTransactionCount = INTEGER_NULL;
            maxDuplicateAmountTransactionCount = INTEGER_NULL;
            maxDuplicateCardTransactionCount = INTEGER_NULL;
            maxDuplicateTransactionCount = INTEGER_NULL;
            maxCreditsCount = INTEGER_NULL;
            maxRefundsCount = INTEGER_NULL;
            maxAccountVerificationsCount = INTEGER_NULL;
            maxDeclinesRate = INTEGER_NULL;
            maxReturnsRate = INTEGER_NULL;
            maxChargebacksRate = INTEGER_NULL;
            maxSwipedTransactionsRate = INTEGER_NULL;
            maxKeyedTransactionsRate = INTEGER_NULL;
            maxNonPresentTransactionsRate = INTEGER_NULL;
            maxOffHoursTransactionCount = INTEGER_NULL;
            maxInactiveDaysCount = INTEGER_NULL;
        }
        isActive = Boolean.TRUE;
    }
 
    @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("limits: {");
        sb.append("merchantAccountProfileCode: ");
        sb.append(merchantAccountProfileCode);
        sb.append(',').append(' ');
        sb.append("periodType: ");
        sb.append(periodType);
        sb.append(',').append(' ');
        sb.append("maxTransactionAmount: ");
        sb.append(maxTransactionAmount);
        sb.append(',').append(' ');
        sb.append("maxTransactionVolume: ");
        sb.append(maxTransactionVolume);
        sb.append(',').append(' ');
        sb.append("maxTransactionCount: ");
        sb.append(maxTransactionCount);
        sb.append(',').append(' ');
        sb.append("maxAvgDeviationProcessingFrequency: ");
        sb.append(maxAvgDeviationProcessingFrequency);
        sb.append(',').append(' ');
        sb.append("maxAvgDeviationTransactionAmount: ");
        sb.append(maxAvgDeviationTransactionAmount);
        sb.append(',').append(' ');
        sb.append("maxAvgDeviationTransactionVolume: ");
        sb.append(maxAvgDeviationTransactionVolume);
        sb.append(',').append(' ');
        sb.append("maxAvgDeviationTransactionCount: ");
        sb.append(maxAvgDeviationTransactionCount);
        sb.append(',').append(' ');
        sb.append("maxEvenAmountTransactionCount: ");
        sb.append(maxEvenAmountTransactionCount);
        sb.append(',').append(' ');
        sb.append("maxLowTicketTransactionCount: ");
        sb.append(maxLowTicketTransactionCount);
        sb.append(',').append(' ');
        sb.append("maxDuplicateAmountTransactionCount: ");
        sb.append(maxDuplicateAmountTransactionCount);
        sb.append(',').append(' ');
        sb.append("maxDuplicateCardTransactionCount: ");
        sb.append(maxDuplicateCardTransactionCount);
        sb.append(',').append(' ');
        sb.append("maxDuplicateTransactionCount: ");
        sb.append(maxDuplicateTransactionCount);
        sb.append(',').append(' ');
        sb.append("maxCreditsCount: ");
        sb.append(maxCreditsCount);
        sb.append(',').append(' ');
        sb.append("maxRefundsCount: ");
        sb.append(maxRefundsCount);
        sb.append(',').append(' ');
        sb.append("maxAccountVerificationsCount: ");
        sb.append(maxAccountVerificationsCount);
        sb.append(',').append(' ');
        sb.append("maxDeclinesRate: ");
        sb.append(maxDeclinesRate);
        sb.append(',').append(' ');
        sb.append("maxReturnsRate: ");
        sb.append(maxReturnsRate);
        sb.append(',').append(' ');
        sb.append("maxChargebacksRate: ");
        sb.append(maxChargebacksRate);
        sb.append(',').append(' ');
        sb.append("maxSwipedTransactionsRate: ");
        sb.append(maxSwipedTransactionsRate);
        sb.append(',').append(' ');
        sb.append("maxKeyedTransactionsRate: ");
        sb.append(maxKeyedTransactionsRate);
        sb.append(',').append(' ');
        sb.append("maxNonPresentTransactionsRate: ");
        sb.append(maxNonPresentTransactionsRate);
        sb.append(',').append(' ');
        sb.append("maxOffHoursTransactionCount: ");
        sb.append(maxOffHoursTransactionCount);
        sb.append(',').append(' ');
        sb.append("maxInactiveDaysCount: ");
        sb.append(maxInactiveDaysCount);
        sb.append(',').append(' ');
        sb.append("isActive: ");
        sb.append(isActive);
        sb.append('}');
        return sb.toString();
    }
 
 
    @XmlAttribute(name="merchantAccountProfileCode")
    @XmlJavaTypeAdapter(value=api.util.LongAdapter.class, type=Long.class)
    @FormParam("merchantAccountProfileCode")
    @LongFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Long getMerchantAccountProfileCode(){
        return merchantAccountProfileCode;
    }
 
    public void setMerchantAccountProfileCode(Long value){
        this.merchantAccountProfileCode = value;
    }
 
    @XmlAttribute(name="periodType")
    @XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
    @FormParam("periodType")
    @StringFormat
    @JsonDeserialize(using = api.util.StringDeserializer.class)
    public String getPeriodType(){
        return periodType;
    }
 
    public void setPeriodType(String value){
        this.periodType = value;
    }
 
    @XmlAttribute(name="maxTransactionAmount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxTransactionAmount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxTransactionAmount(){
        return maxTransactionAmount;
    }
 
    public void setMaxTransactionAmount(Integer value){
        this.maxTransactionAmount = value;
    }
 
    @XmlAttribute(name="maxTransactionVolume")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxTransactionVolume")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxTransactionVolume(){
        return maxTransactionVolume;
    }
 
    public void setMaxTransactionVolume(Integer value){
        this.maxTransactionVolume = value;
    }
 
    @XmlAttribute(name="maxTransactionCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxTransactionCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxTransactionCount(){
        return maxTransactionCount;
    }
 
    public void setMaxTransactionCount(Integer value){
        this.maxTransactionCount = value;
    }
 
    @XmlAttribute(name="maxAvgDeviationProcessingFrequency")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxAvgDeviationProcessingFrequency")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxAvgDeviationProcessingFrequency(){
        return maxAvgDeviationProcessingFrequency;
    }
 
    public void setMaxAvgDeviationProcessingFrequency(Integer value){
        this.maxAvgDeviationProcessingFrequency = value;
    }
 
    @XmlAttribute(name="maxAvgDeviationTransactionAmount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxAvgDeviationTransactionAmount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxAvgDeviationTransactionAmount(){
        return maxAvgDeviationTransactionAmount;
    }
 
    public void setMaxAvgDeviationTransactionAmount(Integer value){
        this.maxAvgDeviationTransactionAmount = value;
    }
 
    @XmlAttribute(name="maxAvgDeviationTransactionVolume")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxAvgDeviationTransactionVolume")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxAvgDeviationTransactionVolume(){
        return maxAvgDeviationTransactionVolume;
    }
 
    public void setMaxAvgDeviationTransactionVolume(Integer value){
        this.maxAvgDeviationTransactionVolume = value;
    }
 
    @XmlAttribute(name="maxAvgDeviationTransactionCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxAvgDeviationTransactionCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxAvgDeviationTransactionCount(){
        return maxAvgDeviationTransactionCount;
    }
 
    public void setMaxAvgDeviationTransactionCount(Integer value){
        this.maxAvgDeviationTransactionCount = value;
    }
 
    @XmlAttribute(name="maxEvenAmountTransactionCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxEvenAmountTransactionCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxEvenAmountTransactionCount(){
        return maxEvenAmountTransactionCount;
    }
 
    public void setMaxEvenAmountTransactionCount(Integer value){
        this.maxEvenAmountTransactionCount = value;
    }
 
    @XmlAttribute(name="maxLowTicketTransactionCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxLowTicketTransactionCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxLowTicketTransactionCount(){
        return maxLowTicketTransactionCount;
    }
 
    public void setMaxLowTicketTransactionCount(Integer value){
        this.maxLowTicketTransactionCount = value;
    }
 
    @XmlAttribute(name="maxDuplicateAmountTransactionCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxDuplicateAmountTransactionCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxDuplicateAmountTransactionCount(){
        return maxDuplicateAmountTransactionCount;
    }
 
    public void setMaxDuplicateAmountTransactionCount(Integer value){
        this.maxDuplicateAmountTransactionCount = value;
    }
 
    @XmlAttribute(name="maxDuplicateCardTransactionCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxDuplicateCardTransactionCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxDuplicateCardTransactionCount(){
        return maxDuplicateCardTransactionCount;
    }
 
    public void setMaxDuplicateCardTransactionCount(Integer value){
        this.maxDuplicateCardTransactionCount = value;
    }
 
    @XmlAttribute(name="maxDuplicateTransactionCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxDuplicateTransactionCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxDuplicateTransactionCount(){
        return maxDuplicateTransactionCount;
    }
 
    public void setMaxDuplicateTransactionCount(Integer value){
        this.maxDuplicateTransactionCount = value;
    }
 
    @XmlAttribute(name="maxCreditsCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxCreditsCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxCreditsCount(){
        return maxCreditsCount;
    }
 
    public void setMaxCreditsCount(Integer value){
        this.maxCreditsCount = value;
    }
 
    @XmlAttribute(name="maxRefundsCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxRefundsCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxRefundsCount(){
        return maxRefundsCount;
    }
 
    public void setMaxRefundsCount(Integer value){
        this.maxRefundsCount = value;
    }
 
    @XmlAttribute(name="maxAccountVerificationsCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxAccountVerificationsCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxAccountVerificationsCount(){
        return maxAccountVerificationsCount;
    }
 
    public void setMaxAccountVerificationsCount(Integer value){
        this.maxAccountVerificationsCount = value;
    }
 
    @XmlAttribute(name="maxDeclinesRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxDeclinesRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxDeclinesRate(){
        return maxDeclinesRate;
    }
 
    public void setMaxDeclinesRate(Integer value){
        this.maxDeclinesRate = value;
    }
 
    @XmlAttribute(name="maxReturnsRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxReturnsRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxReturnsRate(){
        return maxReturnsRate;
    }
 
    public void setMaxReturnsRate(Integer value){
        this.maxReturnsRate = value;
    }
 
    @XmlAttribute(name="maxChargebacksRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxChargebacksRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxChargebacksRate(){
        return maxChargebacksRate;
    }
 
    public void setMaxChargebacksRate(Integer value){
        this.maxChargebacksRate = value;
    }
 
    @XmlAttribute(name="maxSwipedTransactionsRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxSwipedTransactionsRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxSwipedTransactionsRate(){
        return maxSwipedTransactionsRate;
    }
 
    public void setMaxSwipedTransactionsRate(Integer value){
        this.maxSwipedTransactionsRate = value;
    }
 
    @XmlAttribute(name="maxKeyedTransactionsRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxKeyedTransactionsRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxKeyedTransactionsRate(){
        return maxKeyedTransactionsRate;
    }
 
    public void setMaxKeyedTransactionsRate(Integer value){
        this.maxKeyedTransactionsRate = value;
    }
 
    @XmlAttribute(name="maxNonPresentTransactionsRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxNonPresentTransactionsRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxNonPresentTransactionsRate(){
        return maxNonPresentTransactionsRate;
    }
 
    public void setMaxNonPresentTransactionsRate(Integer value){
        this.maxNonPresentTransactionsRate = value;
    }
 
    @XmlAttribute(name="maxOffHoursTransactionCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxOffHoursTransactionCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxOffHoursTransactionCount(){
        return maxOffHoursTransactionCount;
    }
 
    public void setMaxOffHoursTransactionCount(Integer value){
        this.maxOffHoursTransactionCount = value;
    }
 
    @XmlAttribute(name="maxInactiveDaysCount")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("maxInactiveDaysCount")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getMaxInactiveDaysCount(){
        return maxInactiveDaysCount;
    }
 
    public void setMaxInactiveDaysCount(Integer value){
        this.maxInactiveDaysCount = value;
    }
 
    @XmlAttribute(name="isActive")
    @FormParam("isActive")
    @BooleanFormat
    @NotNull
    public Boolean getIsActive(){
        return isActive;
    }
 
    public void setIsActive(Boolean value){
        this.isActive = value;
    }
 
 
    public void audit(AuditHelper helper, ServerObject object) {
        unicore.model.ProcessingLimit s_object = (unicore.model.ProcessingLimit) object;
        helper.audit("merchantAccountProfileCode", merchantAccountProfileCode, s_object.getMerchantAccountProfileCode());
        helper.audit("periodType", periodType, s_object.getPeriodCl() == null ? null : s_object.getPeriodCl().getValue());
        helper.audit("maxTransactionAmount", maxTransactionAmount, s_object.getMaxTransactionAmount());
        helper.audit("maxTransactionVolume", maxTransactionVolume, s_object.getMaxTransactionVolume());
        helper.audit("maxTransactionCount", maxTransactionCount, s_object.getMaxTransactionCount());
        helper.audit("maxAvgDeviationProcessingFrequency", maxAvgDeviationProcessingFrequency, s_object.getMaxAvgDeviationProcessingFrequency());
        helper.audit("maxAvgDeviationTransactionAmount", maxAvgDeviationTransactionAmount, s_object.getMaxAvgDeviationTransactionAmount());
        helper.audit("maxAvgDeviationTransactionVolume", maxAvgDeviationTransactionVolume, s_object.getMaxAvgDeviationTransactionVolume());
        helper.audit("maxAvgDeviationTransactionCount", maxAvgDeviationTransactionCount, s_object.getMaxAvgDeviationTransactionCount());
        helper.audit("maxEvenAmountTransactionCount", maxEvenAmountTransactionCount, s_object.getMaxEvenAmountTransactionCount());
        helper.audit("maxLowTicketTransactionCount", maxLowTicketTransactionCount, s_object.getMaxLowTicketTransactionCount());
        helper.audit("maxDuplicateAmountTransactionCount", maxDuplicateAmountTransactionCount, s_object.getMaxDuplicateAmountTransactionCount());
        helper.audit("maxDuplicateCardTransactionCount", maxDuplicateCardTransactionCount, s_object.getMaxDuplicateCardTransactionCount());
        helper.audit("maxDuplicateTransactionCount", maxDuplicateTransactionCount, s_object.getMaxDuplicateTransactionCount());
        helper.audit("maxCreditsCount", maxCreditsCount, s_object.getMaxCreditsCount());
        helper.audit("maxRefundsCount", maxRefundsCount, s_object.getMaxRefundsCount());
        helper.audit("maxAccountVerificationsCount", maxAccountVerificationsCount, s_object.getMaxAccountVerificationsCount());
        helper.audit("maxDeclinesRate", maxDeclinesRate, s_object.getMaxDeclinesRate());
        helper.audit("maxReturnsRate", maxReturnsRate, s_object.getMaxReturnsRate());
        helper.audit("maxChargebacksRate", maxChargebacksRate, s_object.getMaxChargebacksRate());
        helper.audit("maxSwipedTransactionsRate", maxSwipedTransactionsRate, s_object.getMaxSwipedTransactionsRate());
        helper.audit("maxKeyedTransactionsRate", maxKeyedTransactionsRate, s_object.getMaxKeyedTransactionsRate());
        helper.audit("maxNonPresentTransactionsRate", maxNonPresentTransactionsRate, s_object.getMaxNonPresentTransactionsRate());
        helper.audit("maxOffHoursTransactionCount", maxOffHoursTransactionCount, s_object.getMaxOffHoursTransactionCount());
        helper.audit("maxInactiveDaysCount", maxInactiveDaysCount, s_object.getMaxInactiveDaysCount());
        helper.audit("isActive", isActive, s_object.getIsActive());
 
    }
 
    public static String objectTypeCode(){
        return "limits";
    }
 
}