/**
 * IDangerousGoods.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.adsionline.ADSIShippingWS;

public class IDangerousGoods  implements java.io.Serializable {
    private boolean accessibleFlag;

    private boolean cargoOnlyFlag;

    private boolean limitedQtyFlag;

    private java.lang.String ID;

    private java.lang.String _class;

    private java.lang.String description;

    private java.lang.String quantity;

    private java.lang.String packaging;

    private com.adsionline.ADSIShippingWS.EnumDGPackingGroup packingGroup;

    private long labels;

    private java.lang.String unitOfMeasure;

    public IDangerousGoods() {
    }

    public IDangerousGoods(
           boolean accessibleFlag,
           boolean cargoOnlyFlag,
           boolean limitedQtyFlag,
           java.lang.String ID,
           java.lang.String _class,
           java.lang.String description,
           java.lang.String quantity,
           java.lang.String packaging,
           com.adsionline.ADSIShippingWS.EnumDGPackingGroup packingGroup,
           long labels,
           java.lang.String unitOfMeasure) {
           this.accessibleFlag = accessibleFlag;
           this.cargoOnlyFlag = cargoOnlyFlag;
           this.limitedQtyFlag = limitedQtyFlag;
           this.ID = ID;
           this._class = _class;
           this.description = description;
           this.quantity = quantity;
           this.packaging = packaging;
           this.packingGroup = packingGroup;
           this.labels = labels;
           this.unitOfMeasure = unitOfMeasure;
    }


    /**
     * Gets the accessibleFlag value for this IDangerousGoods.
     * 
     * @return accessibleFlag
     */
    public boolean isAccessibleFlag() {
        return accessibleFlag;
    }


    /**
     * Sets the accessibleFlag value for this IDangerousGoods.
     * 
     * @param accessibleFlag
     */
    public void setAccessibleFlag(boolean accessibleFlag) {
        this.accessibleFlag = accessibleFlag;
    }


    /**
     * Gets the cargoOnlyFlag value for this IDangerousGoods.
     * 
     * @return cargoOnlyFlag
     */
    public boolean isCargoOnlyFlag() {
        return cargoOnlyFlag;
    }


    /**
     * Sets the cargoOnlyFlag value for this IDangerousGoods.
     * 
     * @param cargoOnlyFlag
     */
    public void setCargoOnlyFlag(boolean cargoOnlyFlag) {
        this.cargoOnlyFlag = cargoOnlyFlag;
    }


    /**
     * Gets the limitedQtyFlag value for this IDangerousGoods.
     * 
     * @return limitedQtyFlag
     */
    public boolean isLimitedQtyFlag() {
        return limitedQtyFlag;
    }


    /**
     * Sets the limitedQtyFlag value for this IDangerousGoods.
     * 
     * @param limitedQtyFlag
     */
    public void setLimitedQtyFlag(boolean limitedQtyFlag) {
        this.limitedQtyFlag = limitedQtyFlag;
    }


    /**
     * Gets the ID value for this IDangerousGoods.
     * 
     * @return ID
     */
    public java.lang.String getID() {
        return ID;
    }


    /**
     * Sets the ID value for this IDangerousGoods.
     * 
     * @param ID
     */
    public void setID(java.lang.String ID) {
        this.ID = ID;
    }


    /**
     * Gets the _class value for this IDangerousGoods.
     * 
     * @return _class
     */
    public java.lang.String get_class() {
        return _class;
    }


    /**
     * Sets the _class value for this IDangerousGoods.
     * 
     * @param _class
     */
    public void set_class(java.lang.String _class) {
        this._class = _class;
    }


    /**
     * Gets the description value for this IDangerousGoods.
     * 
     * @return description
     */
    public java.lang.String getDescription() {
        return description;
    }


    /**
     * Sets the description value for this IDangerousGoods.
     * 
     * @param description
     */
    public void setDescription(java.lang.String description) {
        this.description = description;
    }


    /**
     * Gets the quantity value for this IDangerousGoods.
     * 
     * @return quantity
     */
    public java.lang.String getQuantity() {
        return quantity;
    }


    /**
     * Sets the quantity value for this IDangerousGoods.
     * 
     * @param quantity
     */
    public void setQuantity(java.lang.String quantity) {
        this.quantity = quantity;
    }


    /**
     * Gets the packaging value for this IDangerousGoods.
     * 
     * @return packaging
     */
    public java.lang.String getPackaging() {
        return packaging;
    }


    /**
     * Sets the packaging value for this IDangerousGoods.
     * 
     * @param packaging
     */
    public void setPackaging(java.lang.String packaging) {
        this.packaging = packaging;
    }


    /**
     * Gets the packingGroup value for this IDangerousGoods.
     * 
     * @return packingGroup
     */
    public com.adsionline.ADSIShippingWS.EnumDGPackingGroup getPackingGroup() {
        return packingGroup;
    }


    /**
     * Sets the packingGroup value for this IDangerousGoods.
     * 
     * @param packingGroup
     */
    public void setPackingGroup(com.adsionline.ADSIShippingWS.EnumDGPackingGroup packingGroup) {
        this.packingGroup = packingGroup;
    }


    /**
     * Gets the labels value for this IDangerousGoods.
     * 
     * @return labels
     */
    public long getLabels() {
        return labels;
    }


    /**
     * Sets the labels value for this IDangerousGoods.
     * 
     * @param labels
     */
    public void setLabels(long labels) {
        this.labels = labels;
    }


    /**
     * Gets the unitOfMeasure value for this IDangerousGoods.
     * 
     * @return unitOfMeasure
     */
    public java.lang.String getUnitOfMeasure() {
        return unitOfMeasure;
    }


    /**
     * Sets the unitOfMeasure value for this IDangerousGoods.
     * 
     * @param unitOfMeasure
     */
    public void setUnitOfMeasure(java.lang.String unitOfMeasure) {
        this.unitOfMeasure = unitOfMeasure;
    }

    private java.lang.Object __equalsCalc = null;
    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof IDangerousGoods)) return false;
        IDangerousGoods other = (IDangerousGoods) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true && 
            this.accessibleFlag == other.isAccessibleFlag() &&
            this.cargoOnlyFlag == other.isCargoOnlyFlag() &&
            this.limitedQtyFlag == other.isLimitedQtyFlag() &&
            ((this.ID==null && other.getID()==null) || 
             (this.ID!=null &&
              this.ID.equals(other.getID()))) &&
            ((this._class==null && other.get_class()==null) || 
             (this._class!=null &&
              this._class.equals(other.get_class()))) &&
            ((this.description==null && other.getDescription()==null) || 
             (this.description!=null &&
              this.description.equals(other.getDescription()))) &&
            ((this.quantity==null && other.getQuantity()==null) || 
             (this.quantity!=null &&
              this.quantity.equals(other.getQuantity()))) &&
            ((this.packaging==null && other.getPackaging()==null) || 
             (this.packaging!=null &&
              this.packaging.equals(other.getPackaging()))) &&
            ((this.packingGroup==null && other.getPackingGroup()==null) || 
             (this.packingGroup!=null &&
              this.packingGroup.equals(other.getPackingGroup()))) &&
            this.labels == other.getLabels() &&
            ((this.unitOfMeasure==null && other.getUnitOfMeasure()==null) || 
             (this.unitOfMeasure!=null &&
              this.unitOfMeasure.equals(other.getUnitOfMeasure())));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = 1;
        _hashCode += (isAccessibleFlag() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        _hashCode += (isCargoOnlyFlag() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        _hashCode += (isLimitedQtyFlag() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        if (getID() != null) {
            _hashCode += getID().hashCode();
        }
        if (get_class() != null) {
            _hashCode += get_class().hashCode();
        }
        if (getDescription() != null) {
            _hashCode += getDescription().hashCode();
        }
        if (getQuantity() != null) {
            _hashCode += getQuantity().hashCode();
        }
        if (getPackaging() != null) {
            _hashCode += getPackaging().hashCode();
        }
        if (getPackingGroup() != null) {
            _hashCode += getPackingGroup().hashCode();
        }
        _hashCode += new Long(getLabels()).hashCode();
        if (getUnitOfMeasure() != null) {
            _hashCode += getUnitOfMeasure().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }

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

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "IDangerousGoods"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("accessibleFlag");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "AccessibleFlag"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("cargoOnlyFlag");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "CargoOnlyFlag"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("limitedQtyFlag");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "LimitedQtyFlag"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("ID");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ID"));
        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("_class");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "Class"));
        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("description");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "Description"));
        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://adsionline.com/ADSIShippingWS/", "Quantity"));
        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("packaging");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "Packaging"));
        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("packingGroup");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "PackingGroup"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "enumDGPackingGroup"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("labels");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "Labels"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("unitOfMeasure");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "UnitOfMeasure"));
        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(
           java.lang.String mechType, 
           java.lang.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(
           java.lang.String mechType, 
           java.lang.Class _javaType,  
           javax.xml.namespace.QName _xmlType) {
        return 
          new  org.apache.axis.encoding.ser.BeanDeserializer(
            _javaType, _xmlType, typeDesc);
    }

}
