package api.unicore.component.fees;
 
import static api.AbstractHandler.COMMISSION_BASIS_CLASSIFIER_NULL;
import static api.AbstractHandler.COMMISSION_BASIS_CLASSIFIER_NULL_CODE;
import static api.util.ComponentConstants.INTEGER_NULL;
import static api.util.ComponentConstants.INTEGER_NULL_CODE;
import static org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion.NON_NULL;
 
import api.unicore.component.fees_manual.FlatFeeCommission;
import api.util.ClassifierFormat;
import api.util.IntegerFormat;
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 [Kirill Zhukov]
 * @company UnitedThinkers
 * @since 2013/04/10
 */
 
@JsonSerialize(include=NON_NULL)
@XmlType(propOrder={"batchDeclineRegularBasis", "batchDeclineRegularRate", "batchDeclineRebillBasis", "batchDeclineRebillRate", "batchDeclineRetryBasis", "batchDeclineRetryRate", "realtimeDeclineBasis", "realtimeDeclineRate", "batchChargebackBasis", "realtimeChargebackBasis", "batchChargebackRate", "realtimeChargebackRate", "batchReversalBasis", "realtimeReversalBasis", "batchReversalRate", "realtimeReversalRate", "retrievalBasis", "retrievalRate", "batchAchReturnBasis", "realtimeAchDisputeBasis", "realtimeAchReturnBasis", "batchAchDisputeBasis", "realtimeAchReturnRate", "batchAchDisputeRate", "realtimeAchDisputeRate", "batchAchReturnRate", "achNocBasis", "achNocRate", "voiceAuthorizationBasis", "voiceAuthorizationRate", "cardVerificationBasis", "cardVerificationRate", "balanceInquiryBasis", "balanceInquiryRate", "cardActivationBasis", "cardActivationRate", "batchSubmissionBasis", "batchSubmissionRate", "realtimeSubmissionBasis", "realtimeSubmissionRate", "depositBasis", "depositRate"})
@JsonPropertyOrder({"batchDeclineRegularBasis", "batchDeclineRegularRate", "batchDeclineRebillBasis", "batchDeclineRebillRate", "batchDeclineRetryBasis", "batchDeclineRetryRate", "realtimeDeclineBasis", "realtimeDeclineRate", "batchChargebackBasis", "realtimeChargebackBasis", "batchChargebackRate", "realtimeChargebackRate", "batchReversalBasis", "realtimeReversalBasis", "batchReversalRate", "realtimeReversalRate", "retrievalBasis", "retrievalRate", "batchAchReturnBasis", "realtimeAchDisputeBasis", "realtimeAchReturnBasis", "batchAchDisputeBasis", "realtimeAchReturnRate", "batchAchDisputeRate", "realtimeAchDisputeRate", "batchAchReturnRate", "achNocBasis", "achNocRate", "voiceAuthorizationBasis", "voiceAuthorizationRate", "cardVerificationBasis", "cardVerificationRate", "balanceInquiryBasis", "balanceInquiryRate", "cardActivationBasis", "cardActivationRate", "batchSubmissionBasis", "batchSubmissionRate", "realtimeSubmissionBasis", "realtimeSubmissionRate", "depositBasis", "depositRate"})
@XmlAccessorType(XmlAccessType.NONE)
@XmlSeeAlso(FlatFeeCommission.class)
public abstract class AbstractFlatFeeCommission {
 
