/**
 * CommodityInfo.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 CommodityInfo  implements java.io.Serializable {
    private java.lang.String description;

    private double quantity;

    private double unitValue;

    private double unitWeight;

    private java.lang.String productCode;

    private java.lang.String harmonizedCode;

    private java.lang.String ECCN;

    private java.lang.String licenseExportNumber;

    private java.util.Calendar exportNumberExpireDate;

    private com.adsionline.ADSIShippingWS.EnumUnitOfMeasure unitOfMeasure;

    private com.adsionline.ADSIShippingWS.Country originCountry;

    private com.adsionline.ADSIShippingWS.Country ultimateDestinationCountry;

    private boolean naftaFlag;

    private java.lang.String ITARExemptionNumber;

    private com.adsionline.ADSIShippingWS.EnumLicenseException licenseExemptionSymbol;

    private java.lang.Integer grossWeightInWholeKG;

    private com.adsionline.ADSIShippingWS.EnumUnitOfMeasure secondUnitOfMeaseure;

    private java.lang.Double secondQuantity;

    private java.lang.String marksAndNumbers;

    private java.lang.String exportCode;

    private java.lang.Boolean vehicleFlag;

    private java.lang.String vehicleID;

    private java.lang.String vehicleIDType;

    private java.lang.String vehicleTitle;

    private java.lang.String vehicleTitleState;

    private java.lang.String ODTCITARExemptionNumber;

    private java.lang.String ODTCRegistrationNumber;

    private java.lang.Boolean ODTCSignifactMilitaryEquiptment;

    private java.lang.Boolean ODTCEligiblePartyCertification;

    private java.lang.String ODTCUSMLCategoryCode;

    private com.adsionline.ADSIShippingWS.EnumUnitOfMeasure ODTCUnitOfMeasure;

    private java.lang.Double ODTCQuantity;

    private java.lang.Double AESUnitQuantity;

    private java.lang.Double AESUnitValue;

    private com.adsionline.ADSIShippingWS.EnumUnitOfMeasure AESUnitOfMeasure;

    public CommodityInfo() {
    }

    public CommodityInfo(
           java.lang.String description,
           double quantity,
           double unitValue,
           double unitWeight,
           java.lang.String productCode,
           java.lang.String harmonizedCode,
           java.lang.String ECCN,
           java.lang.String licenseExportNumber,
           java.util.Calendar exportNumberExpireDate,
           com.adsionline.ADSIShippingWS.EnumUnitOfMeasure unitOfMeasure,
           com.adsionline.ADSIShippingWS.Country originCountry,
           com.adsionline.ADSIShippingWS.Country ultimateDestinationCountry,
           boolean naftaFlag,
           java.lang.String ITARExemptionNumber,
           com.adsionline.ADSIShippingWS.EnumLicenseException licenseExemptionSymbol,
           java.lang.Integer grossWeightInWholeKG,
           com.adsionline.ADSIShippingWS.EnumUnitOfMeasure secondUnitOfMeaseure,
           java.lang.Double secondQuantity,
           java.lang.String marksAndNumbers,
           java.lang.String exportCode,
           java.lang.Boolean vehicleFlag,
           java.lang.String vehicleID,
           java.lang.String vehicleIDType,
           java.lang.String vehicleTitle,
           java.lang.String vehicleTitleState,
           java.lang.String ODTCITARExemptionNumber,
           java.lang.String ODTCRegistrationNumber,
           java.lang.Boolean ODTCSignifactMilitaryEquiptment,
           java.lang.Boolean ODTCEligiblePartyCertification,
           java.lang.String ODTCUSMLCategoryCode,
           com.adsionline.ADSIShippingWS.EnumUnitOfMeasure ODTCUnitOfMeasure,
           java.lang.Double ODTCQuantity,
           java.lang.Double AESUnitQuantity,
           java.lang.Double AESUnitValue,
           com.adsionline.ADSIShippingWS.EnumUnitOfMeasure AESUnitOfMeasure) {
           this.description = description;
           this.quantity = quantity;
           this.unitValue = unitValue;
           this.unitWeight = unitWeight;
           this.productCode = productCode;
           this.harmonizedCode = harmonizedCode;
           this.ECCN = ECCN;
           this.licenseExportNumber = licenseExportNumber;
           this.exportNumberExpireDate = exportNumberExpireDate;
           this.unitOfMeasure = unitOfMeasure;
           this.originCountry = originCountry;
           this.ultimateDestinationCountry = ultimateDestinationCountry;
           this.naftaFlag = naftaFlag;
           this.ITARExemptionNumber = ITARExemptionNumber;
           this.licenseExemptionSymbol = licenseExemptionSymbol;
           this.grossWeightInWholeKG = grossWeightInWholeKG;
           this.secondUnitOfMeaseure = secondUnitOfMeaseure;
           this.secondQuantity = secondQuantity;
           this.marksAndNumbers = marksAndNumbers;
           this.exportCode = exportCode;
           this.vehicleFlag = vehicleFlag;
           this.vehicleID = vehicleID;
           this.vehicleIDType = vehicleIDType;
           this.vehicleTitle = vehicleTitle;
           this.vehicleTitleState = vehicleTitleState;
           this.ODTCITARExemptionNumber = ODTCITARExemptionNumber;
           this.ODTCRegistrationNumber = ODTCRegistrationNumber;
           this.ODTCSignifactMilitaryEquiptment = ODTCSignifactMilitaryEquiptment;
           this.ODTCEligiblePartyCertification = ODTCEligiblePartyCertification;
           this.ODTCUSMLCategoryCode = ODTCUSMLCategoryCode;
           this.ODTCUnitOfMeasure = ODTCUnitOfMeasure;
           this.ODTCQuantity = ODTCQuantity;
           this.AESUnitQuantity = AESUnitQuantity;
           this.AESUnitValue = AESUnitValue;
           this.AESUnitOfMeasure = AESUnitOfMeasure;
    }


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


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


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


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


    /**
     * Gets the unitValue value for this CommodityInfo.
     * 
     * @return unitValue
     */
    public double getUnitValue() {
        return unitValue;
    }


    /**
     * Sets the unitValue value for this CommodityInfo.
     * 
     * @param unitValue
     */
    public void setUnitValue(double unitValue) {
        this.unitValue = unitValue;
    }


    /**
     * Gets the unitWeight value for this CommodityInfo.
     * 
     * @return unitWeight
     */
    public double getUnitWeight() {
        return unitWeight;
    }


    /**
     * Sets the unitWeight value for this CommodityInfo.
     * 
     * @param unitWeight
     */
    public void setUnitWeight(double unitWeight) {
        this.unitWeight = unitWeight;
    }


    /**
     * Gets the productCode value for this CommodityInfo.
     * 
     * @return productCode
     */
    public java.lang.String getProductCode() {
        return productCode;
    }


    /**
     * Sets the productCode value for this CommodityInfo.
     * 
     * @param productCode
     */
    public void setProductCode(java.lang.String productCode) {
        this.productCode = productCode;
    }


    /**
     * Gets the harmonizedCode value for this CommodityInfo.
     * 
     * @return harmonizedCode
     */
    public java.lang.String getHarmonizedCode() {
        return harmonizedCode;
    }


    /**
     * Sets the harmonizedCode value for this CommodityInfo.
     * 
     * @param harmonizedCode
     */
    public void setHarmonizedCode(java.lang.String harmonizedCode) {
        this.harmonizedCode = harmonizedCode;
    }


    /**
     * Gets the ECCN value for this CommodityInfo.
     * 
     * @return ECCN
     */
    public java.lang.String getECCN() {
        return ECCN;
    }


    /**
     * Sets the ECCN value for this CommodityInfo.
     * 
     * @param ECCN
     */
    public void setECCN(java.lang.String ECCN) {
        this.ECCN = ECCN;
    }


    /**
     * Gets the licenseExportNumber value for this CommodityInfo.
     * 
     * @return licenseExportNumber
     */
    public java.lang.String getLicenseExportNumber() {
        return licenseExportNumber;
    }


    /**
     * Sets the licenseExportNumber value for this CommodityInfo.
     * 
     * @param licenseExportNumber
     */
    public void setLicenseExportNumber(java.lang.String licenseExportNumber) {
        this.licenseExportNumber = licenseExportNumber;
    }


    /**
     * Gets the exportNumberExpireDate value for this CommodityInfo.
     * 
     * @return exportNumberExpireDate
     */
    public java.util.Calendar getExportNumberExpireDate() {
        return exportNumberExpireDate;
    }


    /**
     * Sets the exportNumberExpireDate value for this CommodityInfo.
     * 
     * @param exportNumberExpireDate
     */
    public void setExportNumberExpireDate(java.util.Calendar exportNumberExpireDate) {
        this.exportNumberExpireDate = exportNumberExpireDate;
    }


    /**
     * Gets the unitOfMeasure value for this CommodityInfo.
     * 
     * @return unitOfMeasure
     */
    public com.adsionline.ADSIShippingWS.EnumUnitOfMeasure getUnitOfMeasure() {
        return unitOfMeasure;
    }


    /**
     * Sets the unitOfMeasure value for this CommodityInfo.
     * 
     * @param unitOfMeasure
     */
    public void setUnitOfMeasure(com.adsionline.ADSIShippingWS.EnumUnitOfMeasure unitOfMeasure) {
        this.unitOfMeasure = unitOfMeasure;
    }


    /**
     * Gets the originCountry value for this CommodityInfo.
     * 
     * @return originCountry
     */
    public com.adsionline.ADSIShippingWS.Country getOriginCountry() {
        return originCountry;
    }


    /**
     * Sets the originCountry value for this CommodityInfo.
     * 
     * @param originCountry
     */
    public void setOriginCountry(com.adsionline.ADSIShippingWS.Country originCountry) {
        this.originCountry = originCountry;
    }


    /**
     * Gets the ultimateDestinationCountry value for this CommodityInfo.
     * 
     * @return ultimateDestinationCountry
     */
    public com.adsionline.ADSIShippingWS.Country getUltimateDestinationCountry() {
        return ultimateDestinationCountry;
    }


    /**
     * Sets the ultimateDestinationCountry value for this CommodityInfo.
     * 
     * @param ultimateDestinationCountry
     */
    public void setUltimateDestinationCountry(com.adsionline.ADSIShippingWS.Country ultimateDestinationCountry) {
        this.ultimateDestinationCountry = ultimateDestinationCountry;
    }


    /**
     * Gets the naftaFlag value for this CommodityInfo.
     * 
     * @return naftaFlag
     */
    public boolean isNaftaFlag() {
        return naftaFlag;
    }


    /**
     * Sets the naftaFlag value for this CommodityInfo.
     * 
     * @param naftaFlag
     */
    public void setNaftaFlag(boolean naftaFlag) {
        this.naftaFlag = naftaFlag;
    }


    /**
     * Gets the ITARExemptionNumber value for this CommodityInfo.
     * 
     * @return ITARExemptionNumber
     */
    public java.lang.String getITARExemptionNumber() {
        return ITARExemptionNumber;
    }


    /**
     * Sets the ITARExemptionNumber value for this CommodityInfo.
     * 
     * @param ITARExemptionNumber
     */
    public void setITARExemptionNumber(java.lang.String ITARExemptionNumber) {
        this.ITARExemptionNumber = ITARExemptionNumber;
    }


    /**
     * Gets the licenseExemptionSymbol value for this CommodityInfo.
     * 
     * @return licenseExemptionSymbol
     */
    public com.adsionline.ADSIShippingWS.EnumLicenseException getLicenseExemptionSymbol() {
        return licenseExemptionSymbol;
    }


    /**
     * Sets the licenseExemptionSymbol value for this CommodityInfo.
     * 
     * @param licenseExemptionSymbol
     */
    public void setLicenseExemptionSymbol(com.adsionline.ADSIShippingWS.EnumLicenseException licenseExemptionSymbol) {
        this.licenseExemptionSymbol = licenseExemptionSymbol;
    }


    /**
     * Gets the grossWeightInWholeKG value for this CommodityInfo.
     * 
     * @return grossWeightInWholeKG
     */
    public java.lang.Integer getGrossWeightInWholeKG() {
        return grossWeightInWholeKG;
    }


    /**
     * Sets the grossWeightInWholeKG value for this CommodityInfo.
     * 
     * @param grossWeightInWholeKG
     */
    public void setGrossWeightInWholeKG(java.lang.Integer grossWeightInWholeKG) {
        this.grossWeightInWholeKG = grossWeightInWholeKG;
    }


    /**
     * Gets the secondUnitOfMeaseure value for this CommodityInfo.
     * 
     * @return secondUnitOfMeaseure
     */
    public com.adsionline.ADSIShippingWS.EnumUnitOfMeasure getSecondUnitOfMeaseure() {
        return secondUnitOfMeaseure;
    }


    /**
     * Sets the secondUnitOfMeaseure value for this CommodityInfo.
     * 
     * @param secondUnitOfMeaseure
     */
    public void setSecondUnitOfMeaseure(com.adsionline.ADSIShippingWS.EnumUnitOfMeasure secondUnitOfMeaseure) {
        this.secondUnitOfMeaseure = secondUnitOfMeaseure;
    }


    /**
     * Gets the secondQuantity value for this CommodityInfo.
     * 
     * @return secondQuantity
     */
    public java.lang.Double getSecondQuantity() {
        return secondQuantity;
    }


    /**
     * Sets the secondQuantity value for this CommodityInfo.
     * 
     * @param secondQuantity
     */
    public void setSecondQuantity(java.lang.Double secondQuantity) {
        this.secondQuantity = secondQuantity;
    }


    /**
     * Gets the marksAndNumbers value for this CommodityInfo.
     * 
     * @return marksAndNumbers
     */
    public java.lang.String getMarksAndNumbers() {
        return marksAndNumbers;
    }


    /**
     * Sets the marksAndNumbers value for this CommodityInfo.
     * 
     * @param marksAndNumbers
     */
    public void setMarksAndNumbers(java.lang.String marksAndNumbers) {
        this.marksAndNumbers = marksAndNumbers;
    }


    /**
     * Gets the exportCode value for this CommodityInfo.
     * 
     * @return exportCode
     */
    public java.lang.String getExportCode() {
        return exportCode;
    }


    /**
     * Sets the exportCode value for this CommodityInfo.
     * 
     * @param exportCode
     */
    public void setExportCode(java.lang.String exportCode) {
        this.exportCode = exportCode;
    }


    /**
     * Gets the vehicleFlag value for this CommodityInfo.
     * 
     * @return vehicleFlag
     */
    public java.lang.Boolean getVehicleFlag() {
        return vehicleFlag;
    }


    /**
     * Sets the vehicleFlag value for this CommodityInfo.
     * 
     * @param vehicleFlag
     */
    public void setVehicleFlag(java.lang.Boolean vehicleFlag) {
        this.vehicleFlag = vehicleFlag;
    }


    /**
     * Gets the vehicleID value for this CommodityInfo.
     * 
     * @return vehicleID
     */
    public java.lang.String getVehicleID() {
        return vehicleID;
    }


    /**
     * Sets the vehicleID value for this CommodityInfo.
     * 
     * @param vehicleID
     */
    public void setVehicleID(java.lang.String vehicleID) {
        this.vehicleID = vehicleID;
    }


    /**
     * Gets the vehicleIDType value for this CommodityInfo.
     * 
     * @return vehicleIDType
     */
    public java.lang.String getVehicleIDType() {
        return vehicleIDType;
    }


    /**
     * Sets the vehicleIDType value for this CommodityInfo.
     * 
     * @param vehicleIDType
     */
    public void setVehicleIDType(java.lang.String vehicleIDType) {
        this.vehicleIDType = vehicleIDType;
    }


    /**
     * Gets the vehicleTitle value for this CommodityInfo.
     * 
     * @return vehicleTitle
     */
    public java.lang.String getVehicleTitle() {
        return vehicleTitle;
    }


    /**
     * Sets the vehicleTitle value for this CommodityInfo.
     * 
     * @param vehicleTitle
     */
    public void setVehicleTitle(java.lang.String vehicleTitle) {
        this.vehicleTitle = vehicleTitle;
    }


    /**
     * Gets the vehicleTitleState value for this CommodityInfo.
     * 
     * @return vehicleTitleState
     */
    public java.lang.String getVehicleTitleState() {
        return vehicleTitleState;
    }


    /**
     * Sets the vehicleTitleState value for this CommodityInfo.
     * 
     * @param vehicleTitleState
     */
    public void setVehicleTitleState(java.lang.String vehicleTitleState) {
        this.vehicleTitleState = vehicleTitleState;
    }


    /**
     * Gets the ODTCITARExemptionNumber value for this CommodityInfo.
     * 
     * @return ODTCITARExemptionNumber
     */
    public java.lang.String getODTCITARExemptionNumber() {
        return ODTCITARExemptionNumber;
    }


    /**
     * Sets the ODTCITARExemptionNumber value for this CommodityInfo.
     * 
     * @param ODTCITARExemptionNumber
     */
    public void setODTCITARExemptionNumber(java.lang.String ODTCITARExemptionNumber) {
        this.ODTCITARExemptionNumber = ODTCITARExemptionNumber;
    }


    /**
     * Gets the ODTCRegistrationNumber value for this CommodityInfo.
     * 
     * @return ODTCRegistrationNumber
     */
    public java.lang.String getODTCRegistrationNumber() {
        return ODTCRegistrationNumber;
    }


    /**
     * Sets the ODTCRegistrationNumber value for this CommodityInfo.
     * 
     * @param ODTCRegistrationNumber
     */
    public void setODTCRegistrationNumber(java.lang.String ODTCRegistrationNumber) {
        this.ODTCRegistrationNumber = ODTCRegistrationNumber;
    }


    /**
     * Gets the ODTCSignifactMilitaryEquiptment value for this CommodityInfo.
     * 
     * @return ODTCSignifactMilitaryEquiptment
     */
    public java.lang.Boolean getODTCSignifactMilitaryEquiptment() {
        return ODTCSignifactMilitaryEquiptment;
    }


    /**
     * Sets the ODTCSignifactMilitaryEquiptment value for this CommodityInfo.
     * 
     * @param ODTCSignifactMilitaryEquiptment
     */
    public void setODTCSignifactMilitaryEquiptment(java.lang.Boolean ODTCSignifactMilitaryEquiptment) {
        this.ODTCSignifactMilitaryEquiptment = ODTCSignifactMilitaryEquiptment;
    }


    /**
     * Gets the ODTCEligiblePartyCertification value for this CommodityInfo.
     * 
     * @return ODTCEligiblePartyCertification
     */
    public java.lang.Boolean getODTCEligiblePartyCertification() {
        return ODTCEligiblePartyCertification;
    }


    /**
     * Sets the ODTCEligiblePartyCertification value for this CommodityInfo.
     * 
     * @param ODTCEligiblePartyCertification
     */
    public void setODTCEligiblePartyCertification(java.lang.Boolean ODTCEligiblePartyCertification) {
        this.ODTCEligiblePartyCertification = ODTCEligiblePartyCertification;
    }


    /**
     * Gets the ODTCUSMLCategoryCode value for this CommodityInfo.
     * 
     * @return ODTCUSMLCategoryCode
     */
    public java.lang.String getODTCUSMLCategoryCode() {
        return ODTCUSMLCategoryCode;
    }


    /**
     * Sets the ODTCUSMLCategoryCode value for this CommodityInfo.
     * 
     * @param ODTCUSMLCategoryCode
     */
    public void setODTCUSMLCategoryCode(java.lang.String ODTCUSMLCategoryCode) {
        this.ODTCUSMLCategoryCode = ODTCUSMLCategoryCode;
    }


    /**
     * Gets the ODTCUnitOfMeasure value for this CommodityInfo.
     * 
     * @return ODTCUnitOfMeasure
     */
    public com.adsionline.ADSIShippingWS.EnumUnitOfMeasure getODTCUnitOfMeasure() {
        return ODTCUnitOfMeasure;
    }


    /**
     * Sets the ODTCUnitOfMeasure value for this CommodityInfo.
     * 
     * @param ODTCUnitOfMeasure
     */
    public void setODTCUnitOfMeasure(com.adsionline.ADSIShippingWS.EnumUnitOfMeasure ODTCUnitOfMeasure) {
        this.ODTCUnitOfMeasure = ODTCUnitOfMeasure;
    }


    /**
     * Gets the ODTCQuantity value for this CommodityInfo.
     * 
     * @return ODTCQuantity
     */
    public java.lang.Double getODTCQuantity() {
        return ODTCQuantity;
    }


    /**
     * Sets the ODTCQuantity value for this CommodityInfo.
     * 
     * @param ODTCQuantity
     */
    public void setODTCQuantity(java.lang.Double ODTCQuantity) {
        this.ODTCQuantity = ODTCQuantity;
    }


    /**
     * Gets the AESUnitQuantity value for this CommodityInfo.
     * 
     * @return AESUnitQuantity
     */
    public java.lang.Double getAESUnitQuantity() {
        return AESUnitQuantity;
    }


    /**
     * Sets the AESUnitQuantity value for this CommodityInfo.
     * 
     * @param AESUnitQuantity
     */
    public void setAESUnitQuantity(java.lang.Double AESUnitQuantity) {
        this.AESUnitQuantity = AESUnitQuantity;
    }


    /**
     * Gets the AESUnitValue value for this CommodityInfo.
     * 
     * @return AESUnitValue
     */
    public java.lang.Double getAESUnitValue() {
        return AESUnitValue;
    }


    /**
     * Sets the AESUnitValue value for this CommodityInfo.
     * 
     * @param AESUnitValue
     */
    public void setAESUnitValue(java.lang.Double AESUnitValue) {
        this.AESUnitValue = AESUnitValue;
    }


    /**
     * Gets the AESUnitOfMeasure value for this CommodityInfo.
     * 
     * @return AESUnitOfMeasure
     */
    public com.adsionline.ADSIShippingWS.EnumUnitOfMeasure getAESUnitOfMeasure() {
        return AESUnitOfMeasure;
    }


    /**
     * Sets the AESUnitOfMeasure value for this CommodityInfo.
     * 
     * @param AESUnitOfMeasure
     */
    public void setAESUnitOfMeasure(com.adsionline.ADSIShippingWS.EnumUnitOfMeasure AESUnitOfMeasure) {
        this.AESUnitOfMeasure = AESUnitOfMeasure;
    }

    private java.lang.Object __equalsCalc = null;
    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof CommodityInfo)) return false;
        CommodityInfo other = (CommodityInfo) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true && 
            ((this.description==null && other.getDescription()==null) || 
             (this.description!=null &&
              this.description.equals(other.getDescription()))) &&
            this.quantity == other.getQuantity() &&
            this.unitValue == other.getUnitValue() &&
            this.unitWeight == other.getUnitWeight() &&
            ((this.productCode==null && other.getProductCode()==null) || 
             (this.productCode!=null &&
              this.productCode.equals(other.getProductCode()))) &&
            ((this.harmonizedCode==null && other.getHarmonizedCode()==null) || 
             (this.harmonizedCode!=null &&
              this.harmonizedCode.equals(other.getHarmonizedCode()))) &&
            ((this.ECCN==null && other.getECCN()==null) || 
             (this.ECCN!=null &&
              this.ECCN.equals(other.getECCN()))) &&
            ((this.licenseExportNumber==null && other.getLicenseExportNumber()==null) || 
             (this.licenseExportNumber!=null &&
              this.licenseExportNumber.equals(other.getLicenseExportNumber()))) &&
            ((this.exportNumberExpireDate==null && other.getExportNumberExpireDate()==null) || 
             (this.exportNumberExpireDate!=null &&
              this.exportNumberExpireDate.equals(other.getExportNumberExpireDate()))) &&
            ((this.unitOfMeasure==null && other.getUnitOfMeasure()==null) || 
             (this.unitOfMeasure!=null &&
              this.unitOfMeasure.equals(other.getUnitOfMeasure()))) &&
            ((this.originCountry==null && other.getOriginCountry()==null) || 
             (this.originCountry!=null &&
              this.originCountry.equals(other.getOriginCountry()))) &&
            ((this.ultimateDestinationCountry==null && other.getUltimateDestinationCountry()==null) || 
             (this.ultimateDestinationCountry!=null &&
              this.ultimateDestinationCountry.equals(other.getUltimateDestinationCountry()))) &&
            this.naftaFlag == other.isNaftaFlag() &&
            ((this.ITARExemptionNumber==null && other.getITARExemptionNumber()==null) || 
             (this.ITARExemptionNumber!=null &&
              this.ITARExemptionNumber.equals(other.getITARExemptionNumber()))) &&
            ((this.licenseExemptionSymbol==null && other.getLicenseExemptionSymbol()==null) || 
             (this.licenseExemptionSymbol!=null &&
              this.licenseExemptionSymbol.equals(other.getLicenseExemptionSymbol()))) &&
            ((this.grossWeightInWholeKG==null && other.getGrossWeightInWholeKG()==null) || 
             (this.grossWeightInWholeKG!=null &&
              this.grossWeightInWholeKG.equals(other.getGrossWeightInWholeKG()))) &&
            ((this.secondUnitOfMeaseure==null && other.getSecondUnitOfMeaseure()==null) || 
             (this.secondUnitOfMeaseure!=null &&
              this.secondUnitOfMeaseure.equals(other.getSecondUnitOfMeaseure()))) &&
            ((this.secondQuantity==null && other.getSecondQuantity()==null) || 
             (this.secondQuantity!=null &&
              this.secondQuantity.equals(other.getSecondQuantity()))) &&
            ((this.marksAndNumbers==null && other.getMarksAndNumbers()==null) || 
             (this.marksAndNumbers!=null &&
              this.marksAndNumbers.equals(other.getMarksAndNumbers()))) &&
            ((this.exportCode==null && other.getExportCode()==null) || 
             (this.exportCode!=null &&
              this.exportCode.equals(other.getExportCode()))) &&
            ((this.vehicleFlag==null && other.getVehicleFlag()==null) || 
             (this.vehicleFlag!=null &&
              this.vehicleFlag.equals(other.getVehicleFlag()))) &&
            ((this.vehicleID==null && other.getVehicleID()==null) || 
             (this.vehicleID!=null &&
              this.vehicleID.equals(other.getVehicleID()))) &&
            ((this.vehicleIDType==null && other.getVehicleIDType()==null) || 
             (this.vehicleIDType!=null &&
              this.vehicleIDType.equals(other.getVehicleIDType()))) &&
            ((this.vehicleTitle==null && other.getVehicleTitle()==null) || 
             (this.vehicleTitle!=null &&
              this.vehicleTitle.equals(other.getVehicleTitle()))) &&
            ((this.vehicleTitleState==null && other.getVehicleTitleState()==null) || 
             (this.vehicleTitleState!=null &&
              this.vehicleTitleState.equals(other.getVehicleTitleState()))) &&
            ((this.ODTCITARExemptionNumber==null && other.getODTCITARExemptionNumber()==null) || 
             (this.ODTCITARExemptionNumber!=null &&
              this.ODTCITARExemptionNumber.equals(other.getODTCITARExemptionNumber()))) &&
            ((this.ODTCRegistrationNumber==null && other.getODTCRegistrationNumber()==null) || 
             (this.ODTCRegistrationNumber!=null &&
              this.ODTCRegistrationNumber.equals(other.getODTCRegistrationNumber()))) &&
            ((this.ODTCSignifactMilitaryEquiptment==null && other.getODTCSignifactMilitaryEquiptment()==null) || 
             (this.ODTCSignifactMilitaryEquiptment!=null &&
              this.ODTCSignifactMilitaryEquiptment.equals(other.getODTCSignifactMilitaryEquiptment()))) &&
            ((this.ODTCEligiblePartyCertification==null && other.getODTCEligiblePartyCertification()==null) || 
             (this.ODTCEligiblePartyCertification!=null &&
              this.ODTCEligiblePartyCertification.equals(other.getODTCEligiblePartyCertification()))) &&
            ((this.ODTCUSMLCategoryCode==null && other.getODTCUSMLCategoryCode()==null) || 
             (this.ODTCUSMLCategoryCode!=null &&
              this.ODTCUSMLCategoryCode.equals(other.getODTCUSMLCategoryCode()))) &&
            ((this.ODTCUnitOfMeasure==null && other.getODTCUnitOfMeasure()==null) || 
             (this.ODTCUnitOfMeasure!=null &&
              this.ODTCUnitOfMeasure.equals(other.getODTCUnitOfMeasure()))) &&
            ((this.ODTCQuantity==null && other.getODTCQuantity()==null) || 
             (this.ODTCQuantity!=null &&
              this.ODTCQuantity.equals(other.getODTCQuantity()))) &&
            ((this.AESUnitQuantity==null && other.getAESUnitQuantity()==null) || 
             (this.AESUnitQuantity!=null &&
              this.AESUnitQuantity.equals(other.getAESUnitQuantity()))) &&
            ((this.AESUnitValue==null && other.getAESUnitValue()==null) || 
             (this.AESUnitValue!=null &&
              this.AESUnitValue.equals(other.getAESUnitValue()))) &&
            ((this.AESUnitOfMeasure==null && other.getAESUnitOfMeasure()==null) || 
             (this.AESUnitOfMeasure!=null &&
              this.AESUnitOfMeasure.equals(other.getAESUnitOfMeasure())));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = 1;
        if (getDescription() != null) {
            _hashCode += getDescription().hashCode();
        }
        _hashCode += new Double(getQuantity()).hashCode();
        _hashCode += new Double(getUnitValue()).hashCode();
        _hashCode += new Double(getUnitWeight()).hashCode();
        if (getProductCode() != null) {
            _hashCode += getProductCode().hashCode();
        }
        if (getHarmonizedCode() != null) {
            _hashCode += getHarmonizedCode().hashCode();
        }
        if (getECCN() != null) {
            _hashCode += getECCN().hashCode();
        }
        if (getLicenseExportNumber() != null) {
            _hashCode += getLicenseExportNumber().hashCode();
        }
        if (getExportNumberExpireDate() != null) {
            _hashCode += getExportNumberExpireDate().hashCode();
        }
        if (getUnitOfMeasure() != null) {
            _hashCode += getUnitOfMeasure().hashCode();
        }
        if (getOriginCountry() != null) {
            _hashCode += getOriginCountry().hashCode();
        }
        if (getUltimateDestinationCountry() != null) {
            _hashCode += getUltimateDestinationCountry().hashCode();
        }
        _hashCode += (isNaftaFlag() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        if (getITARExemptionNumber() != null) {
            _hashCode += getITARExemptionNumber().hashCode();
        }
        if (getLicenseExemptionSymbol() != null) {
            _hashCode += getLicenseExemptionSymbol().hashCode();
        }
        if (getGrossWeightInWholeKG() != null) {
            _hashCode += getGrossWeightInWholeKG().hashCode();
        }
        if (getSecondUnitOfMeaseure() != null) {
            _hashCode += getSecondUnitOfMeaseure().hashCode();
        }
        if (getSecondQuantity() != null) {
            _hashCode += getSecondQuantity().hashCode();
        }
        if (getMarksAndNumbers() != null) {
            _hashCode += getMarksAndNumbers().hashCode();
        }
        if (getExportCode() != null) {
            _hashCode += getExportCode().hashCode();
        }
        if (getVehicleFlag() != null) {
            _hashCode += getVehicleFlag().hashCode();
        }
        if (getVehicleID() != null) {
            _hashCode += getVehicleID().hashCode();
        }
        if (getVehicleIDType() != null) {
            _hashCode += getVehicleIDType().hashCode();
        }
        if (getVehicleTitle() != null) {
            _hashCode += getVehicleTitle().hashCode();
        }
        if (getVehicleTitleState() != null) {
            _hashCode += getVehicleTitleState().hashCode();
        }
        if (getODTCITARExemptionNumber() != null) {
            _hashCode += getODTCITARExemptionNumber().hashCode();
        }
        if (getODTCRegistrationNumber() != null) {
            _hashCode += getODTCRegistrationNumber().hashCode();
        }
        if (getODTCSignifactMilitaryEquiptment() != null) {
            _hashCode += getODTCSignifactMilitaryEquiptment().hashCode();
        }
        if (getODTCEligiblePartyCertification() != null) {
            _hashCode += getODTCEligiblePartyCertification().hashCode();
        }
        if (getODTCUSMLCategoryCode() != null) {
            _hashCode += getODTCUSMLCategoryCode().hashCode();
        }
        if (getODTCUnitOfMeasure() != null) {
            _hashCode += getODTCUnitOfMeasure().hashCode();
        }
        if (getODTCQuantity() != null) {
            _hashCode += getODTCQuantity().hashCode();
        }
        if (getAESUnitQuantity() != null) {
            _hashCode += getAESUnitQuantity().hashCode();
        }
        if (getAESUnitValue() != null) {
            _hashCode += getAESUnitValue().hashCode();
        }
        if (getAESUnitOfMeasure() != null) {
            _hashCode += getAESUnitOfMeasure().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }

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

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "CommodityInfo"));
        org.apache.axis.description.ElementDesc 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", "double"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("unitValue");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "UnitValue"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("unitWeight");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "UnitWeight"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("productCode");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ProductCode"));
        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("harmonizedCode");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "HarmonizedCode"));
        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("ECCN");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ECCN"));
        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("licenseExportNumber");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "LicenseExportNumber"));
        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("exportNumberExpireDate");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ExportNumberExpireDate"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
        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://adsionline.com/ADSIShippingWS/", "enumUnitOfMeasure"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("originCountry");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "OriginCountry"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "Country"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("ultimateDestinationCountry");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "UltimateDestinationCountry"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "Country"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("naftaFlag");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "NaftaFlag"));
        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("ITARExemptionNumber");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ITARExemptionNumber"));
        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("licenseExemptionSymbol");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "LicenseExemptionSymbol"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "enumLicenseException"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("grossWeightInWholeKG");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "GrossWeightInWholeKG"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("secondUnitOfMeaseure");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "SecondUnitOfMeaseure"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "enumUnitOfMeasure"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("secondQuantity");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "SecondQuantity"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("marksAndNumbers");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "MarksAndNumbers"));
        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("exportCode");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ExportCode"));
        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("vehicleFlag");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "VehicleFlag"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("vehicleID");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "VehicleID"));
        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("vehicleIDType");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "VehicleIDType"));
        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("vehicleTitle");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "VehicleTitle"));
        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("vehicleTitleState");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "VehicleTitleState"));
        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("ODTCITARExemptionNumber");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ODTCITARExemptionNumber"));
        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("ODTCRegistrationNumber");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ODTCRegistrationNumber"));
        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("ODTCSignifactMilitaryEquiptment");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ODTCSignifactMilitaryEquiptment"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("ODTCEligiblePartyCertification");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ODTCEligiblePartyCertification"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("ODTCUSMLCategoryCode");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ODTCUSMLCategoryCode"));
        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("ODTCUnitOfMeasure");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ODTCUnitOfMeasure"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "enumUnitOfMeasure"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("ODTCQuantity");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "ODTCQuantity"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("AESUnitQuantity");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "AESUnitQuantity"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("AESUnitValue");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "AESUnitValue"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("AESUnitOfMeasure");
        elemField.setXmlName(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "AESUnitOfMeasure"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://adsionline.com/ADSIShippingWS/", "enumUnitOfMeasure"));
        elemField.setNillable(true);
        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);
    }

}
