/**
 * EventValue.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.genesyslab.gis.services.statistic.types;

public class EventValue  implements java.io.Serializable {
    private float FValue;

    private long LValue;

    private java.lang.String SValue;

    private com.genesyslab.gis.services.statistic.types.AgentReasons agentReasons;

    private com.genesyslab.gis.services.statistic.types.AgentStatus agentStatus;

    private com.genesyslab.gis.services.statistic.types.CampaignStatus campaignStatus;

    private long date;

    private com.genesyslab.gis.services.statistic.types.DnStatus dnStatus;

    private com.genesyslab.gis.services.statistic.types.GroupStatus groupStatus;

    private long intervalLength;

    private com.genesyslab.gis.services.statistic.types.StatisticState stateValue;

    public EventValue() {
    }

    public EventValue(
           float FValue,
           long LValue,
           java.lang.String SValue,
           com.genesyslab.gis.services.statistic.types.AgentReasons agentReasons,
           com.genesyslab.gis.services.statistic.types.AgentStatus agentStatus,
           com.genesyslab.gis.services.statistic.types.CampaignStatus campaignStatus,
           long date,
           com.genesyslab.gis.services.statistic.types.DnStatus dnStatus,
           com.genesyslab.gis.services.statistic.types.GroupStatus groupStatus,
           long intervalLength,
           com.genesyslab.gis.services.statistic.types.StatisticState stateValue) {
           this.FValue = FValue;
           this.LValue = LValue;
           this.SValue = SValue;
           this.agentReasons = agentReasons;
           this.agentStatus = agentStatus;
           this.campaignStatus = campaignStatus;
           this.date = date;
           this.dnStatus = dnStatus;
           this.groupStatus = groupStatus;
           this.intervalLength = intervalLength;
           this.stateValue = stateValue;
    }


    /**
     * Gets the FValue value for this EventValue.
     * 
     * @return FValue
     */
    public float getFValue() {
        return FValue;
    }


    /**
     * Sets the FValue value for this EventValue.
     * 
     * @param FValue
     */
    public void setFValue(float FValue) {
        this.FValue = FValue;
    }


    /**
     * Gets the LValue value for this EventValue.
     * 
     * @return LValue
     */
    public long getLValue() {
        return LValue;
    }


    /**
     * Sets the LValue value for this EventValue.
     * 
     * @param LValue
     */
    public void setLValue(long LValue) {
        this.LValue = LValue;
    }


    /**
     * Gets the SValue value for this EventValue.
     * 
     * @return SValue
     */
    public java.lang.String getSValue() {
        return SValue;
    }


    /**
     * Sets the SValue value for this EventValue.
     * 
     * @param SValue
     */
    public void setSValue(java.lang.String SValue) {
        this.SValue = SValue;
    }


    /**
     * Gets the agentReasons value for this EventValue.
     * 
     * @return agentReasons
     */
    public com.genesyslab.gis.services.statistic.types.AgentReasons getAgentReasons() {
        return agentReasons;
    }


    /**
     * Sets the agentReasons value for this EventValue.
     * 
     * @param agentReasons
     */
    public void setAgentReasons(com.genesyslab.gis.services.statistic.types.AgentReasons agentReasons) {
        this.agentReasons = agentReasons;
    }


    /**
     * Gets the agentStatus value for this EventValue.
     * 
     * @return agentStatus
     */
    public com.genesyslab.gis.services.statistic.types.AgentStatus getAgentStatus() {
        return agentStatus;
    }


    /**
     * Sets the agentStatus value for this EventValue.
     * 
     * @param agentStatus
     */
    public void setAgentStatus(com.genesyslab.gis.services.statistic.types.AgentStatus agentStatus) {
        this.agentStatus = agentStatus;
    }


    /**
     * Gets the campaignStatus value for this EventValue.
     * 
     * @return campaignStatus
     */
    public com.genesyslab.gis.services.statistic.types.CampaignStatus getCampaignStatus() {
        return campaignStatus;
    }


    /**
     * Sets the campaignStatus value for this EventValue.
     * 
     * @param campaignStatus
     */
    public void setCampaignStatus(com.genesyslab.gis.services.statistic.types.CampaignStatus campaignStatus) {
        this.campaignStatus = campaignStatus;
    }


    /**
     * Gets the date value for this EventValue.
     * 
     * @return date
     */
    public long getDate() {
        return date;
    }


    /**
     * Sets the date value for this EventValue.
     * 
     * @param date
     */
    public void setDate(long date) {
        this.date = date;
    }


    /**
     * Gets the dnStatus value for this EventValue.
     * 
     * @return dnStatus
     */
    public com.genesyslab.gis.services.statistic.types.DnStatus getDnStatus() {
        return dnStatus;
    }


    /**
     * Sets the dnStatus value for this EventValue.
     * 
     * @param dnStatus
     */
    public void setDnStatus(com.genesyslab.gis.services.statistic.types.DnStatus dnStatus) {
        this.dnStatus = dnStatus;
    }


    /**
     * Gets the groupStatus value for this EventValue.
     * 
     * @return groupStatus
     */
    public com.genesyslab.gis.services.statistic.types.GroupStatus getGroupStatus() {
        return groupStatus;
    }


    /**
     * Sets the groupStatus value for this EventValue.
     * 
     * @param groupStatus
     */
    public void setGroupStatus(com.genesyslab.gis.services.statistic.types.GroupStatus groupStatus) {
        this.groupStatus = groupStatus;
    }


    /**
     * Gets the intervalLength value for this EventValue.
     * 
     * @return intervalLength
     */
    public long getIntervalLength() {
        return intervalLength;
    }


    /**
     * Sets the intervalLength value for this EventValue.
     * 
     * @param intervalLength
     */
    public void setIntervalLength(long intervalLength) {
        this.intervalLength = intervalLength;
    }


    /**
     * Gets the stateValue value for this EventValue.
     * 
     * @return stateValue
     */
    public com.genesyslab.gis.services.statistic.types.StatisticState getStateValue() {
        return stateValue;
    }


    /**
     * Sets the stateValue value for this EventValue.
     * 
     * @param stateValue
     */
    public void setStateValue(com.genesyslab.gis.services.statistic.types.StatisticState stateValue) {
        this.stateValue = stateValue;
    }

    private java.lang.Object __equalsCalc = null;
    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof EventValue)) return false;
        EventValue other = (EventValue) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true && 
            this.FValue == other.getFValue() &&
            this.LValue == other.getLValue() &&
            ((this.SValue==null && other.getSValue()==null) || 
             (this.SValue!=null &&
              this.SValue.equals(other.getSValue()))) &&
            ((this.agentReasons==null && other.getAgentReasons()==null) || 
             (this.agentReasons!=null &&
              this.agentReasons.equals(other.getAgentReasons()))) &&
            ((this.agentStatus==null && other.getAgentStatus()==null) || 
             (this.agentStatus!=null &&
              this.agentStatus.equals(other.getAgentStatus()))) &&
            ((this.campaignStatus==null && other.getCampaignStatus()==null) || 
             (this.campaignStatus!=null &&
              this.campaignStatus.equals(other.getCampaignStatus()))) &&
            this.date == other.getDate() &&
            ((this.dnStatus==null && other.getDnStatus()==null) || 
             (this.dnStatus!=null &&
              this.dnStatus.equals(other.getDnStatus()))) &&
            ((this.groupStatus==null && other.getGroupStatus()==null) || 
             (this.groupStatus!=null &&
              this.groupStatus.equals(other.getGroupStatus()))) &&
            this.intervalLength == other.getIntervalLength() &&
            ((this.stateValue==null && other.getStateValue()==null) || 
             (this.stateValue!=null &&
              this.stateValue.equals(other.getStateValue())));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = 1;
        _hashCode += new Float(getFValue()).hashCode();
        _hashCode += new Long(getLValue()).hashCode();
        if (getSValue() != null) {
            _hashCode += getSValue().hashCode();
        }
        if (getAgentReasons() != null) {
            _hashCode += getAgentReasons().hashCode();
        }
        if (getAgentStatus() != null) {
            _hashCode += getAgentStatus().hashCode();
        }
        if (getCampaignStatus() != null) {
            _hashCode += getCampaignStatus().hashCode();
        }
        _hashCode += new Long(getDate()).hashCode();
        if (getDnStatus() != null) {
            _hashCode += getDnStatus().hashCode();
        }
        if (getGroupStatus() != null) {
            _hashCode += getGroupStatus().hashCode();
        }
        _hashCode += new Long(getIntervalLength()).hashCode();
        if (getStateValue() != null) {
            _hashCode += getStateValue().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }

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

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.genesyslab.com/services/statservice/types/2002/03", "eventValue"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("FValue");
        elemField.setXmlName(new javax.xml.namespace.QName("", "FValue"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "float"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("LValue");
        elemField.setXmlName(new javax.xml.namespace.QName("", "LValue"));
        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("SValue");
        elemField.setXmlName(new javax.xml.namespace.QName("", "SValue"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("agentReasons");
        elemField.setXmlName(new javax.xml.namespace.QName("", "agentReasons"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.genesyslab.com/services/statservice/types/2005/10", "agentReasons"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("agentStatus");
        elemField.setXmlName(new javax.xml.namespace.QName("", "agentStatus"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.genesyslab.com/services/statservice/types/2005/10", "agentStatus"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("campaignStatus");
        elemField.setXmlName(new javax.xml.namespace.QName("", "campaignStatus"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.genesyslab.com/services/statservice/types/2005/10", "campaignStatus"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("date");
        elemField.setXmlName(new javax.xml.namespace.QName("", "date"));
        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("dnStatus");
        elemField.setXmlName(new javax.xml.namespace.QName("", "dnStatus"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.genesyslab.com/services/statservice/types/2005/10", "dnStatus"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("groupStatus");
        elemField.setXmlName(new javax.xml.namespace.QName("", "groupStatus"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.genesyslab.com/services/statservice/types/2005/10", "groupStatus"));
        elemField.setNillable(true);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("intervalLength");
        elemField.setXmlName(new javax.xml.namespace.QName("", "intervalLength"));
        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("stateValue");
        elemField.setXmlName(new javax.xml.namespace.QName("", "stateValue"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.genesyslab.com/services/statservice/types/2002/03", "statisticState"));
        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);
    }

}
