/**
 * DecisionHoldbackInfo.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
 */

package com.style24.core.biz.checkout.base;

public class DecisionHoldbackInfo  implements java.io.Serializable, org.apache.axis.encoding.AnyContentType {
    private java.util.Calendar claimRequestDate;

    private com.style24.core.biz.checkout.base.ClaimStatusType claimStatus;

    private String decisionHoldbackDetailedReason;

    private com.style24.core.biz.checkout.base.ClaimRequestReasonType decisionHoldbackReason;

    private String decisionHoldbackTreatMemo;

    private String reDeliveryCompany;

    private java.util.Calendar reDeliveryExpectedDate;

    private com.style24.core.biz.checkout.base.DeliveryMethodType reDeliveryMethod;

    private String reDeliveryTrackingNumber;

    private java.util.Calendar sellerOperationDate;

    private org.apache.axis.message.MessageElement [] _any;

    public DecisionHoldbackInfo() {
    }

    public DecisionHoldbackInfo(
           java.util.Calendar claimRequestDate,
           com.style24.core.biz.checkout.base.ClaimStatusType claimStatus,
           String decisionHoldbackDetailedReason,
           com.style24.core.biz.checkout.base.ClaimRequestReasonType decisionHoldbackReason,
           String decisionHoldbackTreatMemo,
           String reDeliveryCompany,
           java.util.Calendar reDeliveryExpectedDate,
           com.style24.core.biz.checkout.base.DeliveryMethodType reDeliveryMethod,
           String reDeliveryTrackingNumber,
           java.util.Calendar sellerOperationDate,
           org.apache.axis.message.MessageElement [] _any) {
           this.claimRequestDate = claimRequestDate;
           this.claimStatus = claimStatus;
           this.decisionHoldbackDetailedReason = decisionHoldbackDetailedReason;
           this.decisionHoldbackReason = decisionHoldbackReason;
           this.decisionHoldbackTreatMemo = decisionHoldbackTreatMemo;
           this.reDeliveryCompany = reDeliveryCompany;
           this.reDeliveryExpectedDate = reDeliveryExpectedDate;
           this.reDeliveryMethod = reDeliveryMethod;
           this.reDeliveryTrackingNumber = reDeliveryTrackingNumber;
           this.sellerOperationDate = sellerOperationDate;
           this._any = _any;
    }


    /**
     * Gets the claimRequestDate value for this DecisionHoldbackInfo.
     *
     * @return claimRequestDate
     */
    public java.util.Calendar getClaimRequestDate() {
        return claimRequestDate;
    }


    /**
     * Sets the claimRequestDate value for this DecisionHoldbackInfo.
     *
     * @param claimRequestDate
     */
    public void setClaimRequestDate(java.util.Calendar claimRequestDate) {
        this.claimRequestDate = claimRequestDate;
    }


    /**
     * Gets the claimStatus value for this DecisionHoldbackInfo.
     *
     * @return claimStatus
     */
    public com.style24.core.biz.checkout.base.ClaimStatusType getClaimStatus() {
        return claimStatus;
    }


    /**
     * Sets the claimStatus value for this DecisionHoldbackInfo.
     *
     * @param claimStatus
     */
    public void setClaimStatus(com.style24.core.biz.checkout.base.ClaimStatusType claimStatus) {
        this.claimStatus = claimStatus;
    }


    /**
     * Gets the decisionHoldbackDetailedReason value for this DecisionHoldbackInfo.
     *
     * @return decisionHoldbackDetailedReason
     */
    public String getDecisionHoldbackDetailedReason() {
        return decisionHoldbackDetailedReason;
    }


    /**
     * Sets the decisionHoldbackDetailedReason value for this DecisionHoldbackInfo.
     *
     * @param decisionHoldbackDetailedReason
     */
    public void setDecisionHoldbackDetailedReason(String decisionHoldbackDetailedReason) {
        this.decisionHoldbackDetailedReason = decisionHoldbackDetailedReason;
    }


    /**
     * Gets the decisionHoldbackReason value for this DecisionHoldbackInfo.
     *
     * @return decisionHoldbackReason
     */
    public com.style24.core.biz.checkout.base.ClaimRequestReasonType getDecisionHoldbackReason() {
        return decisionHoldbackReason;
    }


    /**
     * Sets the decisionHoldbackReason value for this DecisionHoldbackInfo.
     *
     * @param decisionHoldbackReason
     */
    public void setDecisionHoldbackReason(com.style24.core.biz.checkout.base.ClaimRequestReasonType decisionHoldbackReason) {
        this.decisionHoldbackReason = decisionHoldbackReason;
    }


    /**
     * Gets the decisionHoldbackTreatMemo value for this DecisionHoldbackInfo.
     *
     * @return decisionHoldbackTreatMemo
     */
    public String getDecisionHoldbackTreatMemo() {
        return decisionHoldbackTreatMemo;
    }


