/**
 * DryInfo.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.izouma.webservice.wsVeterinary;

public class DryInfo  implements java.io.Serializable {
    private java.lang.String cowID;

    private java.util.Calendar dryDate;

    private java.lang.String currFarm;

    private java.lang.String currGroup;

    private java.util.Calendar mateDate;

    private java.lang.String currCategory;

    private java.lang.String groCode;

    private java.lang.String repCode;

    private int currLact;

    private int milkDays;

    private java.lang.String dryType;

    private boolean isAbnormal;

    private java.lang.String abnormalReason;

    private boolean isDrugTreated;

    private java.lang.String drugName;

    private int drugDose;

    private java.lang.String operators;

    public DryInfo() {
    }

    public DryInfo(
           java.lang.String cowID,
           java.util.Calendar dryDate,
           java.lang.String currFarm,
           java.lang.String currGroup,
           java.util.Calendar mateDate,
           java.lang.String currCategory,
           java.lang.String groCode,
           java.lang.String repCode,
           int currLact,
           int milkDays,
           java.lang.String dryType,
           boolean isAbnormal,
           java.lang.String abnormalReason,
           boolean isDrugTreated,
           java.lang.String drugName,
           int drugDose,
           java.lang.String operators) {
           this.cowID = cowID;
           this.dryDate = dryDate;
           this.currFarm = currFarm;
           this.currGroup = currGroup;
           this.mateDate = mateDate;
           this.currCategory = currCategory;
           this.groCode = groCode;
           this.repCode = repCode;
           this.currLact = currLact;
           this.milkDays = milkDays;
           this.dryType = dryType;
           this.isAbnormal = isAbnormal;
           this.abnormalReason = abnormalReason;
           this.isDrugTreated = isDrugTreated;
           this.drugName = drugName;
           this.drugDose = drugDose;
           this.operators = operators;
    }


    /**
     * Gets the cowID value for this DryInfo.
     * 
     * @return cowID
     */
    public java.lang.String getCowID() {
        return cowID;
    }


    /**
     * Sets the cowID value for this DryInfo.
     * 
     * @param cowID
     */
    public void setCowID(java.lang.String cowID) {
        this.cowID = cowID;
    }


    /**
     * Gets the dryDate value for this DryInfo.
     * 
     * @return dryDate
     */
    public java.util.Calendar getDryDate() {
        return dryDate;
    }


    /**
     * Sets the dryDate value for this DryInfo.
     * 
     * @param dryDate
     */
    public void setDryDate(java.util.Calendar dryDate) {
        this.dryDate = dryDate;
    }


    /**
     * Gets the currFarm value for this DryInfo.
     * 
     * @return currFarm
     */
    public java.lang.String getCurrFarm() {
        return currFarm;
    }


    /**
     * Sets the currFarm value for this DryInfo.
     * 
     * @param currFarm
     */
    public void setCurrFarm(java.lang.String currFarm) {
        this.currFarm = currFarm;
    }


    /**
     * Gets the currGroup value for this DryInfo.
     * 
     * @return currGroup
     */
    public java.lang.String getCurrGroup() {
        return currGroup;
    }


    /**
     * Sets the currGroup value for this DryInfo.
     * 
     * @param currGroup
     */
    public void setCurrGroup(java.lang.String currGroup) {
        this.currGroup = currGroup;
    }


    /**
     * Gets the mateDate value for this DryInfo.
     * 
     * @return mateDate
     */
    public java.util.Calendar getMateDate() {
        return mateDate;
    }


    /**
     * Sets the mateDate value for this DryInfo.
     * 
     * @param mateDate
     */
    public void setMateDate(java.util.Calendar mateDate) {
        this.mateDate = mateDate;
    }


    /**
     * Gets the currCategory value for this DryInfo.
     * 
     * @return currCategory
     */
    public java.lang.String getCurrCategory() {
        return currCategory;
    }


    /**
     * Sets the currCategory value for this DryInfo.
     * 
     * @param currCategory
     */
    public void setCurrCategory(java.lang.String currCategory) {
        this.currCategory = currCategory;
    }


    /**
     * Gets the groCode value for this DryInfo.
     * 
     * @return groCode
     */
    public java.lang.String getGroCode() {
        return groCode;
    }


    /**
     * Sets the groCode value for this DryInfo.
     * 
     * @param groCode
     */
    public void setGroCode(java.lang.String groCode) {
        this.groCode = groCode;
    }


    /**
     * Gets the repCode value for this DryInfo.
     * 
     * @return repCode
     */
    public java.lang.String getRepCode() {
        return repCode;
    }


    /**
     * Sets the repCode value for this DryInfo.
     * 
     * @param repCode
     */
    public void setRepCode(java.lang.String repCode) {
        this.repCode = repCode;
    }


    /**
     * Gets the currLact value for this DryInfo.
     * 
     * @return currLact
     */
    public int getCurrLact() {
        return currLact;
    }


    /**
     * Sets the currLact value for this DryInfo.
     * 
     * @param currLact
     */
    public void setCurrLact(int currLact) {
        this.currLact = currLact;
    }


    /**
     * Gets the milkDays value for this DryInfo.
     * 
     * @return milkDays
     */
    public int getMilkDays() {
        return milkDays;
    }


    /**
     * Sets the milkDays value for this DryInfo.
     * 
     * @param milkDays
     */
    public void setMilkDays(int milkDays) {
        this.milkDays = milkDays;
    }


    /**
     * Gets the dryType value for this DryInfo.
     * 
     * @return dryType
     */
    public java.lang.String getDryType() {
        return dryType;
    }


    /**
     * Sets the dryType value for this DryInfo.
     * 
     * @param dryType
     */
    public void setDryType(java.lang.String dryType) {
        this.dryType = dryType;
    }


    /**
     * Gets the isAbnormal value for this DryInfo.
     * 
     * @return isAbnormal
     */
    public boolean isIsAbnormal() {
        return isAbnormal;
    }


    /**
     * Sets the isAbnormal value for this DryInfo.
     * 
     * @param isAbnormal
     */
    public void setIsAbnormal(boolean isAbnormal) {
        this.isAbnormal = isAbnormal;
    }


    /**
     * Gets the abnormalReason value for this DryInfo.
     * 
     * @return abnormalReason
     */
    public java.lang.String getAbnormalReason() {
        return abnormalReason;
    }


    /**
     * Sets the abnormalReason value for this DryInfo.
     * 
     * @param abnormalReason
     */
    public void setAbnormalReason(java.lang.String abnormalReason) {
        this.abnormalReason = abnormalReason;
    }


    /**
     * Gets the isDrugTreated value for this DryInfo.
     * 
     * @return isDrugTreated
     */
    public boolean isIsDrugTreated() {
        return isDrugTreated;
    }


    /**
     * Sets the isDrugTreated value for this DryInfo.
     * 
     * @param isDrugTreated
     */
    public void setIsDrugTreated(boolean isDrugTreated) {
        this.isDrugTreated = isDrugTreated;
    }


    /**
     * Gets the drugName value for this DryInfo.
     * 
     * @return drugName
     */
    public java.lang.String getDrugName() {
        return drugName;
    }


    /**
     * Sets the drugName value for this DryInfo.
     * 
     * @param drugName
     */
    public void setDrugName(java.lang.String drugName) {
        this.drugName = drugName;
    }


    /**
     * Gets the drugDose value for this DryInfo.
     * 
     * @return drugDose
     */
    public int getDrugDose() {
        return drugDose;
    }


    /**
     * Sets the drugDose value for this DryInfo.
     * 
     * @param drugDose
     */
    public void setDrugDose(int drugDose) {
        this.drugDose = drugDose;
    }


    /**
     * Gets the operators value for this DryInfo.
     * 
     * @return operators
     */
    public java.lang.String getOperators() {
        return operators;
    }


    /**
     * Sets the operators value for this DryInfo.
     * 
     * @param operators
     */
    public void setOperators(java.lang.String operators) {
        this.operators = operators;
    }

    private java.lang.Object __equalsCalc = null;
    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof DryInfo)) return false;
        DryInfo other = (DryInfo) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true && 
            ((this.cowID==null && other.getCowID()==null) || 
             (this.cowID!=null &&
              this.cowID.equals(other.getCowID()))) &&
            ((this.dryDate==null && other.getDryDate()==null) || 
             (this.dryDate!=null &&
              this.dryDate.equals(other.getDryDate()))) &&
            ((this.currFarm==null && other.getCurrFarm()==null) || 
             (this.currFarm!=null &&
              this.currFarm.equals(other.getCurrFarm()))) &&
            ((this.currGroup==null && other.getCurrGroup()==null) || 
             (this.currGroup!=null &&
              this.currGroup.equals(other.getCurrGroup()))) &&
            ((this.mateDate==null && other.getMateDate()==null) || 
             (this.mateDate!=null &&
              this.mateDate.equals(other.getMateDate()))) &&
            ((this.currCategory==null && other.getCurrCategory()==null) || 
             (this.currCategory!=null &&
              this.currCategory.equals(other.getCurrCategory()))) &&
            ((this.groCode==null && other.getGroCode()==null) || 
             (this.groCode!=null &&
              this.groCode.equals(other.getGroCode()))) &&
            ((this.repCode==null && other.getRepCode()==null) || 
             (this.repCode!=null &&
              this.repCode.equals(other.getRepCode()))) &&
            this.currLact == other.getCurrLact() &&
            this.milkDays == other.getMilkDays() &&
            ((this.dryType==null && other.getDryType()==null) || 
             (this.dryType!=null &&
              this.dryType.equals(other.getDryType()))) &&
            this.isAbnormal == other.isIsAbnormal() &&
            ((this.abnormalReason==null && other.getAbnormalReason()==null) || 
             (this.abnormalReason!=null &&
              this.abnormalReason.equals(other.getAbnormalReason()))) &&
            this.isDrugTreated == other.isIsDrugTreated() &&
            ((this.drugName==null && other.getDrugName()==null) || 
             (this.drugName!=null &&
              this.drugName.equals(other.getDrugName()))) &&
            this.drugDose == other.getDrugDose() &&
            ((this.operators==null && other.getOperators()==null) || 
             (this.operators!=null &&
              this.operators.equals(other.getOperators())));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = 1;
        if (getCowID() != null) {
            _hashCode += getCowID().hashCode();
        }
        if (getDryDate() != null) {
            _hashCode += getDryDate().hashCode();
        }
        if (getCurrFarm() != null) {
            _hashCode += getCurrFarm().hashCode();
        }
        if (getCurrGroup() != null) {
            _hashCode += getCurrGroup().hashCode();
        }
        if (getMateDate() != null) {
            _hashCode += getMateDate().hashCode();
        }
        if (getCurrCategory() != null) {
            _hashCode += getCurrCategory().hashCode();
        }
        if (getGroCode() != null) {
            _hashCode += getGroCode().hashCode();
        }
        if (getRepCode() != null) {
            _hashCode += getRepCode().hashCode();
        }
        _hashCode += getCurrLact();
        _hashCode += getMilkDays();
        if (getDryType() != null) {
            _hashCode += getDryType().hashCode();
        }
        _hashCode += (isIsAbnormal() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        if (getAbnormalReason() != null) {
            _hashCode += getAbnormalReason().hashCode();
        }
        _hashCode += (isIsDrugTreated() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        if (getDrugName() != null) {
            _hashCode += getDrugName().hashCode();
        }
        _hashCode += getDrugDose();
        if (getOperators() != null) {
            _hashCode += getOperators().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }

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

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.brightdairy.com/", "DryInfo"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("cowID");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "CowID"));
        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("dryDate");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "DryDate"));
        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("currFarm");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "CurrFarm"));
        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("currGroup");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "CurrGroup"));
        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("mateDate");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "MateDate"));
        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("currCategory");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "CurrCategory"));
        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("groCode");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "GroCode"));
        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("repCode");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "RepCode"));
        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("currLact");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "CurrLact"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("milkDays");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "MilkDays"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("dryType");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "DryType"));
        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("isAbnormal");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "IsAbnormal"));
        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("abnormalReason");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "AbnormalReason"));
        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("isDrugTreated");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "IsDrugTreated"));
        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("drugName");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "DrugName"));
        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("drugDose");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "DrugDose"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("operators");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "Operators"));
        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);
    }

}
