/**
 * MigratedProductOrder.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 MigratedProductOrder  implements java.io.Serializable {
    private String mallManageCode;

    private String productID;

    private String productName;

    private String productOption;

    private String productOrderID;

    private Integer quantity;

    public MigratedProductOrder() {
    }

    public MigratedProductOrder(
           String mallManageCode,
           String productID,
           String productName,
           String productOption,
           String productOrderID,
           Integer quantity) {
           this.mallManageCode = mallManageCode;
           this.productID = productID;
           this.productName = productName;
           this.productOption = productOption;
           this.productOrderID = productOrderID;
           this.quantity = quantity;
    }


    /**
     * Gets the mallManageCode value for this MigratedProductOrder.
     *
     * @return mallManageCode
     */
    public String getMallManageCode() {
        return mallManageCode;
    }


    /**
     * Sets the mallManageCode value for this MigratedProductOrder.
     *
     * @param mallManageCode
     */
    public void setMallManageCode(String mallManageCode) {
        this.mallManageCode = mallManageCode;
    }


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


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


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


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


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


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


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


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


    /**
     * Gets the quantity value for this MigratedProductOrder.
     *
     * @return quantity
     */
    public Integer getQuantity() {
        return quantity;
    }


    /**
     * Sets the quantity value for this MigratedProductOrder.
     *
     * @param quantity
     */
    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    private Object __equalsCalc = null;
    public synchronized boolean equals(Object obj) {
        if (!(obj instanceof MigratedProductOrder)) return false;
        MigratedProductOrder other = (MigratedProductOrder) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true &&
            ((this.mallManageCode==null && other.getMallManageCode()==null) ||
             (this.mallManageCode!=null &&
              this.mallManageCode.equals(other.getMallManageCode()))) &&
            ((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.quantity==null && other.getQuantity()==null) ||
             (this.quantity!=null &&
              this.quantity.equals(other.getQuantity())));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = 1;
        if (getMallManageCode() != null) {
            _hashCode += getMallManageCode().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 (getQuantity() != null) {
            _hashCode += getQuantity().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }

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

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "migratedProductOrder"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("mallManageCode");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "MallManageCode"));
        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("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("quantity");
        elemField.setXmlName(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "Quantity"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
        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);
    }

}
