Subversion Repositories SmartDukaan

Rev

Rev 21844 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * Autogenerated by Thrift Compiler (0.7.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 */
package in.shop2020.purchase;

import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Supplier implements org.apache.thrift.TBase<Supplier, Supplier._Fields>, java.io.Serializable, Cloneable {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Supplier");

  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField PHONE_FIELD_DESC = new org.apache.thrift.protocol.TField("phone", org.apache.thrift.protocol.TType.STRING, (short)3);
  private static final org.apache.thrift.protocol.TField FAX_FIELD_DESC = new org.apache.thrift.protocol.TField("fax", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField TIN_FIELD_DESC = new org.apache.thrift.protocol.TField("tin", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField PAN_FIELD_DESC = new org.apache.thrift.protocol.TField("pan", org.apache.thrift.protocol.TType.STRING, (short)6);
  private static final org.apache.thrift.protocol.TField HEAD_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("headName", org.apache.thrift.protocol.TType.STRING, (short)7);
  private static final org.apache.thrift.protocol.TField HEAD_DESIGNATION_FIELD_DESC = new org.apache.thrift.protocol.TField("headDesignation", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField HEAD_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("headEmail", org.apache.thrift.protocol.TType.STRING, (short)9);
  private static final org.apache.thrift.protocol.TField CONTACT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("contactName", org.apache.thrift.protocol.TType.STRING, (short)10);
  private static final org.apache.thrift.protocol.TField CONTACT_PHONE_FIELD_DESC = new org.apache.thrift.protocol.TField("contactPhone", org.apache.thrift.protocol.TType.STRING, (short)11);
  private static final org.apache.thrift.protocol.TField CONTACT_FAX_FIELD_DESC = new org.apache.thrift.protocol.TField("contactFax", org.apache.thrift.protocol.TType.STRING, (short)12);
  private static final org.apache.thrift.protocol.TField CONTACT_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("contactEmail", org.apache.thrift.protocol.TType.STRING, (short)13);
  private static final org.apache.thrift.protocol.TField REGISTERED_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("registeredAddress", org.apache.thrift.protocol.TType.STRING, (short)14);
  private static final org.apache.thrift.protocol.TField COMMUNICATION_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("communicationAddress", org.apache.thrift.protocol.TType.STRING, (short)15);
  private static final org.apache.thrift.protocol.TField STATE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("stateId", org.apache.thrift.protocol.TType.I64, (short)16);
  private static final org.apache.thrift.protocol.TField PO_VALIDITY_LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("poValidityLimit", org.apache.thrift.protocol.TType.I64, (short)17);
  private static final org.apache.thrift.protocol.TField GSTIN_FIELD_DESC = new org.apache.thrift.protocol.TField("gstin", org.apache.thrift.protocol.TType.STRING, (short)18);
  private static final org.apache.thrift.protocol.TField TNC_FIELD_DESC = new org.apache.thrift.protocol.TField("tnc", org.apache.thrift.protocol.TType.STRING, (short)19);

  private long id; // required
  private String name; // required
  private String phone; // required
  private String fax; // required
  private String tin; // required
  private String pan; // required
  private String headName; // required
  private String headDesignation; // required
  private String headEmail; // required
  private String contactName; // required
  private String contactPhone; // required
  private String contactFax; // required
  private String contactEmail; // required
  private String registeredAddress; // required
  private String communicationAddress; // required
  private long stateId; // required
  private long poValidityLimit; // required
  private String gstin; // required
  private String tnc; // required

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
    ID((short)1, "id"),
    NAME((short)2, "name"),
    PHONE((short)3, "phone"),
    FAX((short)4, "fax"),
    TIN((short)5, "tin"),
    PAN((short)6, "pan"),
    HEAD_NAME((short)7, "headName"),
    HEAD_DESIGNATION((short)8, "headDesignation"),
    HEAD_EMAIL((short)9, "headEmail"),
    CONTACT_NAME((short)10, "contactName"),
    CONTACT_PHONE((short)11, "contactPhone"),
    CONTACT_FAX((short)12, "contactFax"),
    CONTACT_EMAIL((short)13, "contactEmail"),
    REGISTERED_ADDRESS((short)14, "registeredAddress"),
    COMMUNICATION_ADDRESS((short)15, "communicationAddress"),
    STATE_ID((short)16, "stateId"),
    PO_VALIDITY_LIMIT((short)17, "poValidityLimit"),
    GSTIN((short)18, "gstin"),
    TNC((short)19, "tnc");

    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

    static {
      for (_Fields field : EnumSet.allOf(_Fields.class)) {
        byName.put(field.getFieldName(), field);
      }
    }

    /**
     * Find the _Fields constant that matches fieldId, or null if its not found.
     */
    public static _Fields findByThriftId(int fieldId) {
      switch(fieldId) {
        case 1: // ID
          return ID;
        case 2: // NAME
          return NAME;
        case 3: // PHONE
          return PHONE;
        case 4: // FAX
          return FAX;
        case 5: // TIN
          return TIN;
        case 6: // PAN
          return PAN;
        case 7: // HEAD_NAME
          return HEAD_NAME;
        case 8: // HEAD_DESIGNATION
          return HEAD_DESIGNATION;
        case 9: // HEAD_EMAIL
          return HEAD_EMAIL;
        case 10: // CONTACT_NAME
          return CONTACT_NAME;
        case 11: // CONTACT_PHONE
          return CONTACT_PHONE;
        case 12: // CONTACT_FAX
          return CONTACT_FAX;
        case 13: // CONTACT_EMAIL
          return CONTACT_EMAIL;
        case 14: // REGISTERED_ADDRESS
          return REGISTERED_ADDRESS;
        case 15: // COMMUNICATION_ADDRESS
          return COMMUNICATION_ADDRESS;
        case 16: // STATE_ID
          return STATE_ID;
        case 17: // PO_VALIDITY_LIMIT
          return PO_VALIDITY_LIMIT;
        case 18: // GSTIN
          return GSTIN;
        case 19: // TNC
          return TNC;
        default:
          return null;
      }
    }

    /**
     * Find the _Fields constant that matches fieldId, throwing an exception
     * if it is not found.
     */
    public static _Fields findByThriftIdOrThrow(int fieldId) {
      _Fields fields = findByThriftId(fieldId);
      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
      return fields;
    }

    /**
     * Find the _Fields constant that matches name, or null if its not found.
     */
    public static _Fields findByName(String name) {
      return byName.get(name);
    }

    private final short _thriftId;
    private final String _fieldName;

    _Fields(short thriftId, String fieldName) {
      _thriftId = thriftId;
      _fieldName = fieldName;
    }

    public short getThriftFieldId() {
      return _thriftId;
    }

    public String getFieldName() {
      return _fieldName;
    }
  }

  // isset id assignments
  private static final int __ID_ISSET_ID = 0;
  private static final int __STATEID_ISSET_ID = 1;
  private static final int __POVALIDITYLIMIT_ISSET_ID = 2;
  private BitSet __isset_bit_vector = new BitSet(3);

  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
  static {
    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
    tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.PHONE, new org.apache.thrift.meta_data.FieldMetaData("phone", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.FAX, new org.apache.thrift.meta_data.FieldMetaData("fax", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TIN, new org.apache.thrift.meta_data.FieldMetaData("tin", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.PAN, new org.apache.thrift.meta_data.FieldMetaData("pan", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.HEAD_NAME, new org.apache.thrift.meta_data.FieldMetaData("headName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.HEAD_DESIGNATION, new org.apache.thrift.meta_data.FieldMetaData("headDesignation", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.HEAD_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("headEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.CONTACT_NAME, new org.apache.thrift.meta_data.FieldMetaData("contactName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.CONTACT_PHONE, new org.apache.thrift.meta_data.FieldMetaData("contactPhone", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.CONTACT_FAX, new org.apache.thrift.meta_data.FieldMetaData("contactFax", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.CONTACT_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("contactEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.REGISTERED_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("registeredAddress", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.COMMUNICATION_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("communicationAddress", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.STATE_ID, new org.apache.thrift.meta_data.FieldMetaData("stateId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.PO_VALIDITY_LIMIT, new org.apache.thrift.meta_data.FieldMetaData("poValidityLimit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.GSTIN, new org.apache.thrift.meta_data.FieldMetaData("gstin", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TNC, new org.apache.thrift.meta_data.FieldMetaData("tnc", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Supplier.class, metaDataMap);
  }

  public Supplier() {
  }

  public Supplier(
    long id,
    String name,
    String phone,
    String fax,
    String tin,
    String pan,
    String headName,
    String headDesignation,
    String headEmail,
    String contactName,
    String contactPhone,
    String contactFax,
    String contactEmail,
    String registeredAddress,
    String communicationAddress,
    long stateId,
    long poValidityLimit,
    String gstin,
    String tnc)
  {
    this();
    this.id = id;
    setIdIsSet(true);
    this.name = name;
    this.phone = phone;
    this.fax = fax;
    this.tin = tin;
    this.pan = pan;
    this.headName = headName;
    this.headDesignation = headDesignation;
    this.headEmail = headEmail;
    this.contactName = contactName;
    this.contactPhone = contactPhone;
    this.contactFax = contactFax;
    this.contactEmail = contactEmail;
    this.registeredAddress = registeredAddress;
    this.communicationAddress = communicationAddress;
    this.stateId = stateId;
    setStateIdIsSet(true);
    this.poValidityLimit = poValidityLimit;
    setPoValidityLimitIsSet(true);
    this.gstin = gstin;
    this.tnc = tnc;
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public Supplier(Supplier other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    this.id = other.id;
    if (other.isSetName()) {
      this.name = other.name;
    }
    if (other.isSetPhone()) {
      this.phone = other.phone;
    }
    if (other.isSetFax()) {
      this.fax = other.fax;
    }
    if (other.isSetTin()) {
      this.tin = other.tin;
    }
    if (other.isSetPan()) {
      this.pan = other.pan;
    }
    if (other.isSetHeadName()) {
      this.headName = other.headName;
    }
    if (other.isSetHeadDesignation()) {
      this.headDesignation = other.headDesignation;
    }
    if (other.isSetHeadEmail()) {
      this.headEmail = other.headEmail;
    }
    if (other.isSetContactName()) {
      this.contactName = other.contactName;
    }
    if (other.isSetContactPhone()) {
      this.contactPhone = other.contactPhone;
    }
    if (other.isSetContactFax()) {
      this.contactFax = other.contactFax;
    }
    if (other.isSetContactEmail()) {
      this.contactEmail = other.contactEmail;
    }
    if (other.isSetRegisteredAddress()) {
      this.registeredAddress = other.registeredAddress;
    }
    if (other.isSetCommunicationAddress()) {
      this.communicationAddress = other.communicationAddress;
    }
    this.stateId = other.stateId;
    this.poValidityLimit = other.poValidityLimit;
    if (other.isSetGstin()) {
      this.gstin = other.gstin;
    }
    if (other.isSetTnc()) {
      this.tnc = other.tnc;
    }
  }

  public Supplier deepCopy() {
    return new Supplier(this);
  }

  @Override
  public void clear() {
    setIdIsSet(false);
    this.id = 0;
    this.name = null;
    this.phone = null;
    this.fax = null;
    this.tin = null;
    this.pan = null;
    this.headName = null;
    this.headDesignation = null;
    this.headEmail = null;
    this.contactName = null;
    this.contactPhone = null;
    this.contactFax = null;
    this.contactEmail = null;
    this.registeredAddress = null;
    this.communicationAddress = null;
    setStateIdIsSet(false);
    this.stateId = 0;
    setPoValidityLimitIsSet(false);
    this.poValidityLimit = 0;
    this.gstin = null;
    this.tnc = null;
  }

  public long getId() {
    return this.id;
  }

  public void setId(long id) {
    this.id = id;
    setIdIsSet(true);
  }

  public void unsetId() {
    __isset_bit_vector.clear(__ID_ISSET_ID);
  }

  /** Returns true if field id is set (has been assigned a value) and false otherwise */
  public boolean isSetId() {
    return __isset_bit_vector.get(__ID_ISSET_ID);
  }

  public void setIdIsSet(boolean value) {
    __isset_bit_vector.set(__ID_ISSET_ID, value);
  }

  public String getName() {
    return this.name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public void unsetName() {
    this.name = null;
  }

  /** Returns true if field name is set (has been assigned a value) and false otherwise */
  public boolean isSetName() {
    return this.name != null;
  }

  public void setNameIsSet(boolean value) {
    if (!value) {
      this.name = null;
    }
  }

  public String getPhone() {
    return this.phone;
  }

  public void setPhone(String phone) {
    this.phone = phone;
  }

  public void unsetPhone() {
    this.phone = null;
  }

  /** Returns true if field phone is set (has been assigned a value) and false otherwise */
  public boolean isSetPhone() {
    return this.phone != null;
  }

  public void setPhoneIsSet(boolean value) {
    if (!value) {
      this.phone = null;
    }
  }

  public String getFax() {
    return this.fax;
  }

  public void setFax(String fax) {
    this.fax = fax;
  }

  public void unsetFax() {
    this.fax = null;
  }

  /** Returns true if field fax is set (has been assigned a value) and false otherwise */
  public boolean isSetFax() {
    return this.fax != null;
  }

  public void setFaxIsSet(boolean value) {
    if (!value) {
      this.fax = null;
    }
  }

  public String getTin() {
    return this.tin;
  }

  public void setTin(String tin) {
    this.tin = tin;
  }

  public void unsetTin() {
    this.tin = null;
  }

  /** Returns true if field tin is set (has been assigned a value) and false otherwise */
  public boolean isSetTin() {
    return this.tin != null;
  }

  public void setTinIsSet(boolean value) {
    if (!value) {
      this.tin = null;
    }
  }

  public String getPan() {
    return this.pan;
  }

  public void setPan(String pan) {
    this.pan = pan;
  }

  public void unsetPan() {
    this.pan = null;
  }

  /** Returns true if field pan is set (has been assigned a value) and false otherwise */
  public boolean isSetPan() {
    return this.pan != null;
  }

  public void setPanIsSet(boolean value) {
    if (!value) {
      this.pan = null;
    }
  }

  public String getHeadName() {
    return this.headName;
  }

  public void setHeadName(String headName) {
    this.headName = headName;
  }

  public void unsetHeadName() {
    this.headName = null;
  }

  /** Returns true if field headName is set (has been assigned a value) and false otherwise */
  public boolean isSetHeadName() {
    return this.headName != null;
  }

  public void setHeadNameIsSet(boolean value) {
    if (!value) {
      this.headName = null;
    }
  }

  public String getHeadDesignation() {
    return this.headDesignation;
  }

  public void setHeadDesignation(String headDesignation) {
    this.headDesignation = headDesignation;
  }

  public void unsetHeadDesignation() {
    this.headDesignation = null;
  }

  /** Returns true if field headDesignation is set (has been assigned a value) and false otherwise */
  public boolean isSetHeadDesignation() {
    return this.headDesignation != null;
  }

  public void setHeadDesignationIsSet(boolean value) {
    if (!value) {
      this.headDesignation = null;
    }
  }

  public String getHeadEmail() {
    return this.headEmail;
  }

  public void setHeadEmail(String headEmail) {
    this.headEmail = headEmail;
  }

  public void unsetHeadEmail() {
    this.headEmail = null;
  }

  /** Returns true if field headEmail is set (has been assigned a value) and false otherwise */
  public boolean isSetHeadEmail() {
    return this.headEmail != null;
  }

  public void setHeadEmailIsSet(boolean value) {
    if (!value) {
      this.headEmail = null;
    }
  }

  public String getContactName() {
    return this.contactName;
  }

  public void setContactName(String contactName) {
    this.contactName = contactName;
  }

  public void unsetContactName() {
    this.contactName = null;
  }

  /** Returns true if field contactName is set (has been assigned a value) and false otherwise */
  public boolean isSetContactName() {
    return this.contactName != null;
  }

  public void setContactNameIsSet(boolean value) {
    if (!value) {
      this.contactName = null;
    }
  }

  public String getContactPhone() {
    return this.contactPhone;
  }

  public void setContactPhone(String contactPhone) {
    this.contactPhone = contactPhone;
  }

  public void unsetContactPhone() {
    this.contactPhone = null;
  }

  /** Returns true if field contactPhone is set (has been assigned a value) and false otherwise */
  public boolean isSetContactPhone() {
    return this.contactPhone != null;
  }

  public void setContactPhoneIsSet(boolean value) {
    if (!value) {
      this.contactPhone = null;
    }
  }

  public String getContactFax() {
    return this.contactFax;
  }

  public void setContactFax(String contactFax) {
    this.contactFax = contactFax;
  }

  public void unsetContactFax() {
    this.contactFax = null;
  }

  /** Returns true if field contactFax is set (has been assigned a value) and false otherwise */
  public boolean isSetContactFax() {
    return this.contactFax != null;
  }

  public void setContactFaxIsSet(boolean value) {
    if (!value) {
      this.contactFax = null;
    }
  }

  public String getContactEmail() {
    return this.contactEmail;
  }

  public void setContactEmail(String contactEmail) {
    this.contactEmail = contactEmail;
  }

  public void unsetContactEmail() {
    this.contactEmail = null;
  }

  /** Returns true if field contactEmail is set (has been assigned a value) and false otherwise */
  public boolean isSetContactEmail() {
    return this.contactEmail != null;
  }

  public void setContactEmailIsSet(boolean value) {
    if (!value) {
      this.contactEmail = null;
    }
  }

  public String getRegisteredAddress() {
    return this.registeredAddress;
  }

  public void setRegisteredAddress(String registeredAddress) {
    this.registeredAddress = registeredAddress;
  }

  public void unsetRegisteredAddress() {
    this.registeredAddress = null;
  }

  /** Returns true if field registeredAddress is set (has been assigned a value) and false otherwise */
  public boolean isSetRegisteredAddress() {
    return this.registeredAddress != null;
  }

  public void setRegisteredAddressIsSet(boolean value) {
    if (!value) {
      this.registeredAddress = null;
    }
  }

  public String getCommunicationAddress() {
    return this.communicationAddress;
  }

  public void setCommunicationAddress(String communicationAddress) {
    this.communicationAddress = communicationAddress;
  }

  public void unsetCommunicationAddress() {
    this.communicationAddress = null;
  }

  /** Returns true if field communicationAddress is set (has been assigned a value) and false otherwise */
  public boolean isSetCommunicationAddress() {
    return this.communicationAddress != null;
  }

  public void setCommunicationAddressIsSet(boolean value) {
    if (!value) {
      this.communicationAddress = null;
    }
  }

  public long getStateId() {
    return this.stateId;
  }

  public void setStateId(long stateId) {
    this.stateId = stateId;
    setStateIdIsSet(true);
  }

  public void unsetStateId() {
    __isset_bit_vector.clear(__STATEID_ISSET_ID);
  }

  /** Returns true if field stateId is set (has been assigned a value) and false otherwise */
  public boolean isSetStateId() {
    return __isset_bit_vector.get(__STATEID_ISSET_ID);
  }

  public void setStateIdIsSet(boolean value) {
    __isset_bit_vector.set(__STATEID_ISSET_ID, value);
  }

  public long getPoValidityLimit() {
    return this.poValidityLimit;
  }

  public void setPoValidityLimit(long poValidityLimit) {
    this.poValidityLimit = poValidityLimit;
    setPoValidityLimitIsSet(true);
  }

  public void unsetPoValidityLimit() {
    __isset_bit_vector.clear(__POVALIDITYLIMIT_ISSET_ID);
  }

  /** Returns true if field poValidityLimit is set (has been assigned a value) and false otherwise */
  public boolean isSetPoValidityLimit() {
    return __isset_bit_vector.get(__POVALIDITYLIMIT_ISSET_ID);
  }

  public void setPoValidityLimitIsSet(boolean value) {
    __isset_bit_vector.set(__POVALIDITYLIMIT_ISSET_ID, value);
  }

  public String getGstin() {
    return this.gstin;
  }

  public void setGstin(String gstin) {
    this.gstin = gstin;
  }

  public void unsetGstin() {
    this.gstin = null;
  }

  /** Returns true if field gstin is set (has been assigned a value) and false otherwise */
  public boolean isSetGstin() {
    return this.gstin != null;
  }

  public void setGstinIsSet(boolean value) {
    if (!value) {
      this.gstin = null;
    }
  }

  public String getTnc() {
    return this.tnc;
  }

  public void setTnc(String tnc) {
    this.tnc = tnc;
  }

  public void unsetTnc() {
    this.tnc = null;
  }

  /** Returns true if field tnc is set (has been assigned a value) and false otherwise */
  public boolean isSetTnc() {
    return this.tnc != null;
  }

  public void setTncIsSet(boolean value) {
    if (!value) {
      this.tnc = null;
    }
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case ID:
      if (value == null) {
        unsetId();
      } else {
        setId((Long)value);
      }
      break;

    case NAME:
      if (value == null) {
        unsetName();
      } else {
        setName((String)value);
      }
      break;

    case PHONE:
      if (value == null) {
        unsetPhone();
      } else {
        setPhone((String)value);
      }
      break;

    case FAX:
      if (value == null) {
        unsetFax();
      } else {
        setFax((String)value);
      }
      break;

    case TIN:
      if (value == null) {
        unsetTin();
      } else {
        setTin((String)value);
      }
      break;

    case PAN:
      if (value == null) {
        unsetPan();
      } else {
        setPan((String)value);
      }
      break;

    case HEAD_NAME:
      if (value == null) {
        unsetHeadName();
      } else {
        setHeadName((String)value);
      }
      break;

    case HEAD_DESIGNATION:
      if (value == null) {
        unsetHeadDesignation();
      } else {
        setHeadDesignation((String)value);
      }
      break;

    case HEAD_EMAIL:
      if (value == null) {
        unsetHeadEmail();
      } else {
        setHeadEmail((String)value);
      }
      break;

    case CONTACT_NAME:
      if (value == null) {
        unsetContactName();
      } else {
        setContactName((String)value);
      }
      break;

    case CONTACT_PHONE:
      if (value == null) {
        unsetContactPhone();
      } else {
        setContactPhone((String)value);
      }
      break;

    case CONTACT_FAX:
      if (value == null) {
        unsetContactFax();
      } else {
        setContactFax((String)value);
      }
      break;

    case CONTACT_EMAIL:
      if (value == null) {
        unsetContactEmail();
      } else {
        setContactEmail((String)value);
      }
      break;

    case REGISTERED_ADDRESS:
      if (value == null) {
        unsetRegisteredAddress();
      } else {
        setRegisteredAddress((String)value);
      }
      break;

    case COMMUNICATION_ADDRESS:
      if (value == null) {
        unsetCommunicationAddress();
      } else {
        setCommunicationAddress((String)value);
      }
      break;

    case STATE_ID:
      if (value == null) {
        unsetStateId();
      } else {
        setStateId((Long)value);
      }
      break;

    case PO_VALIDITY_LIMIT:
      if (value == null) {
        unsetPoValidityLimit();
      } else {
        setPoValidityLimit((Long)value);
      }
      break;

    case GSTIN:
      if (value == null) {
        unsetGstin();
      } else {
        setGstin((String)value);
      }
      break;

    case TNC:
      if (value == null) {
        unsetTnc();
      } else {
        setTnc((String)value);
      }
      break;

    }
  }

  public Object getFieldValue(_Fields field) {
    switch (field) {
    case ID:
      return Long.valueOf(getId());

    case NAME:
      return getName();

    case PHONE:
      return getPhone();

    case FAX:
      return getFax();

    case TIN:
      return getTin();

    case PAN:
      return getPan();

    case HEAD_NAME:
      return getHeadName();

    case HEAD_DESIGNATION:
      return getHeadDesignation();

    case HEAD_EMAIL:
      return getHeadEmail();

    case CONTACT_NAME:
      return getContactName();

    case CONTACT_PHONE:
      return getContactPhone();

    case CONTACT_FAX:
      return getContactFax();

    case CONTACT_EMAIL:
      return getContactEmail();

    case REGISTERED_ADDRESS:
      return getRegisteredAddress();

    case COMMUNICATION_ADDRESS:
      return getCommunicationAddress();

    case STATE_ID:
      return Long.valueOf(getStateId());

    case PO_VALIDITY_LIMIT:
      return Long.valueOf(getPoValidityLimit());

    case GSTIN:
      return getGstin();

    case TNC:
      return getTnc();

    }
    throw new IllegalStateException();
  }

  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
  public boolean isSet(_Fields field) {
    if (field == null) {
      throw new IllegalArgumentException();
    }

    switch (field) {
    case ID:
      return isSetId();
    case NAME:
      return isSetName();
    case PHONE:
      return isSetPhone();
    case FAX:
      return isSetFax();
    case TIN:
      return isSetTin();
    case PAN:
      return isSetPan();
    case HEAD_NAME:
      return isSetHeadName();
    case HEAD_DESIGNATION:
      return isSetHeadDesignation();
    case HEAD_EMAIL:
      return isSetHeadEmail();
    case CONTACT_NAME:
      return isSetContactName();
    case CONTACT_PHONE:
      return isSetContactPhone();
    case CONTACT_FAX:
      return isSetContactFax();
    case CONTACT_EMAIL:
      return isSetContactEmail();
    case REGISTERED_ADDRESS:
      return isSetRegisteredAddress();
    case COMMUNICATION_ADDRESS:
      return isSetCommunicationAddress();
    case STATE_ID:
      return isSetStateId();
    case PO_VALIDITY_LIMIT:
      return isSetPoValidityLimit();
    case GSTIN:
      return isSetGstin();
    case TNC:
      return isSetTnc();
    }
    throw new IllegalStateException();
  }

  @Override
  public boolean equals(Object that) {
    if (that == null)
      return false;
    if (that instanceof Supplier)
      return this.equals((Supplier)that);
    return false;
  }

  public boolean equals(Supplier that) {
    if (that == null)
      return false;

    boolean this_present_id = true;
    boolean that_present_id = true;
    if (this_present_id || that_present_id) {
      if (!(this_present_id && that_present_id))
        return false;
      if (this.id != that.id)
        return false;
    }

    boolean this_present_name = true && this.isSetName();
    boolean that_present_name = true && that.isSetName();
    if (this_present_name || that_present_name) {
      if (!(this_present_name && that_present_name))
        return false;
      if (!this.name.equals(that.name))
        return false;
    }

    boolean this_present_phone = true && this.isSetPhone();
    boolean that_present_phone = true && that.isSetPhone();
    if (this_present_phone || that_present_phone) {
      if (!(this_present_phone && that_present_phone))
        return false;
      if (!this.phone.equals(that.phone))
        return false;
    }

    boolean this_present_fax = true && this.isSetFax();
    boolean that_present_fax = true && that.isSetFax();
    if (this_present_fax || that_present_fax) {
      if (!(this_present_fax && that_present_fax))
        return false;
      if (!this.fax.equals(that.fax))
        return false;
    }

    boolean this_present_tin = true && this.isSetTin();
    boolean that_present_tin = true && that.isSetTin();
    if (this_present_tin || that_present_tin) {
      if (!(this_present_tin && that_present_tin))
        return false;
      if (!this.tin.equals(that.tin))
        return false;
    }

    boolean this_present_pan = true && this.isSetPan();
    boolean that_present_pan = true && that.isSetPan();
    if (this_present_pan || that_present_pan) {
      if (!(this_present_pan && that_present_pan))
        return false;
      if (!this.pan.equals(that.pan))
        return false;
    }

    boolean this_present_headName = true && this.isSetHeadName();
    boolean that_present_headName = true && that.isSetHeadName();
    if (this_present_headName || that_present_headName) {
      if (!(this_present_headName && that_present_headName))
        return false;
      if (!this.headName.equals(that.headName))
        return false;
    }

    boolean this_present_headDesignation = true && this.isSetHeadDesignation();
    boolean that_present_headDesignation = true && that.isSetHeadDesignation();
    if (this_present_headDesignation || that_present_headDesignation) {
      if (!(this_present_headDesignation && that_present_headDesignation))
        return false;
      if (!this.headDesignation.equals(that.headDesignation))
        return false;
    }

    boolean this_present_headEmail = true && this.isSetHeadEmail();
    boolean that_present_headEmail = true && that.isSetHeadEmail();
    if (this_present_headEmail || that_present_headEmail) {
      if (!(this_present_headEmail && that_present_headEmail))
        return false;
      if (!this.headEmail.equals(that.headEmail))
        return false;
    }

    boolean this_present_contactName = true && this.isSetContactName();
    boolean that_present_contactName = true && that.isSetContactName();
    if (this_present_contactName || that_present_contactName) {
      if (!(this_present_contactName && that_present_contactName))
        return false;
      if (!this.contactName.equals(that.contactName))
        return false;
    }

    boolean this_present_contactPhone = true && this.isSetContactPhone();
    boolean that_present_contactPhone = true && that.isSetContactPhone();
    if (this_present_contactPhone || that_present_contactPhone) {
      if (!(this_present_contactPhone && that_present_contactPhone))
        return false;
      if (!this.contactPhone.equals(that.contactPhone))
        return false;
    }

    boolean this_present_contactFax = true && this.isSetContactFax();
    boolean that_present_contactFax = true && that.isSetContactFax();
    if (this_present_contactFax || that_present_contactFax) {
      if (!(this_present_contactFax && that_present_contactFax))
        return false;
      if (!this.contactFax.equals(that.contactFax))
        return false;
    }

    boolean this_present_contactEmail = true && this.isSetContactEmail();
    boolean that_present_contactEmail = true && that.isSetContactEmail();
    if (this_present_contactEmail || that_present_contactEmail) {
      if (!(this_present_contactEmail && that_present_contactEmail))
        return false;
      if (!this.contactEmail.equals(that.contactEmail))
        return false;
    }

    boolean this_present_registeredAddress = true && this.isSetRegisteredAddress();
    boolean that_present_registeredAddress = true && that.isSetRegisteredAddress();
    if (this_present_registeredAddress || that_present_registeredAddress) {
      if (!(this_present_registeredAddress && that_present_registeredAddress))
        return false;
      if (!this.registeredAddress.equals(that.registeredAddress))
        return false;
    }

    boolean this_present_communicationAddress = true && this.isSetCommunicationAddress();
    boolean that_present_communicationAddress = true && that.isSetCommunicationAddress();
    if (this_present_communicationAddress || that_present_communicationAddress) {
      if (!(this_present_communicationAddress && that_present_communicationAddress))
        return false;
      if (!this.communicationAddress.equals(that.communicationAddress))
        return false;
    }

    boolean this_present_stateId = true;
    boolean that_present_stateId = true;
    if (this_present_stateId || that_present_stateId) {
      if (!(this_present_stateId && that_present_stateId))
        return false;
      if (this.stateId != that.stateId)
        return false;
    }

    boolean this_present_poValidityLimit = true;
    boolean that_present_poValidityLimit = true;
    if (this_present_poValidityLimit || that_present_poValidityLimit) {
      if (!(this_present_poValidityLimit && that_present_poValidityLimit))
        return false;
      if (this.poValidityLimit != that.poValidityLimit)
        return false;
    }

    boolean this_present_gstin = true && this.isSetGstin();
    boolean that_present_gstin = true && that.isSetGstin();
    if (this_present_gstin || that_present_gstin) {
      if (!(this_present_gstin && that_present_gstin))
        return false;
      if (!this.gstin.equals(that.gstin))
        return false;
    }

    boolean this_present_tnc = true && this.isSetTnc();
    boolean that_present_tnc = true && that.isSetTnc();
    if (this_present_tnc || that_present_tnc) {
      if (!(this_present_tnc && that_present_tnc))
        return false;
      if (!this.tnc.equals(that.tnc))
        return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    return 0;
  }

  public int compareTo(Supplier other) {
    if (!getClass().equals(other.getClass())) {
      return getClass().getName().compareTo(other.getClass().getName());
    }

    int lastComparison = 0;
    Supplier typedOther = (Supplier)other;

    lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetName()).compareTo(typedOther.isSetName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, typedOther.name);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetPhone()).compareTo(typedOther.isSetPhone());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPhone()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.phone, typedOther.phone);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetFax()).compareTo(typedOther.isSetFax());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFax()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fax, typedOther.fax);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTin()).compareTo(typedOther.isSetTin());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTin()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tin, typedOther.tin);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetPan()).compareTo(typedOther.isSetPan());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPan()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pan, typedOther.pan);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetHeadName()).compareTo(typedOther.isSetHeadName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHeadName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.headName, typedOther.headName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetHeadDesignation()).compareTo(typedOther.isSetHeadDesignation());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHeadDesignation()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.headDesignation, typedOther.headDesignation);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetHeadEmail()).compareTo(typedOther.isSetHeadEmail());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHeadEmail()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.headEmail, typedOther.headEmail);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetContactName()).compareTo(typedOther.isSetContactName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetContactName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.contactName, typedOther.contactName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetContactPhone()).compareTo(typedOther.isSetContactPhone());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetContactPhone()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.contactPhone, typedOther.contactPhone);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetContactFax()).compareTo(typedOther.isSetContactFax());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetContactFax()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.contactFax, typedOther.contactFax);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetContactEmail()).compareTo(typedOther.isSetContactEmail());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetContactEmail()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.contactEmail, typedOther.contactEmail);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetRegisteredAddress()).compareTo(typedOther.isSetRegisteredAddress());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRegisteredAddress()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.registeredAddress, typedOther.registeredAddress);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCommunicationAddress()).compareTo(typedOther.isSetCommunicationAddress());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCommunicationAddress()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.communicationAddress, typedOther.communicationAddress);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetStateId()).compareTo(typedOther.isSetStateId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStateId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stateId, typedOther.stateId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetPoValidityLimit()).compareTo(typedOther.isSetPoValidityLimit());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPoValidityLimit()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.poValidityLimit, typedOther.poValidityLimit);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGstin()).compareTo(typedOther.isSetGstin());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGstin()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gstin, typedOther.gstin);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTnc()).compareTo(typedOther.isSetTnc());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTnc()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tnc, typedOther.tnc);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    return 0;
  }

  public _Fields fieldForId(int fieldId) {
    return _Fields.findByThriftId(fieldId);
  }

  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
    org.apache.thrift.protocol.TField field;
    iprot.readStructBegin();
    while (true)
    {
      field = iprot.readFieldBegin();
      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
        break;
      }
      switch (field.id) {
        case 1: // ID
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.id = iprot.readI64();
            setIdIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 2: // NAME
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.name = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 3: // PHONE
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.phone = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 4: // FAX
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.fax = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 5: // TIN
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.tin = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 6: // PAN
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.pan = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 7: // HEAD_NAME
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.headName = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 8: // HEAD_DESIGNATION
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.headDesignation = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 9: // HEAD_EMAIL
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.headEmail = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 10: // CONTACT_NAME
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.contactName = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 11: // CONTACT_PHONE
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.contactPhone = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 12: // CONTACT_FAX
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.contactFax = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 13: // CONTACT_EMAIL
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.contactEmail = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 14: // REGISTERED_ADDRESS
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.registeredAddress = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 15: // COMMUNICATION_ADDRESS
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.communicationAddress = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 16: // STATE_ID
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.stateId = iprot.readI64();
            setStateIdIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 17: // PO_VALIDITY_LIMIT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.poValidityLimit = iprot.readI64();
            setPoValidityLimitIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 18: // GSTIN
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.gstin = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 19: // TNC
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.tnc = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        default:
          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
      }
      iprot.readFieldEnd();
    }
    iprot.readStructEnd();
    validate();
  }

  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
    validate();

    oprot.writeStructBegin(STRUCT_DESC);
    oprot.writeFieldBegin(ID_FIELD_DESC);
    oprot.writeI64(this.id);
    oprot.writeFieldEnd();
    if (this.name != null) {
      oprot.writeFieldBegin(NAME_FIELD_DESC);
      oprot.writeString(this.name);
      oprot.writeFieldEnd();
    }
    if (this.phone != null) {
      oprot.writeFieldBegin(PHONE_FIELD_DESC);
      oprot.writeString(this.phone);
      oprot.writeFieldEnd();
    }
    if (this.fax != null) {
      oprot.writeFieldBegin(FAX_FIELD_DESC);
      oprot.writeString(this.fax);
      oprot.writeFieldEnd();
    }
    if (this.tin != null) {
      oprot.writeFieldBegin(TIN_FIELD_DESC);
      oprot.writeString(this.tin);
      oprot.writeFieldEnd();
    }
    if (this.pan != null) {
      oprot.writeFieldBegin(PAN_FIELD_DESC);
      oprot.writeString(this.pan);
      oprot.writeFieldEnd();
    }
    if (this.headName != null) {
      oprot.writeFieldBegin(HEAD_NAME_FIELD_DESC);
      oprot.writeString(this.headName);
      oprot.writeFieldEnd();
    }
    if (this.headDesignation != null) {
      oprot.writeFieldBegin(HEAD_DESIGNATION_FIELD_DESC);
      oprot.writeString(this.headDesignation);
      oprot.writeFieldEnd();
    }
    if (this.headEmail != null) {
      oprot.writeFieldBegin(HEAD_EMAIL_FIELD_DESC);
      oprot.writeString(this.headEmail);
      oprot.writeFieldEnd();
    }
    if (this.contactName != null) {
      oprot.writeFieldBegin(CONTACT_NAME_FIELD_DESC);
      oprot.writeString(this.contactName);
      oprot.writeFieldEnd();
    }
    if (this.contactPhone != null) {
      oprot.writeFieldBegin(CONTACT_PHONE_FIELD_DESC);
      oprot.writeString(this.contactPhone);
      oprot.writeFieldEnd();
    }
    if (this.contactFax != null) {
      oprot.writeFieldBegin(CONTACT_FAX_FIELD_DESC);
      oprot.writeString(this.contactFax);
      oprot.writeFieldEnd();
    }
    if (this.contactEmail != null) {
      oprot.writeFieldBegin(CONTACT_EMAIL_FIELD_DESC);
      oprot.writeString(this.contactEmail);
      oprot.writeFieldEnd();
    }
    if (this.registeredAddress != null) {
      oprot.writeFieldBegin(REGISTERED_ADDRESS_FIELD_DESC);
      oprot.writeString(this.registeredAddress);
      oprot.writeFieldEnd();
    }
    if (this.communicationAddress != null) {
      oprot.writeFieldBegin(COMMUNICATION_ADDRESS_FIELD_DESC);
      oprot.writeString(this.communicationAddress);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(STATE_ID_FIELD_DESC);
    oprot.writeI64(this.stateId);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(PO_VALIDITY_LIMIT_FIELD_DESC);
    oprot.writeI64(this.poValidityLimit);
    oprot.writeFieldEnd();
    if (this.gstin != null) {
      oprot.writeFieldBegin(GSTIN_FIELD_DESC);
      oprot.writeString(this.gstin);
      oprot.writeFieldEnd();
    }
    if (this.tnc != null) {
      oprot.writeFieldBegin(TNC_FIELD_DESC);
      oprot.writeString(this.tnc);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder("Supplier(");
    boolean first = true;

    sb.append("id:");
    sb.append(this.id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("name:");
    if (this.name == null) {
      sb.append("null");
    } else {
      sb.append(this.name);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("phone:");
    if (this.phone == null) {
      sb.append("null");
    } else {
      sb.append(this.phone);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("fax:");
    if (this.fax == null) {
      sb.append("null");
    } else {
      sb.append(this.fax);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("tin:");
    if (this.tin == null) {
      sb.append("null");
    } else {
      sb.append(this.tin);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("pan:");
    if (this.pan == null) {
      sb.append("null");
    } else {
      sb.append(this.pan);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("headName:");
    if (this.headName == null) {
      sb.append("null");
    } else {
      sb.append(this.headName);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("headDesignation:");
    if (this.headDesignation == null) {
      sb.append("null");
    } else {
      sb.append(this.headDesignation);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("headEmail:");
    if (this.headEmail == null) {
      sb.append("null");
    } else {
      sb.append(this.headEmail);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("contactName:");
    if (this.contactName == null) {
      sb.append("null");
    } else {
      sb.append(this.contactName);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("contactPhone:");
    if (this.contactPhone == null) {
      sb.append("null");
    } else {
      sb.append(this.contactPhone);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("contactFax:");
    if (this.contactFax == null) {
      sb.append("null");
    } else {
      sb.append(this.contactFax);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("contactEmail:");
    if (this.contactEmail == null) {
      sb.append("null");
    } else {
      sb.append(this.contactEmail);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("registeredAddress:");
    if (this.registeredAddress == null) {
      sb.append("null");
    } else {
      sb.append(this.registeredAddress);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("communicationAddress:");
    if (this.communicationAddress == null) {
      sb.append("null");
    } else {
      sb.append(this.communicationAddress);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("stateId:");
    sb.append(this.stateId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("poValidityLimit:");
    sb.append(this.poValidityLimit);
    first = false;
    if (!first) sb.append(", ");
    sb.append("gstin:");
    if (this.gstin == null) {
      sb.append("null");
    } else {
      sb.append(this.gstin);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("tnc:");
    if (this.tnc == null) {
      sb.append("null");
    } else {
      sb.append(this.tnc);
    }
    first = false;
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
  }

  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
    try {
      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
    } catch (org.apache.thrift.TException te) {
      throw new java.io.IOException(te);
    }
  }

  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
    try {
      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
      __isset_bit_vector = new BitSet(1);
      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
    } catch (org.apache.thrift.TException te) {
      throw new java.io.IOException(te);
    }
  }

}