    @FormParam("batchDeclineRegularBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier batchDeclineRegularBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("batchDeclineRegularRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer batchDeclineRegularRate = INTEGER_NULL;
 
    @FormParam("batchDeclineRebillBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier batchDeclineRebillBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("batchDeclineRebillRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer batchDeclineRebillRate = INTEGER_NULL;
 
    @FormParam("batchDeclineRetryBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier batchDeclineRetryBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("batchDeclineRetryRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer batchDeclineRetryRate = INTEGER_NULL;
 
    @FormParam("realtimeDeclineBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier realtimeDeclineBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("realtimeDeclineRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer realtimeDeclineRate = INTEGER_NULL;
 
    @FormParam("batchChargebackBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier batchChargebackBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("realtimeChargebackBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier realtimeChargebackBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("batchChargebackRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer batchChargebackRate = INTEGER_NULL;
 
    @FormParam("realtimeChargebackRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer realtimeChargebackRate = INTEGER_NULL;
 
    @FormParam("batchReversalBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier batchReversalBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("realtimeReversalBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier realtimeReversalBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("batchReversalRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer batchReversalRate = INTEGER_NULL;
 
    @FormParam("realtimeReversalRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer realtimeReversalRate = INTEGER_NULL;
 
    @FormParam("retrievalBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier retrievalBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("retrievalRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer retrievalRate = INTEGER_NULL;
 
    @FormParam("batchAchReturnBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier batchAchReturnBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("realtimeAchDisputeBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier realtimeAchDisputeBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("realtimeAchReturnBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier realtimeAchReturnBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("batchAchDisputeBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier batchAchDisputeBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("realtimeAchReturnRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer realtimeAchReturnRate = INTEGER_NULL;
 
    @FormParam("batchAchDisputeRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer batchAchDisputeRate = INTEGER_NULL;
 
    @FormParam("realtimeAchDisputeRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer realtimeAchDisputeRate = INTEGER_NULL;
 
    @FormParam("batchAchReturnRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer batchAchReturnRate = INTEGER_NULL;
 
    @FormParam("achNocBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier achNocBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("achNocRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer achNocRate = INTEGER_NULL;
 
    @FormParam("voiceAuthorizationBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier voiceAuthorizationBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("voiceAuthorizationRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer voiceAuthorizationRate = INTEGER_NULL;
 
    @FormParam("cardVerificationBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier cardVerificationBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("cardVerificationRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer cardVerificationRate = INTEGER_NULL;
 
    @FormParam("balanceInquiryBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier balanceInquiryBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("balanceInquiryRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer balanceInquiryRate = INTEGER_NULL;
 
    @FormParam("cardActivationBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier cardActivationBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("cardActivationRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer cardActivationRate = INTEGER_NULL;
 
    @FormParam("batchSubmissionBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier batchSubmissionBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("batchSubmissionRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer batchSubmissionRate = INTEGER_NULL;
 
    @FormParam("realtimeSubmissionBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier realtimeSubmissionBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("realtimeSubmissionRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer realtimeSubmissionRate = INTEGER_NULL;
 
    @FormParam("depositBasis")
    @ClassifierFormat(unicore.model.CommissionBasisClassifier.class)
    @DefaultValue(COMMISSION_BASIS_CLASSIFIER_NULL_CODE)
    protected unicore.model.CommissionBasisClassifier depositBasis = COMMISSION_BASIS_CLASSIFIER_NULL;
 
    @FormParam("depositRate")
    @IntegerFormat
    @DefaultValue(INTEGER_NULL_CODE)
    protected Integer depositRate = INTEGER_NULL;
 
 
    public AbstractFlatFeeCommission(){
    }
 
    public String toString(){
        StringBuilder sb = new StringBuilder();
        sb.append("commission: {");
        sb.append("batchDeclineRegularBasis: ");
        sb.append(batchDeclineRegularBasis);
        sb.append(',').append(' ');
        sb.append("batchDeclineRegularRate: ");
        sb.append(batchDeclineRegularRate);
        sb.append(',').append(' ');
        sb.append("batchDeclineRebillBasis: ");
        sb.append(batchDeclineRebillBasis);
        sb.append(',').append(' ');
        sb.append("batchDeclineRebillRate: ");
        sb.append(batchDeclineRebillRate);
        sb.append(',').append(' ');
        sb.append("batchDeclineRetryBasis: ");
        sb.append(batchDeclineRetryBasis);
        sb.append(',').append(' ');
        sb.append("batchDeclineRetryRate: ");
        sb.append(batchDeclineRetryRate);
        sb.append(',').append(' ');
        sb.append("realtimeDeclineBasis: ");
        sb.append(realtimeDeclineBasis);
        sb.append(',').append(' ');
        sb.append("realtimeDeclineRate: ");
        sb.append(realtimeDeclineRate);
        sb.append(',').append(' ');
        sb.append("batchChargebackBasis: ");
        sb.append(batchChargebackBasis);
        sb.append(',').append(' ');
        sb.append("realtimeChargebackBasis: ");
        sb.append(realtimeChargebackBasis);
        sb.append(',').append(' ');
        sb.append("batchChargebackRate: ");
        sb.append(batchChargebackRate);
        sb.append(',').append(' ');
        sb.append("realtimeChargebackRate: ");
        sb.append(realtimeChargebackRate);
        sb.append(',').append(' ');
        sb.append("batchReversalBasis: ");
        sb.append(batchReversalBasis);
        sb.append(',').append(' ');
        sb.append("realtimeReversalBasis: ");
        sb.append(realtimeReversalBasis);
        sb.append(',').append(' ');
        sb.append("batchReversalRate: ");
        sb.append(batchReversalRate);
        sb.append(',').append(' ');
        sb.append("realtimeReversalRate: ");
        sb.append(realtimeReversalRate);
        sb.append(',').append(' ');
        sb.append("retrievalBasis: ");
        sb.append(retrievalBasis);
        sb.append(',').append(' ');
        sb.append("retrievalRate: ");
        sb.append(retrievalRate);
        sb.append(',').append(' ');
        sb.append("batchAchReturnBasis: ");
        sb.append(batchAchReturnBasis);
        sb.append(',').append(' ');
        sb.append("realtimeAchDisputeBasis: ");
        sb.append(realtimeAchDisputeBasis);
        sb.append(',').append(' ');
        sb.append("realtimeAchReturnBasis: ");
        sb.append(realtimeAchReturnBasis);
        sb.append(',').append(' ');
        sb.append("batchAchDisputeBasis: ");
        sb.append(batchAchDisputeBasis);
        sb.append(',').append(' ');
        sb.append("realtimeAchReturnRate: ");
        sb.append(realtimeAchReturnRate);
        sb.append(',').append(' ');
        sb.append("batchAchDisputeRate: ");
        sb.append(batchAchDisputeRate);
        sb.append(',').append(' ');
        sb.append("realtimeAchDisputeRate: ");
        sb.append(realtimeAchDisputeRate);
        sb.append(',').append(' ');
        sb.append("batchAchReturnRate: ");
        sb.append(batchAchReturnRate);
        sb.append(',').append(' ');
        sb.append("achNocBasis: ");
        sb.append(achNocBasis);
        sb.append(',').append(' ');
        sb.append("achNocRate: ");
        sb.append(achNocRate);
        sb.append(',').append(' ');
        sb.append("voiceAuthorizationBasis: ");
        sb.append(voiceAuthorizationBasis);
        sb.append(',').append(' ');
        sb.append("voiceAuthorizationRate: ");
        sb.append(voiceAuthorizationRate);
        sb.append(',').append(' ');
        sb.append("cardVerificationBasis: ");
        sb.append(cardVerificationBasis);
        sb.append(',').append(' ');
        sb.append("cardVerificationRate: ");
        sb.append(cardVerificationRate);
        sb.append(',').append(' ');
        sb.append("balanceInquiryBasis: ");
        sb.append(balanceInquiryBasis);
        sb.append(',').append(' ');
        sb.append("balanceInquiryRate: ");
        sb.append(balanceInquiryRate);
        sb.append(',').append(' ');
        sb.append("cardActivationBasis: ");
        sb.append(cardActivationBasis);
        sb.append(',').append(' ');
        sb.append("cardActivationRate: ");
        sb.append(cardActivationRate);
        sb.append(',').append(' ');
        sb.append("batchSubmissionBasis: ");
        sb.append(batchSubmissionBasis);
        sb.append(',').append(' ');
        sb.append("batchSubmissionRate: ");
        sb.append(batchSubmissionRate);
        sb.append(',').append(' ');
        sb.append("realtimeSubmissionBasis: ");
        sb.append(realtimeSubmissionBasis);
        sb.append(',').append(' ');
        sb.append("realtimeSubmissionRate: ");
        sb.append(realtimeSubmissionRate);
        sb.append(',').append(' ');
        sb.append("depositBasis: ");
        sb.append(depositBasis);
        sb.append(',').append(' ');
        sb.append("depositRate: ");
        sb.append(depositRate);
        sb.append('}');
        return sb.toString();
    }
 
 
    @XmlAttribute(name="batchDeclineRegularBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("batchDeclineRegularBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBatchDeclineRegularBasis(){
        return batchDeclineRegularBasis;
    }
 
    public void setBatchDeclineRegularBasis(unicore.model.CommissionBasisClassifier value){
        this.batchDeclineRegularBasis = value;
    }
 
    @XmlAttribute(name="batchDeclineRegularRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("batchDeclineRegularRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBatchDeclineRegularRate(){
        return batchDeclineRegularRate;
    }
 
    public void setBatchDeclineRegularRate(Integer value){
        this.batchDeclineRegularRate = value;
    }
 
    @XmlAttribute(name="batchDeclineRebillBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("batchDeclineRebillBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBatchDeclineRebillBasis(){
        return batchDeclineRebillBasis;
    }
 
    public void setBatchDeclineRebillBasis(unicore.model.CommissionBasisClassifier value){
        this.batchDeclineRebillBasis = value;
    }
 
    @XmlAttribute(name="batchDeclineRebillRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("batchDeclineRebillRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBatchDeclineRebillRate(){
        return batchDeclineRebillRate;
    }
 
    public void setBatchDeclineRebillRate(Integer value){
        this.batchDeclineRebillRate = value;
    }
 
    @XmlAttribute(name="batchDeclineRetryBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("batchDeclineRetryBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBatchDeclineRetryBasis(){
        return batchDeclineRetryBasis;
    }
 
    public void setBatchDeclineRetryBasis(unicore.model.CommissionBasisClassifier value){
        this.batchDeclineRetryBasis = value;
    }
 
    @XmlAttribute(name="batchDeclineRetryRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("batchDeclineRetryRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBatchDeclineRetryRate(){
        return batchDeclineRetryRate;
    }
 
    public void setBatchDeclineRetryRate(Integer value){
        this.batchDeclineRetryRate = value;
    }
 
    @XmlAttribute(name="realtimeDeclineBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("realtimeDeclineBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getRealtimeDeclineBasis(){
        return realtimeDeclineBasis;
    }
 
    public void setRealtimeDeclineBasis(unicore.model.CommissionBasisClassifier value){
        this.realtimeDeclineBasis = value;
    }
 
    @XmlAttribute(name="realtimeDeclineRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("realtimeDeclineRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getRealtimeDeclineRate(){
        return realtimeDeclineRate;
    }
 
    public void setRealtimeDeclineRate(Integer value){
        this.realtimeDeclineRate = value;
    }
 
    @XmlAttribute(name="batchChargebackBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("batchChargebackBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBatchChargebackBasis(){
        return batchChargebackBasis;
    }
 
    public void setBatchChargebackBasis(unicore.model.CommissionBasisClassifier value){
        this.batchChargebackBasis = value;
    }
 
    @XmlAttribute(name="realtimeChargebackBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("realtimeChargebackBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getRealtimeChargebackBasis(){
        return realtimeChargebackBasis;
    }
 
    public void setRealtimeChargebackBasis(unicore.model.CommissionBasisClassifier value){
        this.realtimeChargebackBasis = value;
    }
 
    @XmlAttribute(name="batchChargebackRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("batchChargebackRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBatchChargebackRate(){
        return batchChargebackRate;
    }
 
    public void setBatchChargebackRate(Integer value){
        this.batchChargebackRate = value;
    }
 
    @XmlAttribute(name="realtimeChargebackRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("realtimeChargebackRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getRealtimeChargebackRate(){
        return realtimeChargebackRate;
    }
 
    public void setRealtimeChargebackRate(Integer value){
        this.realtimeChargebackRate = value;
    }
 
    @XmlAttribute(name="batchReversalBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("batchReversalBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBatchReversalBasis(){
        return batchReversalBasis;
    }
 
    public void setBatchReversalBasis(unicore.model.CommissionBasisClassifier value){
        this.batchReversalBasis = value;
    }
 
    @XmlAttribute(name="realtimeReversalBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("realtimeReversalBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getRealtimeReversalBasis(){
        return realtimeReversalBasis;
    }
 
    public void setRealtimeReversalBasis(unicore.model.CommissionBasisClassifier value){
        this.realtimeReversalBasis = value;
    }
 
    @XmlAttribute(name="batchReversalRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("batchReversalRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBatchReversalRate(){
        return batchReversalRate;
    }
 
    public void setBatchReversalRate(Integer value){
        this.batchReversalRate = value;
    }
 
    @XmlAttribute(name="realtimeReversalRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("realtimeReversalRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getRealtimeReversalRate(){
        return realtimeReversalRate;
    }
 
    public void setRealtimeReversalRate(Integer value){
        this.realtimeReversalRate = value;
    }
 
    @XmlAttribute(name="retrievalBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("retrievalBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getRetrievalBasis(){
        return retrievalBasis;
    }
 
    public void setRetrievalBasis(unicore.model.CommissionBasisClassifier value){
        this.retrievalBasis = value;
    }
 
    @XmlAttribute(name="retrievalRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("retrievalRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getRetrievalRate(){
        return retrievalRate;
    }
 
    public void setRetrievalRate(Integer value){
        this.retrievalRate = value;
    }
 
    @XmlAttribute(name="batchAchReturnBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("batchAchReturnBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBatchAchReturnBasis(){
        return batchAchReturnBasis;
    }
 
    public void setBatchAchReturnBasis(unicore.model.CommissionBasisClassifier value){
        this.batchAchReturnBasis = value;
    }
 
    @XmlAttribute(name="realtimeAchDisputeBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("realtimeAchDisputeBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getRealtimeAchDisputeBasis(){
        return realtimeAchDisputeBasis;
    }
 
    public void setRealtimeAchDisputeBasis(unicore.model.CommissionBasisClassifier value){
        this.realtimeAchDisputeBasis = value;
    }
 
    @XmlAttribute(name="realtimeAchReturnBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("realtimeAchReturnBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getRealtimeAchReturnBasis(){
        return realtimeAchReturnBasis;
    }
 
    public void setRealtimeAchReturnBasis(unicore.model.CommissionBasisClassifier value){
        this.realtimeAchReturnBasis = value;
    }
 
    @XmlAttribute(name="batchAchDisputeBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("batchAchDisputeBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBatchAchDisputeBasis(){
        return batchAchDisputeBasis;
    }
 
    public void setBatchAchDisputeBasis(unicore.model.CommissionBasisClassifier value){
        this.batchAchDisputeBasis = value;
    }
 
    @XmlAttribute(name="realtimeAchReturnRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("realtimeAchReturnRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getRealtimeAchReturnRate(){
        return realtimeAchReturnRate;
    }
 
    public void setRealtimeAchReturnRate(Integer value){
        this.realtimeAchReturnRate = value;
    }
 
    @XmlAttribute(name="batchAchDisputeRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("batchAchDisputeRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBatchAchDisputeRate(){
        return batchAchDisputeRate;
    }
 
    public void setBatchAchDisputeRate(Integer value){
        this.batchAchDisputeRate = value;
    }
 
    @XmlAttribute(name="realtimeAchDisputeRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("realtimeAchDisputeRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getRealtimeAchDisputeRate(){
        return realtimeAchDisputeRate;
    }
 
    public void setRealtimeAchDisputeRate(Integer value){
        this.realtimeAchDisputeRate = value;
    }
 
    @XmlAttribute(name="batchAchReturnRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("batchAchReturnRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBatchAchReturnRate(){
        return batchAchReturnRate;
    }
 
    public void setBatchAchReturnRate(Integer value){
        this.batchAchReturnRate = value;
    }
 
    @XmlAttribute(name="achNocBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("achNocBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getAchNocBasis(){
        return achNocBasis;
    }
 
    public void setAchNocBasis(unicore.model.CommissionBasisClassifier value){
        this.achNocBasis = value;
    }
 
    @XmlAttribute(name="achNocRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("achNocRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getAchNocRate(){
        return achNocRate;
    }
 
    public void setAchNocRate(Integer value){
        this.achNocRate = value;
    }
 
    @XmlAttribute(name="voiceAuthorizationBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("voiceAuthorizationBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getVoiceAuthorizationBasis(){
        return voiceAuthorizationBasis;
    }
 
    public void setVoiceAuthorizationBasis(unicore.model.CommissionBasisClassifier value){
        this.voiceAuthorizationBasis = value;
    }
 
    @XmlAttribute(name="voiceAuthorizationRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("voiceAuthorizationRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getVoiceAuthorizationRate(){
        return voiceAuthorizationRate;
    }
 
    public void setVoiceAuthorizationRate(Integer value){
        this.voiceAuthorizationRate = value;
    }
 
    @XmlAttribute(name="cardVerificationBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("cardVerificationBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getCardVerificationBasis(){
        return cardVerificationBasis;
    }
 
    public void setCardVerificationBasis(unicore.model.CommissionBasisClassifier value){
        this.cardVerificationBasis = value;
    }
 
    @XmlAttribute(name="cardVerificationRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("cardVerificationRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getCardVerificationRate(){
        return cardVerificationRate;
    }
 
    public void setCardVerificationRate(Integer value){
        this.cardVerificationRate = value;
    }
 
    @XmlAttribute(name="balanceInquiryBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("balanceInquiryBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBalanceInquiryBasis(){
        return balanceInquiryBasis;
    }
 
    public void setBalanceInquiryBasis(unicore.model.CommissionBasisClassifier value){
        this.balanceInquiryBasis = value;
    }
 
    @XmlAttribute(name="balanceInquiryRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("balanceInquiryRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBalanceInquiryRate(){
        return balanceInquiryRate;
    }
 
    public void setBalanceInquiryRate(Integer value){
        this.balanceInquiryRate = value;
    }
 
    @XmlAttribute(name="cardActivationBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("cardActivationBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getCardActivationBasis(){
        return cardActivationBasis;
    }
 
    public void setCardActivationBasis(unicore.model.CommissionBasisClassifier value){
        this.cardActivationBasis = value;
    }
 
    @XmlAttribute(name="cardActivationRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("cardActivationRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getCardActivationRate(){
        return cardActivationRate;
    }
 
    public void setCardActivationRate(Integer value){
        this.cardActivationRate = value;
    }
 
    @XmlAttribute(name="batchSubmissionBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("batchSubmissionBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getBatchSubmissionBasis(){
        return batchSubmissionBasis;
    }
 
    public void setBatchSubmissionBasis(unicore.model.CommissionBasisClassifier value){
        this.batchSubmissionBasis = value;
    }
 
    @XmlAttribute(name="batchSubmissionRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("batchSubmissionRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getBatchSubmissionRate(){
        return batchSubmissionRate;
    }
 
    public void setBatchSubmissionRate(Integer value){
        this.batchSubmissionRate = value;
    }
 
    @XmlAttribute(name="realtimeSubmissionBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("realtimeSubmissionBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getRealtimeSubmissionBasis(){
        return realtimeSubmissionBasis;
    }
 
    public void setRealtimeSubmissionBasis(unicore.model.CommissionBasisClassifier value){
        this.realtimeSubmissionBasis = value;
    }
 
    @XmlAttribute(name="realtimeSubmissionRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("realtimeSubmissionRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getRealtimeSubmissionRate(){
        return realtimeSubmissionRate;
    }
 
    public void setRealtimeSubmissionRate(Integer value){
        this.realtimeSubmissionRate = value;
    }
 
    @XmlAttribute(name="depositBasis")
    @XmlJavaTypeAdapter(value=api.util.CommissionBasisClassifierAdapter.class)
    @FormParam("depositBasis")
    @JsonSerialize(using=api.util.ClassifierSerializer.class, include=NON_NULL)
    public unicore.model.CommissionBasisClassifier getDepositBasis(){
        return depositBasis;
    }
 
    public void setDepositBasis(unicore.model.CommissionBasisClassifier value){
        this.depositBasis = value;
    }
 
    @XmlAttribute(name="depositRate")
    @XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
    @FormParam("depositRate")
    @IntegerFormat
    @JsonDeserialize(using=api.util.NumberDeserializer.class)
    public Integer getDepositRate(){
        return depositRate;
    }
 
    public void setDepositRate(Integer value){
        this.depositRate = value;
    }
 
 
    public void audit(AuditHelper helper, AbstractFlatFeeCommission old) {
        helper.audit("batchDeclineRegularBasis", batchDeclineRegularBasis, old.getBatchDeclineRegularBasis());
        helper.audit("batchDeclineRegularRate", batchDeclineRegularRate, old.getBatchDeclineRegularRate());
        helper.audit("batchDeclineRebillBasis", batchDeclineRebillBasis, old.getBatchDeclineRebillBasis());
        helper.audit("batchDeclineRebillRate", batchDeclineRebillRate, old.getBatchDeclineRebillRate());
        helper.audit("batchDeclineRetryBasis", batchDeclineRetryBasis, old.getBatchDeclineRetryBasis());
        helper.audit("batchDeclineRetryRate", batchDeclineRetryRate, old.getBatchDeclineRetryRate());
        helper.audit("realtimeDeclineBasis", realtimeDeclineBasis, old.getRealtimeDeclineBasis());
        helper.audit("realtimeDeclineRate", realtimeDeclineRate, old.getRealtimeDeclineRate());
        helper.audit("batchChargebackBasis", batchChargebackBasis, old.getBatchChargebackBasis());
        helper.audit("realtimeChargebackBasis", realtimeChargebackBasis, old.getRealtimeChargebackBasis());
        helper.audit("batchChargebackRate", batchChargebackRate, old.getBatchChargebackRate());
        helper.audit("realtimeChargebackRate", realtimeChargebackRate, old.getRealtimeChargebackRate());
        helper.audit("batchReversalBasis", batchReversalBasis, old.getBatchReversalBasis());
        helper.audit("realtimeReversalBasis", realtimeReversalBasis, old.getRealtimeReversalBasis());
        helper.audit("batchReversalRate", batchReversalRate, old.getBatchReversalRate());
        helper.audit("realtimeReversalRate", realtimeReversalRate, old.getRealtimeReversalRate());
        helper.audit("retrievalBasis", retrievalBasis, old.getRetrievalBasis());
        helper.audit("retrievalRate", retrievalRate, old.getRetrievalRate());
        helper.audit("batchAchReturnBasis", batchAchReturnBasis, old.getBatchAchReturnBasis());
        helper.audit("realtimeAchDisputeBasis", realtimeAchDisputeBasis, old.getRealtimeAchDisputeBasis());
        helper.audit("realtimeAchReturnBasis", realtimeAchReturnBasis, old.getRealtimeAchReturnBasis());
        helper.audit("batchAchDisputeBasis", batchAchDisputeBasis, old.getBatchAchDisputeBasis());
        helper.audit("realtimeAchReturnRate", realtimeAchReturnRate, old.getRealtimeAchReturnRate());
        helper.audit("batchAchDisputeRate", batchAchDisputeRate, old.getBatchAchDisputeRate());
        helper.audit("realtimeAchDisputeRate", realtimeAchDisputeRate, old.getRealtimeAchDisputeRate());
        helper.audit("batchAchReturnRate", batchAchReturnRate, old.getBatchAchReturnRate());
        helper.audit("achNocBasis", achNocBasis, old.getAchNocBasis());
        helper.audit("achNocRate", achNocRate, old.getAchNocRate());
        helper.audit("voiceAuthorizationBasis", voiceAuthorizationBasis, old.getVoiceAuthorizationBasis());
        helper.audit("voiceAuthorizationRate", voiceAuthorizationRate, old.getVoiceAuthorizationRate());
        helper.audit("cardVerificationBasis", cardVerificationBasis, old.getCardVerificationBasis());
        helper.audit("cardVerificationRate", cardVerificationRate, old.getCardVerificationRate());
        helper.audit("balanceInquiryBasis", balanceInquiryBasis, old.getBalanceInquiryBasis());
        helper.audit("balanceInquiryRate", balanceInquiryRate, old.getBalanceInquiryRate());
        helper.audit("cardActivationBasis", cardActivationBasis, old.getCardActivationBasis());
        helper.audit("cardActivationRate", cardActivationRate, old.getCardActivationRate());
        helper.audit("batchSubmissionBasis", batchSubmissionBasis, old.getBatchSubmissionBasis());
        helper.audit("batchSubmissionRate", batchSubmissionRate, old.getBatchSubmissionRate());
        helper.audit("realtimeSubmissionBasis", realtimeSubmissionBasis, old.getRealtimeSubmissionBasis());
        helper.audit("realtimeSubmissionRate", realtimeSubmissionRate, old.getRealtimeSubmissionRate());
        helper.audit("depositBasis", depositBasis, old.getDepositBasis());
        helper.audit("depositRate", depositRate, old.getDepositRate());
    }
 
}