    /**
     * Sets the decisionHoldbackTreatMemo value for this DecisionHoldbackInfo.
     *
     * @param decisionHoldbackTreatMemo
     */
    public void setDecisionHoldbackTreatMemo(String decisionHoldbackTreatMemo) {
        this.decisionHoldbackTreatMemo = decisionHoldbackTreatMemo;
    }


    /**
     * Gets the reDeliveryCompany value for this DecisionHoldbackInfo.
     *
     * @return reDeliveryCompany
     */
    public String getReDeliveryCompany() {
        return reDeliveryCompany;
    }


    /**
     * Sets the reDeliveryCompany value for this DecisionHoldbackInfo.
     *
     * @param reDeliveryCompany
     */
    public void setReDeliveryCompany(String reDeliveryCompany) {
        this.reDeliveryCompany = reDeliveryCompany;
    }


    /**
     * Gets the reDeliveryExpectedDate value for this DecisionHoldbackInfo.
     *
     * @return reDeliveryExpectedDate
     */
    public java.util.Calendar getReDeliveryExpectedDate() {
        return reDeliveryExpectedDate;
    }


    /**
     * Sets the reDeliveryExpectedDate value for this DecisionHoldbackInfo.
     *
     * @param reDeliveryExpectedDate
     */
    public void setReDeliveryExpectedDate(java.util.Calendar reDeliveryExpectedDate) {
        this.reDeliveryExpectedDate = reDeliveryExpectedDate;
    }


    /**
     * Gets the reDeliveryMethod value for this DecisionHoldbackInfo.
     *
     * @return reDeliveryMethod
     */
    public com.style24.core.biz.checkout.base.DeliveryMethodType getReDeliveryMethod() {
        return reDeliveryMethod;
    }


    /**
     * Sets the reDeliveryMethod value for this DecisionHoldbackInfo.
     *
     * @param reDeliveryMethod
     */
    public void setReDeliveryMethod(com.style24.core.biz.checkout.base.DeliveryMethodType reDeliveryMethod) {
        this.reDeliveryMethod = reDeliveryMethod;
    }


    /**
     * Gets the reDeliveryTrackingNumber value for this DecisionHoldbackInfo.
     *
     * @return reDeliveryTrackingNumber
     */
    public String getReDeliveryTrackingNumber() {
        return reDeliveryTrackingNumber;
    }


    /**
     * Sets the reDeliveryTrackingNumber value for this DecisionHoldbackInfo.
     *
     * @param reDeliveryTrackingNumber
     */
    public void setReDeliveryTrackingNumber(String reDeliveryTrackingNumber) {
        this.reDeliveryTrackingNumber = reDeliveryTrackingNumber;
    }


    /**
     * Gets the sellerOperationDate value for this DecisionHoldbackInfo.
     *
     * @return sellerOperationDate
     */
    public java.util.Calendar getSellerOperationDate() {
        return sellerOperationDate;
    }


    /**
     * Sets the sellerOperationDate value for this DecisionHoldbackInfo.
     *
     * @param sellerOperationDate
     */
    public void setSellerOperationDate(java.util.Calendar sellerOperationDate) {
        this.sellerOperationDate = sellerOperationDate;
    }


    /**
     * Gets the _any value for this DecisionHoldbackInfo.
     *
     * @return _any
     */
    public org.apache.axis.message.MessageElement [] get_any() {
        return _any;
    }


    /**
     * Sets the _any value for this DecisionHoldbackInfo.
     *
     * @param _any
     */
    public void set_any(org.apache.axis.message.MessageElement [] _any) {
        this._any = _any;
    }

