/**
 * PurchaseReview.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 PurchaseReview  implements java.io.Serializable, org.apache.axis.encoding.AnyContentType {
    private java.util.Calendar createYmdt;

    private String mallID;

    private java.util.Calendar modifyYmdt;

    private String productID;

    private String productName;

    private String productOption;

    private String productOrderID;

    private Long purchaseReviewId;

    private Integer purchaseReviewScore;

    private String title;

    private String writerId;

    private String content;

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

    public PurchaseReview() {
    }

    public PurchaseReview(
           java.util.Calendar createYmdt,
           String mallID,
           java.util.Calendar modifyYmdt,
           String productID,
           String productName,
           String productOption,
           String productOrderID,
           Long purchaseReviewId,
           Integer purchaseReviewScore,
           String title,
           String writerId,
           String content,
           org.apache.axis.message.MessageElement [] _any) {
           this.createYmdt = createYmdt;
           this.mallID = mallID;
           this.modifyYmdt = modifyYmdt;
           this.productID = productID;
           this.productName = productName;
           this.productOption = productOption;
           this.productOrderID = productOrderID;
           this.purchaseReviewId = purchaseReviewId;
           this.purchaseReviewScore = purchaseReviewScore;
           this.title = title;
           this.writerId = writerId;
           this.content = content;
           this._any = _any;
    }


    /**
     * Gets the createYmdt value for this PurchaseReview.
     *
     * @return createYmdt
     */
    public java.util.Calendar getCreateYmdt() {
        return createYmdt;
    }


    /**
     * Sets the createYmdt value for this PurchaseReview.
     *
     * @param createYmdt
     */
    public void setCreateYmdt(java.util.Calendar createYmdt) {
        this.createYmdt = createYmdt;
    }


    /**
     * Gets the mallID value for this PurchaseReview.
     *
     * @return mallID
     */
    public String getMallID() {
        return mallID;
    }


    /**
     * Sets the mallID value for this PurchaseReview.
     *
     * @param mallID
     */
    public void setMallID(String mallID) {
        this.mallID = mallID;
    }


    /**
     * Gets the modifyYmdt value for this PurchaseReview.
     *
     * @return modifyYmdt
     */
    public java.util.Calendar getModifyYmdt() {
        return modifyYmdt;
    }


    /**
     * Sets the modifyYmdt value for this PurchaseReview.
     *
     * @param modifyYmdt
     */
    public void setModifyYmdt(java.util.Calendar modifyYmdt) {
        this.modifyYmdt = modifyYmdt;
    }


    /**
     * Gets the productID value for this PurchaseReview.
     *
     * @return productID
     */
    public String getProductID() {
        return productID;
    }


    /**
     * Sets the productID value for this PurchaseReview.
     *
     * @param productID
     */
    public void setProductID(String productID) {
        this.productID = productID;
    }


    /**
     * Gets the productName value for this PurchaseReview.
     *
     * @return productName
     */
    public String getProductName() {
        return productName;
    }


    /**
     * Sets the productName value for this PurchaseReview.
     *
     * @param productName
     */
    public void setProductName(String productName) {
        this.productName = productName;
    }


    /**
     * Gets the productOption value for this PurchaseReview.
     *
     * @return productOption
     */
    public String getProductOption() {
        return productOption;
    }


    /**
     * Sets the productOption value for this PurchaseReview.
     *
     * @param productOption
     */
    public void setProductOption(String productOption) {
        this.productOption = productOption;
    }


    /**
     * Gets the productOrderID value for this PurchaseReview.
     *
     * @return productOrderID
     */
    public String getProductOrderID() {
        return productOrderID;
    }


    /**
     * Sets the productOrderID value for this PurchaseReview.
     *
     * @param productOrderID
     */
    public void setProductOrderID(String productOrderID) {
        this.productOrderID = productOrderID;
    }


    /**
     * Gets the purchaseReviewId value for this PurchaseReview.
     *
     * @return purchaseReviewId
     */
    public Long getPurchaseReviewId() {
        return purchaseReviewId;
    }


    /**
     * Sets the purchaseReviewId value for this PurchaseReview.
     *
     * @param purchaseReviewId
     */
    public void setPurchaseReviewId(Long purchaseReviewId) {
        this.purchaseReviewId = purchaseReviewId;
    }


    /**
     * Gets the purchaseReviewScore value for this PurchaseReview.
     *
     * @return purchaseReviewScore
     */
    public Integer getPurchaseReviewScore() {
        return purchaseReviewScore;
    }


    /**
     * Sets the purchaseReviewScore value for this PurchaseReview.
     *
     * @param purchaseReviewScore
     */
    public void setPurchaseReviewScore(Integer purchaseReviewScore) {
        this.purchaseReviewScore = purchaseReviewScore;
    }


    /**
     * Gets the title value for this PurchaseReview.
     *
     * @return title
     */
    public String getTitle() {
        return title;
    }


    /**
     * Sets the title value for this PurchaseReview.
     *
     * @param title
     */
    public void setTitle(String title) {
        this.title = title;
    }


    /**
     * Gets the writerId value for this PurchaseReview.
     *
     * @return writerId
     */
    public String getWriterId() {
        return writerId;
    }


    /**
     * Sets the writerId value for this PurchaseReview.
     *
     * @param writerId
     */
    public void setWriterId(String writerId) {
        this.writerId = writerId;
    }


    /**
     * Gets the content value for this PurchaseReview.
     *
     * @return content
     */
    public String getContent() {
        return content;
    }


    /**
     * Sets the content value for this PurchaseReview.
     *
     * @param content
     */
    public void setContent(String content) {
        this.content = content;
    }


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


    /**
     * Sets the _any value for this PurchaseReview.
     *
     * @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 PurchaseReview)) return false;
        PurchaseReview other = (PurchaseReview) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true &&
            ((this.createYmdt==null && other.getCreateYmdt()==null) ||
             (this.createYmdt!=null &&
              this.createYmdt.equals(other.getCreateYmdt()))) &&
            ((this.mallID==null && other.getMallID()==null) ||
             (this.mallID!=null &&
              this.mallID.equals(other.getMallID()))) &&
            ((this.modifyYmdt==null && other.getModifyYmdt()==null) ||
             (this.modifyYmdt!=null &&
              this.modifyYmdt.equals(other.getModifyYmdt()))) &&
            ((this.productID==null && other.getProductID()==null) ||
             (this.productID!=null &&
              this.productID.equals(other.getProductID()))) &&
            ((this.productName==null && other.getProductName()==null) ||
             (this.productName!=null &&
              this.productName.equals(other.getProductName()))) &&
            ((this.productOption==null && other.getProductOption()==null) ||
             (this.productOption!=null &&
              this.productOption.equals(other.getProductOption()))) &&
            ((this.productOrderID==null && other.getProductOrderID()==null) ||
             (this.productOrderID!=null &&
              this.productOrderID.equals(other.getProductOrderID()))) &&
            ((this.purchaseReviewId==null && other.getPurchaseReviewId()==null) ||
             (this.purchaseReviewId!=null &&
              this.purchaseReviewId.equals(other.getPurchaseReviewId()))) &&
            ((this.purchaseReviewScore==null && other.getPurchaseReviewScore()==null) ||
             (this.purchaseReviewScore!=null &&
              this.purchaseReviewScore.equals(other.getPurchaseReviewScore()))) &&
            ((this.title==null && other.getTitle()==null) ||
             (this.title!=null &&
              this.title.equals(other.getTitle()))) &&
            ((this.writerId==null && other.getWriterId()==null) ||
             (this.writerId!=null &&
              this.writerId.equals(other.getWriterId()))) &&
            ((this.content==null && other.getContent()==null) ||
             (this.content!=null &&
              this.content.equals(other.getContent()))) &&
            ((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 (getCreateYmdt() != null) {
            _hashCode += getCreateYmdt().hashCode();
        }
        if (getMallID() != null) {
            _hashCode += getMallID().hashCode();
        }
        if (getModifyYmdt() != null) {
            _hashCode += getModifyYmdt().hashCode();
        }
        if (getProductID() != null) {
            _hashCode += getProductID().hashCode();
        }
        if (getProductName() != null) {
            _hashCode += getProductName().hashCode();
        }
        if (getProductOption() != null) {
            _hashCode += getProductOption().hashCode();
        }
        if (getProductOrderID() != null) {
            _hashCode += getProductOrderID().hashCode();
        }
        if (getPurchaseReviewId() != null) {
            _hashCode += getPurchaseReviewId().hashCode();
        }
        if (getPurchaseReviewScore() != null) {
            _hashCode += getPurchaseReviewScore().hashCode();
        }
        if (getTitle() != null) {
            _hashCode += getTitle().hashCode();
        }
        if (getWriterId() != null) {
            _hashCode += getWriterId().hashCode();
        }
        if (getContent() != null) {
            _hashCode += getContent().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(PurchaseReview.class, true);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "purchaseReview"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("createYmdt");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "CreateYmdt"));
        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("mallID");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "MallID"));
        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("modifyYmdt");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ModifyYmdt"));
        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("productID");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ProductID"));
        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("productName");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ProductName"));
        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("productOption");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ProductOption"));
        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("productOrderID");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "ProductOrderID"));
        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("purchaseReviewId");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "PurchaseReviewId"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("purchaseReviewScore");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "PurchaseReviewScore"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("title");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "Title"));
        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("writerId");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "WriterId"));
        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("content");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "Content"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        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);
    }

}
