Subversion Repositories SmartDukaan

Rev

Blame | 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.model.v1.order;

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 Pmsa implements org.apache.thrift.TBase<Pmsa, Pmsa._Fields>, java.io.Serializable, Cloneable {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Pmsa");

  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 EMAIL_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("emailId", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("address", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("state", org.apache.thrift.protocol.TType.STRING, (short)6);
  private static final org.apache.thrift.protocol.TField LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("level", org.apache.thrift.protocol.TType.STRING, (short)7);
  private static final org.apache.thrift.protocol.TField L1_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("l1_email", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField L2_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("l2_email", org.apache.thrift.protocol.TType.STRING, (short)9);
  private static final org.apache.thrift.protocol.TField ACTIVATED_FIELD_DESC = new org.apache.thrift.protocol.TField("activated", org.apache.thrift.protocol.TType.BOOL, (short)10);
  private static final org.apache.thrift.protocol.TField PIN_FIELD_DESC = new org.apache.thrift.protocol.TField("pin", org.apache.thrift.protocol.TType.STRING, (short)11);
  private static final org.apache.thrift.protocol.TField CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("code", org.apache.thrift.protocol.TType.STRING, (short)12);
  private static final org.apache.thrift.protocol.TField CREATED_AT_FIELD_DESC = new org.apache.thrift.protocol.TField("createdAt", org.apache.thrift.protocol.TType.I64, (short)13);

  private long id; // required
  private String name; // required
  private String phone; // required
  private String emailId; // required
  private String address; // required
  private String state; // required
  private String level; // required
  private String l1_email; // required
  private String l2_email; // required
  private boolean activated; // required
  private String pin; // required
  private String code; // required
  private long createdAt; // 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"),
    EMAIL_ID((short)4, "emailId"),
    ADDRESS((short)5, "address"),
    STATE((short)6, "state"),
    LEVEL((short)7, "level"),
    L1_EMAIL((short)8, "l1_email"),
    L2_EMAIL((short)9, "l2_email"),
    ACTIVATED((short)10, "activated"),
    PIN((short)11, "pin"),
    CODE((short)12, "code"),
    CREATED_AT((short)13, "createdAt");

    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: // EMAIL_ID
          return EMAIL_ID;
        case 5: // ADDRESS
          return ADDRESS;
        case 6: // STATE
          return STATE;
        case 7: // LEVEL
          return LEVEL;
        case 8: // L1_EMAIL
          return L1_EMAIL;
        case 9: // L2_EMAIL
          return L2_EMAIL;
        case 10: // ACTIVATED
          return ACTIVATED;
        case 11: // PIN
          return PIN;
        case 12: // CODE
          return CODE;
        case 13: // CREATED_AT
          return CREATED_AT;
        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 __ACTIVATED_ISSET_ID = 1;
  private static final int __CREATEDAT_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.EMAIL_ID, new org.apache.thrift.meta_data.FieldMetaData("emailId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("address", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.STATE, new org.apache.thrift.meta_data.FieldMetaData("state", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.LEVEL, new org.apache.thrift.meta_data.FieldMetaData("level", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.L1_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("l1_email", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.L2_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("l2_email", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.ACTIVATED, new org.apache.thrift.meta_data.FieldMetaData("activated", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.PIN, new org.apache.thrift.meta_data.FieldMetaData("pin", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.CODE, new org.apache.thrift.meta_data.FieldMetaData("code", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.CREATED_AT, new org.apache.thrift.meta_data.FieldMetaData("createdAt", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Pmsa.class, metaDataMap);
  }

  public Pmsa() {
  }

  public Pmsa(
    long id,
    String name,
    String phone,
    String emailId,
    String address,
    String state,
    String level,
    String l1_email,
    String l2_email,
    boolean activated,
    String pin,
    String code,
    long createdAt)
  {
    this();
    this.id = id;
    setIdIsSet(true);
    this.name = name;
    this.phone = phone;
    this.emailId = emailId;
    this.address = address;
    this.state = state;
    this.level = level;
    this.l1_email = l1_email;
    this.l2_email = l2_email;
    this.activated = activated;
    setActivatedIsSet(true);
    this.pin = pin;
    this.code = code;
    this.createdAt = createdAt;
    setCreatedAtIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public Pmsa(Pmsa 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.isSetEmailId()) {
      this.emailId = other.emailId;
    }
    if (other.isSetAddress()) {
      this.address = other.address;
    }
    if (other.isSetState()) {
      this.state = other.state;
    }
    if (other.isSetLevel()) {
      this.level = other.level;
    }
    if (other.isSetL1_email()) {
      this.l1_email = other.l1_email;
    }
    if (other.isSetL2_email()) {
      this.l2_email = other.l2_email;
    }
    this.activated = other.activated;
    if (other.isSetPin()) {
      this.pin = other.pin;
    }
    if (other.isSetCode()) {
      this.code = other.code;
    }
    this.createdAt = other.createdAt;
  }

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

  @Override
  public void clear() {
    setIdIsSet(false);
    this.id = 0;
    this.name = null;
    this.phone = null;
    this.emailId = null;
    this.address = null;
    this.state = null;
    this.level = null;
    this.l1_email = null;
    this.l2_email = null;
    setActivatedIsSet(false);
    this.activated = false;
    this.pin = null;
    this.code = null;
    setCreatedAtIsSet(false);
    this.createdAt = 0;
  }

  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 getEmailId() {
    return this.emailId;
  }

  public void setEmailId(String emailId) {
    this.emailId = emailId;
  }

  public void unsetEmailId() {
    this.emailId = null;
  }

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

  public void setEmailIdIsSet(boolean value) {
    if (!value) {
      this.emailId = null;
    }
  }

  public String getAddress() {
    return this.address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  public void unsetAddress() {
    this.address = null;
  }

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

  public void setAddressIsSet(boolean value) {
    if (!value) {
      this.address = null;
    }
  }

  public String getState() {
    return this.state;
  }

  public void setState(String state) {
    this.state = state;
  }

  public void unsetState() {
    this.state = null;
  }

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

  public void setStateIsSet(boolean value) {
    if (!value) {
      this.state = null;
    }
  }

  public String getLevel() {
    return this.level;
  }

  public void setLevel(String level) {
    this.level = level;
  }

  public void unsetLevel() {
    this.level = null;
  }

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

  public void setLevelIsSet(boolean value) {
    if (!value) {
      this.level = null;
    }
  }

  public String getL1_email() {
    return this.l1_email;
  }

  public void setL1_email(String l1_email) {
    this.l1_email = l1_email;
  }

  public void unsetL1_email() {
    this.l1_email = null;
  }

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

  public void setL1_emailIsSet(boolean value) {
    if (!value) {
      this.l1_email = null;
    }
  }

  public String getL2_email() {
    return this.l2_email;
  }

  public void setL2_email(String l2_email) {
    this.l2_email = l2_email;
  }

  public void unsetL2_email() {
    this.l2_email = null;
  }

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

  public void setL2_emailIsSet(boolean value) {
    if (!value) {
      this.l2_email = null;
    }
  }

  public boolean isActivated() {
    return this.activated;
  }

  public void setActivated(boolean activated) {
    this.activated = activated;
    setActivatedIsSet(true);
  }

  public void unsetActivated() {
    __isset_bit_vector.clear(__ACTIVATED_ISSET_ID);
  }

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

  public void setActivatedIsSet(boolean value) {
    __isset_bit_vector.set(__ACTIVATED_ISSET_ID, value);
  }

  public String getPin() {
    return this.pin;
  }

  public void setPin(String pin) {
    this.pin = pin;
  }

  public void unsetPin() {
    this.pin = null;
  }

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

  public void setPinIsSet(boolean value) {
    if (!value) {
      this.pin = null;
    }
  }

  public String getCode() {
    return this.code;
  }

  public void setCode(String code) {
    this.code = code;
  }

  public void unsetCode() {
    this.code = null;
  }

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

  public void setCodeIsSet(boolean value) {
    if (!value) {
      this.code = null;
    }
  }

  public long getCreatedAt() {
    return this.createdAt;
  }

  public void setCreatedAt(long createdAt) {
    this.createdAt = createdAt;
    setCreatedAtIsSet(true);
  }

  public void unsetCreatedAt() {
    __isset_bit_vector.clear(__CREATEDAT_ISSET_ID);
  }

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

  public void setCreatedAtIsSet(boolean value) {
    __isset_bit_vector.set(__CREATEDAT_ISSET_ID, value);
  }

  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 EMAIL_ID:
      if (value == null) {
        unsetEmailId();
      } else {
        setEmailId((String)value);
      }
      break;

    case ADDRESS:
      if (value == null) {
        unsetAddress();
      } else {
        setAddress((String)value);
      }
      break;

    case STATE:
      if (value == null) {
        unsetState();
      } else {
        setState((String)value);
      }
      break;

    case LEVEL:
      if (value == null) {
        unsetLevel();
      } else {
        setLevel((String)value);
      }
      break;

    case L1_EMAIL:
      if (value == null) {
        unsetL1_email();
      } else {
        setL1_email((String)value);
      }
      break;

    case L2_EMAIL:
      if (value == null) {
        unsetL2_email();
      } else {
        setL2_email((String)value);
      }
      break;

    case ACTIVATED:
      if (value == null) {
        unsetActivated();
      } else {
        setActivated((Boolean)value);
      }
      break;

    case PIN:
      if (value == null) {
        unsetPin();
      } else {
        setPin((String)value);
      }
      break;

    case CODE:
      if (value == null) {
        unsetCode();
      } else {
        setCode((String)value);
      }
      break;

    case CREATED_AT:
      if (value == null) {
        unsetCreatedAt();
      } else {
        setCreatedAt((Long)value);
      }
      break;

    }
  }

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

    case NAME:
      return getName();

    case PHONE:
      return getPhone();

    case EMAIL_ID:
      return getEmailId();

    case ADDRESS:
      return getAddress();

    case STATE:
      return getState();

    case LEVEL:
      return getLevel();

    case L1_EMAIL:
      return getL1_email();

    case L2_EMAIL:
      return getL2_email();

    case ACTIVATED:
      return Boolean.valueOf(isActivated());

    case PIN:
      return getPin();

    case CODE:
      return getCode();

    case CREATED_AT:
      return Long.valueOf(getCreatedAt());

    }
    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 EMAIL_ID:
      return isSetEmailId();
    case ADDRESS:
      return isSetAddress();
    case STATE:
      return isSetState();
    case LEVEL:
      return isSetLevel();
    case L1_EMAIL:
      return isSetL1_email();
    case L2_EMAIL:
      return isSetL2_email();
    case ACTIVATED:
      return isSetActivated();
    case PIN:
      return isSetPin();
    case CODE:
      return isSetCode();
    case CREATED_AT:
      return isSetCreatedAt();
    }
    throw new IllegalStateException();
  }

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

  public boolean equals(Pmsa 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_emailId = true && this.isSetEmailId();
    boolean that_present_emailId = true && that.isSetEmailId();
    if (this_present_emailId || that_present_emailId) {
      if (!(this_present_emailId && that_present_emailId))
        return false;
      if (!this.emailId.equals(that.emailId))
        return false;
    }

    boolean this_present_address = true && this.isSetAddress();
    boolean that_present_address = true && that.isSetAddress();
    if (this_present_address || that_present_address) {
      if (!(this_present_address && that_present_address))
        return false;
      if (!this.address.equals(that.address))
        return false;
    }

    boolean this_present_state = true && this.isSetState();
    boolean that_present_state = true && that.isSetState();
    if (this_present_state || that_present_state) {
      if (!(this_present_state && that_present_state))
        return false;
      if (!this.state.equals(that.state))
        return false;
    }

    boolean this_present_level = true && this.isSetLevel();
    boolean that_present_level = true && that.isSetLevel();
    if (this_present_level || that_present_level) {
      if (!(this_present_level && that_present_level))
        return false;
      if (!this.level.equals(that.level))
        return false;
    }

    boolean this_present_l1_email = true && this.isSetL1_email();
    boolean that_present_l1_email = true && that.isSetL1_email();
    if (this_present_l1_email || that_present_l1_email) {
      if (!(this_present_l1_email && that_present_l1_email))
        return false;
      if (!this.l1_email.equals(that.l1_email))
        return false;
    }

    boolean this_present_l2_email = true && this.isSetL2_email();
    boolean that_present_l2_email = true && that.isSetL2_email();
    if (this_present_l2_email || that_present_l2_email) {
      if (!(this_present_l2_email && that_present_l2_email))
        return false;
      if (!this.l2_email.equals(that.l2_email))
        return false;
    }

    boolean this_present_activated = true;
    boolean that_present_activated = true;
    if (this_present_activated || that_present_activated) {
      if (!(this_present_activated && that_present_activated))
        return false;
      if (this.activated != that.activated)
        return false;
    }

    boolean this_present_pin = true && this.isSetPin();
    boolean that_present_pin = true && that.isSetPin();
    if (this_present_pin || that_present_pin) {
      if (!(this_present_pin && that_present_pin))
        return false;
      if (!this.pin.equals(that.pin))
        return false;
    }

    boolean this_present_code = true && this.isSetCode();
    boolean that_present_code = true && that.isSetCode();
    if (this_present_code || that_present_code) {
      if (!(this_present_code && that_present_code))
        return false;
      if (!this.code.equals(that.code))
        return false;
    }

    boolean this_present_createdAt = true;
    boolean that_present_createdAt = true;
    if (this_present_createdAt || that_present_createdAt) {
      if (!(this_present_createdAt && that_present_createdAt))
        return false;
      if (this.createdAt != that.createdAt)
        return false;
    }

    return true;
  }

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

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

    int lastComparison = 0;
    Pmsa typedOther = (Pmsa)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(isSetEmailId()).compareTo(typedOther.isSetEmailId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetEmailId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.emailId, typedOther.emailId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetAddress()).compareTo(typedOther.isSetAddress());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetAddress()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.address, typedOther.address);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetState()).compareTo(typedOther.isSetState());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetState()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state, typedOther.state);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetLevel()).compareTo(typedOther.isSetLevel());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLevel()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.level, typedOther.level);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetL1_email()).compareTo(typedOther.isSetL1_email());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetL1_email()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.l1_email, typedOther.l1_email);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetL2_email()).compareTo(typedOther.isSetL2_email());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetL2_email()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.l2_email, typedOther.l2_email);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetActivated()).compareTo(typedOther.isSetActivated());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetActivated()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.activated, typedOther.activated);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetPin()).compareTo(typedOther.isSetPin());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPin()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pin, typedOther.pin);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCode()).compareTo(typedOther.isSetCode());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCode()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.code, typedOther.code);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCreatedAt()).compareTo(typedOther.isSetCreatedAt());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCreatedAt()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.createdAt, typedOther.createdAt);
      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: // EMAIL_ID
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.emailId = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 5: // ADDRESS
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.address = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 6: // STATE
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.state = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 7: // LEVEL
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.level = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 8: // L1_EMAIL
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.l1_email = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 9: // L2_EMAIL
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.l2_email = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 10: // ACTIVATED
          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
            this.activated = iprot.readBool();
            setActivatedIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 11: // PIN
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.pin = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 12: // CODE
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.code = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 13: // CREATED_AT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.createdAt = iprot.readI64();
            setCreatedAtIsSet(true);
          } 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.emailId != null) {
      oprot.writeFieldBegin(EMAIL_ID_FIELD_DESC);
      oprot.writeString(this.emailId);
      oprot.writeFieldEnd();
    }
    if (this.address != null) {
      oprot.writeFieldBegin(ADDRESS_FIELD_DESC);
      oprot.writeString(this.address);
      oprot.writeFieldEnd();
    }
    if (this.state != null) {
      oprot.writeFieldBegin(STATE_FIELD_DESC);
      oprot.writeString(this.state);
      oprot.writeFieldEnd();
    }
    if (this.level != null) {
      oprot.writeFieldBegin(LEVEL_FIELD_DESC);
      oprot.writeString(this.level);
      oprot.writeFieldEnd();
    }
    if (this.l1_email != null) {
      oprot.writeFieldBegin(L1_EMAIL_FIELD_DESC);
      oprot.writeString(this.l1_email);
      oprot.writeFieldEnd();
    }
    if (this.l2_email != null) {
      oprot.writeFieldBegin(L2_EMAIL_FIELD_DESC);
      oprot.writeString(this.l2_email);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(ACTIVATED_FIELD_DESC);
    oprot.writeBool(this.activated);
    oprot.writeFieldEnd();
    if (this.pin != null) {
      oprot.writeFieldBegin(PIN_FIELD_DESC);
      oprot.writeString(this.pin);
      oprot.writeFieldEnd();
    }
    if (this.code != null) {
      oprot.writeFieldBegin(CODE_FIELD_DESC);
      oprot.writeString(this.code);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(CREATED_AT_FIELD_DESC);
    oprot.writeI64(this.createdAt);
    oprot.writeFieldEnd();
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder("Pmsa(");
    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("emailId:");
    if (this.emailId == null) {
      sb.append("null");
    } else {
      sb.append(this.emailId);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("address:");
    if (this.address == null) {
      sb.append("null");
    } else {
      sb.append(this.address);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("state:");
    if (this.state == null) {
      sb.append("null");
    } else {
      sb.append(this.state);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("level:");
    if (this.level == null) {
      sb.append("null");
    } else {
      sb.append(this.level);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("l1_email:");
    if (this.l1_email == null) {
      sb.append("null");
    } else {
      sb.append(this.l1_email);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("l2_email:");
    if (this.l2_email == null) {
      sb.append("null");
    } else {
      sb.append(this.l2_email);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("activated:");
    sb.append(this.activated);
    first = false;
    if (!first) sb.append(", ");
    sb.append("pin:");
    if (this.pin == null) {
      sb.append("null");
    } else {
      sb.append(this.pin);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("code:");
    if (this.code == null) {
      sb.append("null");
    } else {
      sb.append(this.code);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("createdAt:");
    sb.append(this.createdAt);
    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);
    }
  }

}