    private Object __equalsCalc = null;
    public synchronized boolean equals(Object obj) {
        if (!(obj instanceof DecisionHoldbackInfo)) return false;
        DecisionHoldbackInfo other = (DecisionHoldbackInfo) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true &&
            ((this.claimRequestDate==null && other.getClaimRequestDate()==null) ||
             (this.claimRequestDate!=null &&
              this.claimRequestDate.equals(other.getClaimRequestDate()))) &&
            ((this.claimStatus==null && other.getClaimStatus()==null) ||
             (this.claimStatus!=null &&
              this.claimStatus.equals(other.getClaimStatus()))) &&
            ((this.decisionHoldbackDetailedReason==null && other.getDecisionHoldbackDetailedReason()==null) ||
             (this.decisionHoldbackDetailedReason!=null &&
              this.decisionHoldbackDetailedReason.equals(other.getDecisionHoldbackDetailedReason()))) &&
            ((this.decisionHoldbackReason==null && other.getDecisionHoldbackReason()==null) ||
             (this.decisionHoldbackReason!=null &&
              this.decisionHoldbackReason.equals(other.getDecisionHoldbackReason()))) &&
            ((this.decisionHoldbackTreatMemo==null && other.getDecisionHoldbackTreatMemo()==null) ||
             (this.decisionHoldbackTreatMemo!=null &&
              this.decisionHoldbackTreatMemo.equals(other.getDecisionHoldbackTreatMemo()))) &&
            ((this.reDeliveryCompany==null && other.getReDeliveryCompany()==null) ||
             (this.reDeliveryCompany!=null &&
              this.reDeliveryCompany.equals(other.getReDeliveryCompany()))) &&
            ((this.reDeliveryExpectedDate==null && other.getReDeliveryExpectedDate()==null) ||
             (this.reDeliveryExpectedDate!=null &&
              this.reDeliveryExpectedDate.equals(other.getReDeliveryExpectedDate()))) &&
            ((this.reDeliveryMethod==null && other.getReDeliveryMethod()==null) ||
             (this.reDeliveryMethod!=null &&
              this.reDeliveryMethod.equals(other.getReDeliveryMethod()))) &&
            ((this.reDeliveryTrackingNumber==null && other.getReDeliveryTrackingNumber()==null) ||
             (this.reDeliveryTrackingNumber!=null &&
              this.reDeliveryTrackingNumber.equals(other.getReDeliveryTrackingNumber()))) &&
            ((this.sellerOperationDate==null && other.getSellerOperationDate()==null) ||
             (this.sellerOperationDate!=null &&
              this.sellerOperationDate.equals(other.getSellerOperationDate()))) &&
            ((this._any==null && other.get_any()==null) ||
             (this._any!=null &&
              java.util.Arrays.equals(this._any, other.get_any())));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = 1;
        if (getClaimRequestDate() != null) {
            _hashCode += getClaimRequestDate().hashCode();
        }
        if (getClaimStatus() != null) {
            _hashCode += getClaimStatus().hashCode();
        }
        if (getDecisionHoldbackDetailedReason() != null) {
            _hashCode += getDecisionHoldbackDetailedReason().hashCode();
        }
        if (getDecisionHoldbackReason() != null) {
            _hashCode += getDecisionHoldbackReason().hashCode();
        }
        if (getDecisionHoldbackTreatMemo() != null) {
            _hashCode += getDecisionHoldbackTreatMemo().hashCode();
        }
        if (getReDeliveryCompany() != null) {
            _hashCode += getReDeliveryCompany().hashCode();
        }
        if (getReDeliveryExpectedDate() != null) {
            _hashCode += getReDeliveryExpectedDate().hashCode();
        }
        if (getReDeliveryMethod() != null) {
            _hashCode += getReDeliveryMethod().hashCode();
        }
        if (getReDeliveryTrackingNumber() != null) {
            _hashCode += getReDeliveryTrackingNumber().hashCode();
        }
        if (getSellerOperationDate() != null) {
            _hashCode += getSellerOperationDate().hashCode();
        }
        if (get_any() != null) {
            for (int i=0;
                 i<java.lang.reflect.Array.getLength(get_any());
                 i++) {
                Object obj = java.lang.reflect.Array.get(get_any(), i);
                if (obj != null &&
                    !obj.getClass().isArray()) {
                    _hashCode += obj.hashCode();
                }
            }
        }
        __hashCodeCalc = false;
        return _hashCode;
    }

    // Type metadata
    private static org.apache.axis.description.TypeDesc typeDesc =
        new org.apache.axis.description.TypeDesc(DecisionHoldbackInfo.class, true);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "decisionHoldbackInfo"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("claimRequestDate");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ClaimRequestDate"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("claimStatus");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ClaimStatus"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "claimStatusType"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("decisionHoldbackDetailedReason");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "DecisionHoldbackDetailedReason"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("decisionHoldbackReason");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "DecisionHoldbackReason"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "claimRequestReasonType"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("decisionHoldbackTreatMemo");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "DecisionHoldbackTreatMemo"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("reDeliveryCompany");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ReDeliveryCompany"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("reDeliveryExpectedDate");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ReDeliveryExpectedDate"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("reDeliveryMethod");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ReDeliveryMethod"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "deliveryMethodType"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("reDeliveryTrackingNumber");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ReDeliveryTrackingNumber"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("sellerOperationDate");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "SellerOperationDate"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
    }

    /**
     * Return type metadata object
     */
    public static org.apache.axis.description.TypeDesc getTypeDesc() {
        return typeDesc;
    }

    /**
     * Get Custom Serializer
     */
    public static org.apache.axis.encoding.Serializer getSerializer(
           String mechType,
           Class _javaType,
           javax.xml.namespace.QName _xmlType) {
        return
          new  org.apache.axis.encoding.ser.BeanSerializer(
            _javaType, _xmlType, typeDesc);
    }

    /**
     * Get Custom Deserializer
     */
    public static org.apache.axis.encoding.Deserializer getDeserializer(
           String mechType,
           Class _javaType,
           javax.xml.namespace.QName _xmlType) {
        return 
          new  org.apache.axis.encoding.ser.BeanDeserializer(
            _javaType, _xmlType, typeDesc);
    }

}
