/**
 * AddCalvesInfo.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.wsCalving;

public class AddCalvesInfo  implements java.io.Serializable {
    private java.lang.String motherNO;

    private java.util.Calendar birthday;

    private java.lang.String cowNO;

    private java.lang.String currFarmNO;

    private java.lang.String currGroupNO;

    private java.math.BigDecimal bornWeight;

    private java.lang.String color;

    private boolean isAlive;

    private boolean isFemale;

    private boolean isKeep;

    private java.math.BigDecimal bornValue;

    private java.lang.String health;

    private byte[] photo;

    private java.lang.String operators;

    public AddCalvesInfo() {
    }

    public AddCalvesInfo(
           java.lang.String motherNO,
           java.util.Calendar birthday,
           java.lang.String cowNO,
           java.lang.String currFarmNO,
           java.lang.String currGroupNO,
           java.math.BigDecimal bornWeight,
           java.lang.String color,
           boolean isAlive,
           boolean isFemale,
           boolean isKeep,
           java.math.BigDecimal bornValue,
           java.lang.String health,
           byte[] photo,
           java.lang.String operators) {
           this.motherNO = motherNO;
           this.birthday = birthday;
           this.cowNO = cowNO;
           this.currFarmNO = currFarmNO;
           this.currGroupNO = currGroupNO;
           this.bornWeight = bornWeight;
           this.color = color;
           this.isAlive = isAlive;
           this.isFemale = isFemale;
           this.isKeep = isKeep;
           this.bornValue = bornValue;
           this.health = health;
           this.photo = photo;
           this.operators = operators;
    }


    /**
     * Gets the motherNO value for this AddCalvesInfo.
     * 
     * @return motherNO
     */
    public java.lang.String getMotherNO() {
        return motherNO;
    }


    /**
     * Sets the motherNO value for this AddCalvesInfo.
     * 
     * @param motherNO
     */
    public void setMotherNO(java.lang.String motherNO) {
        this.motherNO = motherNO;
    }


    /**
     * Gets the birthday value for this AddCalvesInfo.
     * 
     * @return birthday
     */
    public java.util.Calendar getBirthday() {
        return birthday;
    }


    /**
     * Sets the birthday value for this AddCalvesInfo.
     * 
     * @param birthday
     */
    public void setBirthday(java.util.Calendar birthday) {
        this.birthday = birthday;
    }


    /**
     * Gets the cowNO value for this AddCalvesInfo.
     * 
     * @return cowNO
     */
    public java.lang.String getCowNO() {
        return cowNO;
    }


    /**
     * Sets the cowNO value for this AddCalvesInfo.
     * 
     * @param cowNO
     */
    public void setCowNO(java.lang.String cowNO) {
        this.cowNO = cowNO;
    }


    /**
     * Gets the currFarmNO value for this AddCalvesInfo.
     * 
     * @return currFarmNO
     */
    public java.lang.String getCurrFarmNO() {
        return currFarmNO;
    }


    /**
     * Sets the currFarmNO value for this AddCalvesInfo.
     * 
     * @param currFarmNO
     */
    public void setCurrFarmNO(java.lang.String currFarmNO) {
        this.currFarmNO = currFarmNO;
    }


    /**
     * Gets the currGroupNO value for this AddCalvesInfo.
     * 
     * @return currGroupNO
     */
    public java.lang.String getCurrGroupNO() {
        return currGroupNO;
    }


    /**
     * Sets the currGroupNO value for this AddCalvesInfo.
     * 
     * @param currGroupNO
     */
    public void setCurrGroupNO(java.lang.String currGroupNO) {
        this.currGroupNO = currGroupNO;
    }


    /**
     * Gets the bornWeight value for this AddCalvesInfo.
     * 
     * @return bornWeight
     */
    public java.math.BigDecimal getBornWeight() {
        return bornWeight;
    }


    /**
     * Sets the bornWeight value for this AddCalvesInfo.
     * 
     * @param bornWeight
     */
    public void setBornWeight(java.math.BigDecimal bornWeight) {
        this.bornWeight = bornWeight;
    }


    /**
     * Gets the color value for this AddCalvesInfo.
     * 
     * @return color
     */
    public java.lang.String getColor() {
        return color;
    }


    /**
     * Sets the color value for this AddCalvesInfo.
     * 
     * @param color
     */
    public void setColor(java.lang.String color) {
        this.color = color;
    }


    /**
     * Gets the isAlive value for this AddCalvesInfo.
     * 
     * @return isAlive
     */
    public boolean isIsAlive() {
        return isAlive;
    }


    /**
     * Sets the isAlive value for this AddCalvesInfo.
     * 
     * @param isAlive
     */
    public void setIsAlive(boolean isAlive) {
        this.isAlive = isAlive;
    }


    /**
     * Gets the isFemale value for this AddCalvesInfo.
     * 
     * @return isFemale
     */
    public boolean isIsFemale() {
        return isFemale;
    }


    /**
     * Sets the isFemale value for this AddCalvesInfo.
     * 
     * @param isFemale
     */
    public void setIsFemale(boolean isFemale) {
        this.isFemale = isFemale;
    }


    /**
     * Gets the isKeep value for this AddCalvesInfo.
     * 
     * @return isKeep
     */
    public boolean isIsKeep() {
        return isKeep;
    }


    /**
     * Sets the isKeep value for this AddCalvesInfo.
     * 
     * @param isKeep
     */
    public void setIsKeep(boolean isKeep) {
        this.isKeep = isKeep;
    }


    /**
     * Gets the bornValue value for this AddCalvesInfo.
     * 
     * @return bornValue
     */
    public java.math.BigDecimal getBornValue() {
        return bornValue;
    }


    /**
     * Sets the bornValue value for this AddCalvesInfo.
     * 
     * @param bornValue
     */
    public void setBornValue(java.math.BigDecimal bornValue) {
        this.bornValue = bornValue;
    }


    /**
     * Gets the health value for this AddCalvesInfo.
     * 
     * @return health
     */
    public java.lang.String getHealth() {
        return health;
    }


    /**
     * Sets the health value for this AddCalvesInfo.
     * 
     * @param health
     */
    public void setHealth(java.lang.String health) {
        this.health = health;
    }


    /**
     * Gets the photo value for this AddCalvesInfo.
     * 
     * @return photo
     */
    public byte[] getPhoto() {
        return photo;
    }


    /**
     * Sets the photo value for this AddCalvesInfo.
     * 
     * @param photo
     */
    public void setPhoto(byte[] photo) {
        this.photo = photo;
    }


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


    /**
     * Sets the operators value for this AddCalvesInfo.
     * 
     * @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 AddCalvesInfo)) return false;
        AddCalvesInfo other = (AddCalvesInfo) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true && 
            ((this.motherNO==null && other.getMotherNO()==null) || 
             (this.motherNO!=null &&
              this.motherNO.equals(other.getMotherNO()))) &&
            ((this.birthday==null && other.getBirthday()==null) || 
             (this.birthday!=null &&
              this.birthday.equals(other.getBirthday()))) &&
            ((this.cowNO==null && other.getCowNO()==null) || 
             (this.cowNO!=null &&
              this.cowNO.equals(other.getCowNO()))) &&
            ((this.currFarmNO==null && other.getCurrFarmNO()==null) || 
             (this.currFarmNO!=null &&
              this.currFarmNO.equals(other.getCurrFarmNO()))) &&
            ((this.currGroupNO==null && other.getCurrGroupNO()==null) || 
             (this.currGroupNO!=null &&
              this.currGroupNO.equals(other.getCurrGroupNO()))) &&
            ((this.bornWeight==null && other.getBornWeight()==null) || 
             (this.bornWeight!=null &&
              this.bornWeight.equals(other.getBornWeight()))) &&
            ((this.color==null && other.getColor()==null) || 
             (this.color!=null &&
              this.color.equals(other.getColor()))) &&
            this.isAlive == other.isIsAlive() &&
            this.isFemale == other.isIsFemale() &&
            this.isKeep == other.isIsKeep() &&
            ((this.bornValue==null && other.getBornValue()==null) || 
             (this.bornValue!=null &&
              this.bornValue.equals(other.getBornValue()))) &&
            ((this.health==null && other.getHealth()==null) || 
             (this.health!=null &&
              this.health.equals(other.getHealth()))) &&
            ((this.photo==null && other.getPhoto()==null) || 
             (this.photo!=null &&
              java.util.Arrays.equals(this.photo, other.getPhoto()))) &&
            ((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 (getMotherNO() != null) {
            _hashCode += getMotherNO().hashCode();
        }
        if (getBirthday() != null) {
            _hashCode += getBirthday().hashCode();
        }
        if (getCowNO() != null) {
            _hashCode += getCowNO().hashCode();
        }
        if (getCurrFarmNO() != null) {
            _hashCode += getCurrFarmNO().hashCode();
        }
        if (getCurrGroupNO() != null) {
            _hashCode += getCurrGroupNO().hashCode();
        }
        if (getBornWeight() != null) {
            _hashCode += getBornWeight().hashCode();
        }
        if (getColor() != null) {
            _hashCode += getColor().hashCode();
        }
        _hashCode += (isIsAlive() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        _hashCode += (isIsFemale() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        _hashCode += (isIsKeep() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        if (getBornValue() != null) {
            _hashCode += getBornValue().hashCode();
        }
        if (getHealth() != null) {
            _hashCode += getHealth().hashCode();
        }
        if (getPhoto() != null) {
            for (int i=0;
                 i<java.lang.reflect.Array.getLength(getPhoto());
                 i++) {
                java.lang.Object obj = java.lang.reflect.Array.get(getPhoto(), i);
                if (obj != null &&
                    !obj.getClass().isArray()) {
                    _hashCode += obj.hashCode();
                }
            }
        }
        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(AddCalvesInfo.class, true);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.brightdairy.com/", ">AddCalvesInfo"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("motherNO");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "motherNO"));
        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("birthday");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "birthday"));
        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("cowNO");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "cowNO"));
        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("currFarmNO");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "currFarmNO"));
        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("currGroupNO");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "currGroupNO"));
        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("bornWeight");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "bornWeight"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "decimal"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("color");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "color"));
        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("isAlive");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "isAlive"));
        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("isFemale");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "isFemale"));
        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("isKeep");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "isKeep"));
        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("bornValue");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "bornValue"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "decimal"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("health");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "health"));
        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("photo");
        elemField.setXmlName(new javax.xml.namespace.QName("http://www.brightdairy.com/", "photo"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "base64Binary"));
        elemField.setMinOccurs(0);
        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);
    }

}
