Subversion Repositories SmartDukaan

Rev

Rev 1982 | Rev 2677 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * Autogenerated by Thrift
 *
 * 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.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import org.apache.thrift.*;
import org.apache.thrift.meta_data.*;
import org.apache.thrift.protocol.*;

public class Order implements TBase<Order._Fields>, java.io.Serializable, Cloneable, Comparable<Order> {
  private static final TStruct STRUCT_DESC = new TStruct("Order");

  private static final TField ID_FIELD_DESC = new TField("id", TType.I64, (short)1);
  private static final TField WAREHOUSE_ID_FIELD_DESC = new TField("warehouse_id", TType.I64, (short)2);
  private static final TField LINEITEMS_FIELD_DESC = new TField("lineitems", TType.LIST, (short)3);
  private static final TField LOGISTICS_PROVIDER_ID_FIELD_DESC = new TField("logistics_provider_id", TType.I64, (short)4);
  private static final TField AIRWAYBILL_NO_FIELD_DESC = new TField("airwaybill_no", TType.STRING, (short)5);
  private static final TField TRACKING_ID_FIELD_DESC = new TField("tracking_id", TType.STRING, (short)6);
  private static final TField EXPECTED_DELIVERY_TIME_FIELD_DESC = new TField("expected_delivery_time", TType.I64, (short)7);
  private static final TField CUSTOMER_ID_FIELD_DESC = new TField("customer_id", TType.I64, (short)8);
  private static final TField CUSTOMER_NAME_FIELD_DESC = new TField("customer_name", TType.STRING, (short)9);
  private static final TField CUSTOMER_MOBILENUMBER_FIELD_DESC = new TField("customer_mobilenumber", TType.STRING, (short)10);
  private static final TField CUSTOMER_PINCODE_FIELD_DESC = new TField("customer_pincode", TType.STRING, (short)11);
  private static final TField CUSTOMER_ADDRESS1_FIELD_DESC = new TField("customer_address1", TType.STRING, (short)12);
  private static final TField CUSTOMER_ADDRESS2_FIELD_DESC = new TField("customer_address2", TType.STRING, (short)13);
  private static final TField CUSTOMER_EMAIL_FIELD_DESC = new TField("customer_email", TType.STRING, (short)14);
  private static final TField CUSTOMER_CITY_FIELD_DESC = new TField("customer_city", TType.STRING, (short)15);
  private static final TField CUSTOMER_STATE_FIELD_DESC = new TField("customer_state", TType.STRING, (short)16);
  private static final TField STATUS_FIELD_DESC = new TField("status", TType.I32, (short)17);
  private static final TField STATUS_DESCRIPTION_FIELD_DESC = new TField("statusDescription", TType.STRING, (short)18);
  private static final TField TOTAL_AMOUNT_FIELD_DESC = new TField("total_amount", TType.DOUBLE, (short)19);
  private static final TField TOTAL_WEIGHT_FIELD_DESC = new TField("total_weight", TType.DOUBLE, (short)20);
  private static final TField INVOICE_NUMBER_FIELD_DESC = new TField("invoice_number", TType.STRING, (short)21);
  private static final TField BILLED_BY_FIELD_DESC = new TField("billed_by", TType.STRING, (short)22);
  private static final TField CREATED_TIMESTAMP_FIELD_DESC = new TField("created_timestamp", TType.I64, (short)23);
  private static final TField ACCEPTED_TIMESTAMP_FIELD_DESC = new TField("accepted_timestamp", TType.I64, (short)24);
  private static final TField BILLING_TIMESTAMP_FIELD_DESC = new TField("billing_timestamp", TType.I64, (short)25);
  private static final TField SHIPPING_TIMESTAMP_FIELD_DESC = new TField("shipping_timestamp", TType.I64, (short)26);
  private static final TField PICKUP_TIMESTAMP_FIELD_DESC = new TField("pickup_timestamp", TType.I64, (short)27);
  private static final TField DELIVERY_TIMESTAMP_FIELD_DESC = new TField("delivery_timestamp", TType.I64, (short)28);
  private static final TField OUTOFSTOCK_TIMESTAMP_FIELD_DESC = new TField("outofstock_timestamp", TType.I64, (short)29);
  private static final TField JACKET_NUMBER_FIELD_DESC = new TField("jacket_number", TType.I64, (short)30);
  private static final TField RECEIVER_FIELD_DESC = new TField("receiver", TType.STRING, (short)31);
  private static final TField BATCH_NO_FIELD_DESC = new TField("batchNo", TType.I64, (short)32);
  private static final TField SERIAL_NO_FIELD_DESC = new TField("serialNo", TType.I64, (short)33);

  private long id;
  private long warehouse_id;
  private List<LineItem> lineitems;
  private long logistics_provider_id;
  private String airwaybill_no;
  private String tracking_id;
  private long expected_delivery_time;
  private long customer_id;
  private String customer_name;
  private String customer_mobilenumber;
  private String customer_pincode;
  private String customer_address1;
  private String customer_address2;
  private String customer_email;
  private String customer_city;
  private String customer_state;
  private OrderStatus status;
  private String statusDescription;
  private double total_amount;
  private double total_weight;
  private String invoice_number;
  private String billed_by;
  private long created_timestamp;
  private long accepted_timestamp;
  private long billing_timestamp;
  private long shipping_timestamp;
  private long pickup_timestamp;
  private long delivery_timestamp;
  private long outofstock_timestamp;
  private long jacket_number;
  private String receiver;
  private long batchNo;
  private long serialNo;

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements TFieldIdEnum {
    ID((short)1, "id"),
    WAREHOUSE_ID((short)2, "warehouse_id"),
    /**
     *  item info
     * *
     */
    LINEITEMS((short)3, "lineitems"),
    /**
     *   logistics info
     * *
     */
    LOGISTICS_PROVIDER_ID((short)4, "logistics_provider_id"),
    AIRWAYBILL_NO((short)5, "airwaybill_no"),
    TRACKING_ID((short)6, "tracking_id"),
    EXPECTED_DELIVERY_TIME((short)7, "expected_delivery_time"),
    /**
     *   customer info
     * *
     */
    CUSTOMER_ID((short)8, "customer_id"),
    CUSTOMER_NAME((short)9, "customer_name"),
    CUSTOMER_MOBILENUMBER((short)10, "customer_mobilenumber"),
    CUSTOMER_PINCODE((short)11, "customer_pincode"),
    CUSTOMER_ADDRESS1((short)12, "customer_address1"),
    CUSTOMER_ADDRESS2((short)13, "customer_address2"),
    CUSTOMER_EMAIL((short)14, "customer_email"),
    CUSTOMER_CITY((short)15, "customer_city"),
    CUSTOMER_STATE((short)16, "customer_state"),
    /**
     *  status and misc info
     * *
     * 
     * @see OrderStatus
     */
    STATUS((short)17, "status"),
    STATUS_DESCRIPTION((short)18, "statusDescription"),
    TOTAL_AMOUNT((short)19, "total_amount"),
    TOTAL_WEIGHT((short)20, "total_weight"),
    /**
     *  billing info
     * *
     */
    INVOICE_NUMBER((short)21, "invoice_number"),
    BILLED_BY((short)22, "billed_by"),
    /**
     *  timestamps
     * *
     */
    CREATED_TIMESTAMP((short)23, "created_timestamp"),
    ACCEPTED_TIMESTAMP((short)24, "accepted_timestamp"),
    BILLING_TIMESTAMP((short)25, "billing_timestamp"),
    SHIPPING_TIMESTAMP((short)26, "shipping_timestamp"),
    PICKUP_TIMESTAMP((short)27, "pickup_timestamp"),
    DELIVERY_TIMESTAMP((short)28, "delivery_timestamp"),
    OUTOFSTOCK_TIMESTAMP((short)29, "outofstock_timestamp"),
    JACKET_NUMBER((short)30, "jacket_number"),
    RECEIVER((short)31, "receiver"),
    BATCH_NO((short)32, "batchNo"),
    SERIAL_NO((short)33, "serialNo");

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

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

    /**
     * Find the _Fields constant that matches fieldId, or null if its not found.
     */
    public static _Fields findByThriftId(int fieldId) {
      return byId.get(fieldId);
    }

    /**
     * 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 __WAREHOUSE_ID_ISSET_ID = 1;
  private static final int __LOGISTICS_PROVIDER_ID_ISSET_ID = 2;
  private static final int __EXPECTED_DELIVERY_TIME_ISSET_ID = 3;
  private static final int __CUSTOMER_ID_ISSET_ID = 4;
  private static final int __TOTAL_AMOUNT_ISSET_ID = 5;
  private static final int __TOTAL_WEIGHT_ISSET_ID = 6;
  private static final int __CREATED_TIMESTAMP_ISSET_ID = 7;
  private static final int __ACCEPTED_TIMESTAMP_ISSET_ID = 8;
  private static final int __BILLING_TIMESTAMP_ISSET_ID = 9;
  private static final int __SHIPPING_TIMESTAMP_ISSET_ID = 10;
  private static final int __PICKUP_TIMESTAMP_ISSET_ID = 11;
  private static final int __DELIVERY_TIMESTAMP_ISSET_ID = 12;
  private static final int __OUTOFSTOCK_TIMESTAMP_ISSET_ID = 13;
  private static final int __JACKET_NUMBER_ISSET_ID = 14;
  private static final int __BATCHNO_ISSET_ID = 15;
  private static final int __SERIALNO_ISSET_ID = 16;
  private BitSet __isset_bit_vector = new BitSet(17);

  public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
    put(_Fields.ID, new FieldMetaData("id", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.WAREHOUSE_ID, new FieldMetaData("warehouse_id", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.LINEITEMS, new FieldMetaData("lineitems", TFieldRequirementType.DEFAULT, 
        new ListMetaData(TType.LIST, 
            new StructMetaData(TType.STRUCT, LineItem.class))));
    put(_Fields.LOGISTICS_PROVIDER_ID, new FieldMetaData("logistics_provider_id", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.AIRWAYBILL_NO, new FieldMetaData("airwaybill_no", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.TRACKING_ID, new FieldMetaData("tracking_id", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.EXPECTED_DELIVERY_TIME, new FieldMetaData("expected_delivery_time", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.CUSTOMER_ID, new FieldMetaData("customer_id", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.CUSTOMER_NAME, new FieldMetaData("customer_name", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.CUSTOMER_MOBILENUMBER, new FieldMetaData("customer_mobilenumber", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.CUSTOMER_PINCODE, new FieldMetaData("customer_pincode", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.CUSTOMER_ADDRESS1, new FieldMetaData("customer_address1", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.CUSTOMER_ADDRESS2, new FieldMetaData("customer_address2", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.CUSTOMER_EMAIL, new FieldMetaData("customer_email", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.CUSTOMER_CITY, new FieldMetaData("customer_city", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.CUSTOMER_STATE, new FieldMetaData("customer_state", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.STATUS, new FieldMetaData("status", TFieldRequirementType.DEFAULT, 
        new EnumMetaData(TType.ENUM, OrderStatus.class)));
    put(_Fields.STATUS_DESCRIPTION, new FieldMetaData("statusDescription", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.TOTAL_AMOUNT, new FieldMetaData("total_amount", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    put(_Fields.TOTAL_WEIGHT, new FieldMetaData("total_weight", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    put(_Fields.INVOICE_NUMBER, new FieldMetaData("invoice_number", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.BILLED_BY, new FieldMetaData("billed_by", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.CREATED_TIMESTAMP, new FieldMetaData("created_timestamp", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.ACCEPTED_TIMESTAMP, new FieldMetaData("accepted_timestamp", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.BILLING_TIMESTAMP, new FieldMetaData("billing_timestamp", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.SHIPPING_TIMESTAMP, new FieldMetaData("shipping_timestamp", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.PICKUP_TIMESTAMP, new FieldMetaData("pickup_timestamp", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.DELIVERY_TIMESTAMP, new FieldMetaData("delivery_timestamp", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.OUTOFSTOCK_TIMESTAMP, new FieldMetaData("outofstock_timestamp", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.JACKET_NUMBER, new FieldMetaData("jacket_number", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.RECEIVER, new FieldMetaData("receiver", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.BATCH_NO, new FieldMetaData("batchNo", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.SERIAL_NO, new FieldMetaData("serialNo", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
  }});

  static {
    FieldMetaData.addStructMetaDataMap(Order.class, metaDataMap);
  }

  public Order() {
  }

  public Order(
    long id,
    long warehouse_id,
    List<LineItem> lineitems,
    long logistics_provider_id,
    String airwaybill_no,
    String tracking_id,
    long expected_delivery_time,
    long customer_id,
    String customer_name,
    String customer_mobilenumber,
    String customer_pincode,
    String customer_address1,
    String customer_address2,
    String customer_email,
    String customer_city,
    String customer_state,
    OrderStatus status,
    String statusDescription,
    double total_amount,
    double total_weight,
    String invoice_number,
    String billed_by,
    long created_timestamp,
    long accepted_timestamp,
    long billing_timestamp,
    long shipping_timestamp,
    long pickup_timestamp,
    long delivery_timestamp,
    long outofstock_timestamp,
    long jacket_number,
    String receiver,
    long batchNo,
    long serialNo)
  {
    this();
    this.id = id;
    setIdIsSet(true);
    this.warehouse_id = warehouse_id;
    setWarehouse_idIsSet(true);
    this.lineitems = lineitems;
    this.logistics_provider_id = logistics_provider_id;
    setLogistics_provider_idIsSet(true);
    this.airwaybill_no = airwaybill_no;
    this.tracking_id = tracking_id;
    this.expected_delivery_time = expected_delivery_time;
    setExpected_delivery_timeIsSet(true);
    this.customer_id = customer_id;
    setCustomer_idIsSet(true);
    this.customer_name = customer_name;
    this.customer_mobilenumber = customer_mobilenumber;
    this.customer_pincode = customer_pincode;
    this.customer_address1 = customer_address1;
    this.customer_address2 = customer_address2;
    this.customer_email = customer_email;
    this.customer_city = customer_city;
    this.customer_state = customer_state;
    this.status = status;
    this.statusDescription = statusDescription;
    this.total_amount = total_amount;
    setTotal_amountIsSet(true);
    this.total_weight = total_weight;
    setTotal_weightIsSet(true);
    this.invoice_number = invoice_number;
    this.billed_by = billed_by;
    this.created_timestamp = created_timestamp;
    setCreated_timestampIsSet(true);
    this.accepted_timestamp = accepted_timestamp;
    setAccepted_timestampIsSet(true);
    this.billing_timestamp = billing_timestamp;
    setBilling_timestampIsSet(true);
    this.shipping_timestamp = shipping_timestamp;
    setShipping_timestampIsSet(true);
    this.pickup_timestamp = pickup_timestamp;
    setPickup_timestampIsSet(true);
    this.delivery_timestamp = delivery_timestamp;
    setDelivery_timestampIsSet(true);
    this.outofstock_timestamp = outofstock_timestamp;
    setOutofstock_timestampIsSet(true);
    this.jacket_number = jacket_number;
    setJacket_numberIsSet(true);
    this.receiver = receiver;
    this.batchNo = batchNo;
    setBatchNoIsSet(true);
    this.serialNo = serialNo;
    setSerialNoIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public Order(Order other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    this.id = other.id;
    this.warehouse_id = other.warehouse_id;
    if (other.isSetLineitems()) {
      List<LineItem> __this__lineitems = new ArrayList<LineItem>();
      for (LineItem other_element : other.lineitems) {
        __this__lineitems.add(new LineItem(other_element));
      }
      this.lineitems = __this__lineitems;
    }
    this.logistics_provider_id = other.logistics_provider_id;
    if (other.isSetAirwaybill_no()) {
      this.airwaybill_no = other.airwaybill_no;
    }
    if (other.isSetTracking_id()) {
      this.tracking_id = other.tracking_id;
    }
    this.expected_delivery_time = other.expected_delivery_time;
    this.customer_id = other.customer_id;
    if (other.isSetCustomer_name()) {
      this.customer_name = other.customer_name;
    }
    if (other.isSetCustomer_mobilenumber()) {
      this.customer_mobilenumber = other.customer_mobilenumber;
    }
    if (other.isSetCustomer_pincode()) {
      this.customer_pincode = other.customer_pincode;
    }
    if (other.isSetCustomer_address1()) {
      this.customer_address1 = other.customer_address1;
    }
    if (other.isSetCustomer_address2()) {
      this.customer_address2 = other.customer_address2;
    }
    if (other.isSetCustomer_email()) {
      this.customer_email = other.customer_email;
    }
    if (other.isSetCustomer_city()) {
      this.customer_city = other.customer_city;
    }
    if (other.isSetCustomer_state()) {
      this.customer_state = other.customer_state;
    }
    if (other.isSetStatus()) {
      this.status = other.status;
    }
    if (other.isSetStatusDescription()) {
      this.statusDescription = other.statusDescription;
    }
    this.total_amount = other.total_amount;
    this.total_weight = other.total_weight;
    if (other.isSetInvoice_number()) {
      this.invoice_number = other.invoice_number;
    }
    if (other.isSetBilled_by()) {
      this.billed_by = other.billed_by;
    }
    this.created_timestamp = other.created_timestamp;
    this.accepted_timestamp = other.accepted_timestamp;
    this.billing_timestamp = other.billing_timestamp;
    this.shipping_timestamp = other.shipping_timestamp;
    this.pickup_timestamp = other.pickup_timestamp;
    this.delivery_timestamp = other.delivery_timestamp;
    this.outofstock_timestamp = other.outofstock_timestamp;
    this.jacket_number = other.jacket_number;
    if (other.isSetReceiver()) {
      this.receiver = other.receiver;
    }
    this.batchNo = other.batchNo;
    this.serialNo = other.serialNo;
  }

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

  @Deprecated
  public Order clone() {
    return new Order(this);
  }

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

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

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

  /** Returns true if field id is set (has been asigned 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 long getWarehouse_id() {
    return this.warehouse_id;
  }

  public Order setWarehouse_id(long warehouse_id) {
    this.warehouse_id = warehouse_id;
    setWarehouse_idIsSet(true);
    return this;
  }

  public void unsetWarehouse_id() {
    __isset_bit_vector.clear(__WAREHOUSE_ID_ISSET_ID);
  }

  /** Returns true if field warehouse_id is set (has been asigned a value) and false otherwise */
  public boolean isSetWarehouse_id() {
    return __isset_bit_vector.get(__WAREHOUSE_ID_ISSET_ID);
  }

  public void setWarehouse_idIsSet(boolean value) {
    __isset_bit_vector.set(__WAREHOUSE_ID_ISSET_ID, value);
  }

  public int getLineitemsSize() {
    return (this.lineitems == null) ? 0 : this.lineitems.size();
  }

  public java.util.Iterator<LineItem> getLineitemsIterator() {
    return (this.lineitems == null) ? null : this.lineitems.iterator();
  }

  public void addToLineitems(LineItem elem) {
    if (this.lineitems == null) {
      this.lineitems = new ArrayList<LineItem>();
    }
    this.lineitems.add(elem);
  }

  /**
   *    item info
   * *
   */
  public List<LineItem> getLineitems() {
    return this.lineitems;
  }

  /**
   *    item info
   * *
   */
  public Order setLineitems(List<LineItem> lineitems) {
    this.lineitems = lineitems;
    return this;
  }

  public void unsetLineitems() {
    this.lineitems = null;
  }

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

  public void setLineitemsIsSet(boolean value) {
    if (!value) {
      this.lineitems = null;
    }
  }

  /**
   *   logistics info
   * *
   */
  public long getLogistics_provider_id() {
    return this.logistics_provider_id;
  }

  /**
   *   logistics info
   * *
   */
  public Order setLogistics_provider_id(long logistics_provider_id) {
    this.logistics_provider_id = logistics_provider_id;
    setLogistics_provider_idIsSet(true);
    return this;
  }

  public void unsetLogistics_provider_id() {
    __isset_bit_vector.clear(__LOGISTICS_PROVIDER_ID_ISSET_ID);
  }

  /** Returns true if field logistics_provider_id is set (has been asigned a value) and false otherwise */
  public boolean isSetLogistics_provider_id() {
    return __isset_bit_vector.get(__LOGISTICS_PROVIDER_ID_ISSET_ID);
  }

  public void setLogistics_provider_idIsSet(boolean value) {
    __isset_bit_vector.set(__LOGISTICS_PROVIDER_ID_ISSET_ID, value);
  }

  public String getAirwaybill_no() {
    return this.airwaybill_no;
  }

  public Order setAirwaybill_no(String airwaybill_no) {
    this.airwaybill_no = airwaybill_no;
    return this;
  }

  public void unsetAirwaybill_no() {
    this.airwaybill_no = null;
  }

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

  public void setAirwaybill_noIsSet(boolean value) {
    if (!value) {
      this.airwaybill_no = null;
    }
  }

  public String getTracking_id() {
    return this.tracking_id;
  }

  public Order setTracking_id(String tracking_id) {
    this.tracking_id = tracking_id;
    return this;
  }

  public void unsetTracking_id() {
    this.tracking_id = null;
  }

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

  public void setTracking_idIsSet(boolean value) {
    if (!value) {
      this.tracking_id = null;
    }
  }

  public long getExpected_delivery_time() {
    return this.expected_delivery_time;
  }

  public Order setExpected_delivery_time(long expected_delivery_time) {
    this.expected_delivery_time = expected_delivery_time;
    setExpected_delivery_timeIsSet(true);
    return this;
  }

  public void unsetExpected_delivery_time() {
    __isset_bit_vector.clear(__EXPECTED_DELIVERY_TIME_ISSET_ID);
  }

  /** Returns true if field expected_delivery_time is set (has been asigned a value) and false otherwise */
  public boolean isSetExpected_delivery_time() {
    return __isset_bit_vector.get(__EXPECTED_DELIVERY_TIME_ISSET_ID);
  }

  public void setExpected_delivery_timeIsSet(boolean value) {
    __isset_bit_vector.set(__EXPECTED_DELIVERY_TIME_ISSET_ID, value);
  }

  /**
   *   customer info
   * *
   */
  public long getCustomer_id() {
    return this.customer_id;
  }

  /**
   *   customer info
   * *
   */
  public Order setCustomer_id(long customer_id) {
    this.customer_id = customer_id;
    setCustomer_idIsSet(true);
    return this;
  }

  public void unsetCustomer_id() {
    __isset_bit_vector.clear(__CUSTOMER_ID_ISSET_ID);
  }

  /** Returns true if field customer_id is set (has been asigned a value) and false otherwise */
  public boolean isSetCustomer_id() {
    return __isset_bit_vector.get(__CUSTOMER_ID_ISSET_ID);
  }

  public void setCustomer_idIsSet(boolean value) {
    __isset_bit_vector.set(__CUSTOMER_ID_ISSET_ID, value);
  }

  public String getCustomer_name() {
    return this.customer_name;
  }

  public Order setCustomer_name(String customer_name) {
    this.customer_name = customer_name;
    return this;
  }

  public void unsetCustomer_name() {
    this.customer_name = null;
  }

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

  public void setCustomer_nameIsSet(boolean value) {
    if (!value) {
      this.customer_name = null;
    }
  }

  public String getCustomer_mobilenumber() {
    return this.customer_mobilenumber;
  }

  public Order setCustomer_mobilenumber(String customer_mobilenumber) {
    this.customer_mobilenumber = customer_mobilenumber;
    return this;
  }

  public void unsetCustomer_mobilenumber() {
    this.customer_mobilenumber = null;
  }

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

  public void setCustomer_mobilenumberIsSet(boolean value) {
    if (!value) {
      this.customer_mobilenumber = null;
    }
  }

  public String getCustomer_pincode() {
    return this.customer_pincode;
  }

  public Order setCustomer_pincode(String customer_pincode) {
    this.customer_pincode = customer_pincode;
    return this;
  }

  public void unsetCustomer_pincode() {
    this.customer_pincode = null;
  }

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

  public void setCustomer_pincodeIsSet(boolean value) {
    if (!value) {
      this.customer_pincode = null;
    }
  }

  public String getCustomer_address1() {
    return this.customer_address1;
  }

  public Order setCustomer_address1(String customer_address1) {
    this.customer_address1 = customer_address1;
    return this;
  }

  public void unsetCustomer_address1() {
    this.customer_address1 = null;
  }

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

  public void setCustomer_address1IsSet(boolean value) {
    if (!value) {
      this.customer_address1 = null;
    }
  }

  public String getCustomer_address2() {
    return this.customer_address2;
  }

  public Order setCustomer_address2(String customer_address2) {
    this.customer_address2 = customer_address2;
    return this;
  }

  public void unsetCustomer_address2() {
    this.customer_address2 = null;
  }

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

  public void setCustomer_address2IsSet(boolean value) {
    if (!value) {
      this.customer_address2 = null;
    }
  }

  public String getCustomer_email() {
    return this.customer_email;
  }

  public Order setCustomer_email(String customer_email) {
    this.customer_email = customer_email;
    return this;
  }

  public void unsetCustomer_email() {
    this.customer_email = null;
  }

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

  public void setCustomer_emailIsSet(boolean value) {
    if (!value) {
      this.customer_email = null;
    }
  }

  public String getCustomer_city() {
    return this.customer_city;
  }

  public Order setCustomer_city(String customer_city) {
    this.customer_city = customer_city;
    return this;
  }

  public void unsetCustomer_city() {
    this.customer_city = null;
  }

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

  public void setCustomer_cityIsSet(boolean value) {
    if (!value) {
      this.customer_city = null;
    }
  }

  public String getCustomer_state() {
    return this.customer_state;
  }

  public Order setCustomer_state(String customer_state) {
    this.customer_state = customer_state;
    return this;
  }

  public void unsetCustomer_state() {
    this.customer_state = null;
  }

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

  public void setCustomer_stateIsSet(boolean value) {
    if (!value) {
      this.customer_state = null;
    }
  }

  /**
   *    status and misc info
   * *
   * 
   * @see OrderStatus
   */
  public OrderStatus getStatus() {
    return this.status;
  }

  /**
   *    status and misc info
   * *
   * 
   * @see OrderStatus
   */
  public Order setStatus(OrderStatus status) {
    this.status = status;
    return this;
  }

  public void unsetStatus() {
    this.status = null;
  }

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

  public void setStatusIsSet(boolean value) {
    if (!value) {
      this.status = null;
    }
  }

  public String getStatusDescription() {
    return this.statusDescription;
  }

  public Order setStatusDescription(String statusDescription) {
    this.statusDescription = statusDescription;
    return this;
  }

  public void unsetStatusDescription() {
    this.statusDescription = null;
  }

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

  public void setStatusDescriptionIsSet(boolean value) {
    if (!value) {
      this.statusDescription = null;
    }
  }

  public double getTotal_amount() {
    return this.total_amount;
  }

  public Order setTotal_amount(double total_amount) {
    this.total_amount = total_amount;
    setTotal_amountIsSet(true);
    return this;
  }

  public void unsetTotal_amount() {
    __isset_bit_vector.clear(__TOTAL_AMOUNT_ISSET_ID);
  }

  /** Returns true if field total_amount is set (has been asigned a value) and false otherwise */
  public boolean isSetTotal_amount() {
    return __isset_bit_vector.get(__TOTAL_AMOUNT_ISSET_ID);
  }

  public void setTotal_amountIsSet(boolean value) {
    __isset_bit_vector.set(__TOTAL_AMOUNT_ISSET_ID, value);
  }

  public double getTotal_weight() {
    return this.total_weight;
  }

  public Order setTotal_weight(double total_weight) {
    this.total_weight = total_weight;
    setTotal_weightIsSet(true);
    return this;
  }

  public void unsetTotal_weight() {
    __isset_bit_vector.clear(__TOTAL_WEIGHT_ISSET_ID);
  }

  /** Returns true if field total_weight is set (has been asigned a value) and false otherwise */
  public boolean isSetTotal_weight() {
    return __isset_bit_vector.get(__TOTAL_WEIGHT_ISSET_ID);
  }

  public void setTotal_weightIsSet(boolean value) {
    __isset_bit_vector.set(__TOTAL_WEIGHT_ISSET_ID, value);
  }

  /**
   *    billing info
   * *
   */
  public String getInvoice_number() {
    return this.invoice_number;
  }

  /**
   *    billing info
   * *
   */
  public Order setInvoice_number(String invoice_number) {
    this.invoice_number = invoice_number;
    return this;
  }

  public void unsetInvoice_number() {
    this.invoice_number = null;
  }

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

  public void setInvoice_numberIsSet(boolean value) {
    if (!value) {
      this.invoice_number = null;
    }
  }

  public String getBilled_by() {
    return this.billed_by;
  }

  public Order setBilled_by(String billed_by) {
    this.billed_by = billed_by;
    return this;
  }

  public void unsetBilled_by() {
    this.billed_by = null;
  }

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

  public void setBilled_byIsSet(boolean value) {
    if (!value) {
      this.billed_by = null;
    }
  }

  /**
   *    timestamps
   * *
   */
  public long getCreated_timestamp() {
    return this.created_timestamp;
  }

  /**
   *    timestamps
   * *
   */
  public Order setCreated_timestamp(long created_timestamp) {
    this.created_timestamp = created_timestamp;
    setCreated_timestampIsSet(true);
    return this;
  }

  public void unsetCreated_timestamp() {
    __isset_bit_vector.clear(__CREATED_TIMESTAMP_ISSET_ID);
  }

  /** Returns true if field created_timestamp is set (has been asigned a value) and false otherwise */
  public boolean isSetCreated_timestamp() {
    return __isset_bit_vector.get(__CREATED_TIMESTAMP_ISSET_ID);
  }

  public void setCreated_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__CREATED_TIMESTAMP_ISSET_ID, value);
  }

  public long getAccepted_timestamp() {
    return this.accepted_timestamp;
  }

  public Order setAccepted_timestamp(long accepted_timestamp) {
    this.accepted_timestamp = accepted_timestamp;
    setAccepted_timestampIsSet(true);
    return this;
  }

  public void unsetAccepted_timestamp() {
    __isset_bit_vector.clear(__ACCEPTED_TIMESTAMP_ISSET_ID);
  }

  /** Returns true if field accepted_timestamp is set (has been asigned a value) and false otherwise */
  public boolean isSetAccepted_timestamp() {
    return __isset_bit_vector.get(__ACCEPTED_TIMESTAMP_ISSET_ID);
  }

  public void setAccepted_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__ACCEPTED_TIMESTAMP_ISSET_ID, value);
  }

  public long getBilling_timestamp() {
    return this.billing_timestamp;
  }

  public Order setBilling_timestamp(long billing_timestamp) {
    this.billing_timestamp = billing_timestamp;
    setBilling_timestampIsSet(true);
    return this;
  }

  public void unsetBilling_timestamp() {
    __isset_bit_vector.clear(__BILLING_TIMESTAMP_ISSET_ID);
  }

  /** Returns true if field billing_timestamp is set (has been asigned a value) and false otherwise */
  public boolean isSetBilling_timestamp() {
    return __isset_bit_vector.get(__BILLING_TIMESTAMP_ISSET_ID);
  }

  public void setBilling_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__BILLING_TIMESTAMP_ISSET_ID, value);
  }

  public long getShipping_timestamp() {
    return this.shipping_timestamp;
  }

  public Order setShipping_timestamp(long shipping_timestamp) {
    this.shipping_timestamp = shipping_timestamp;
    setShipping_timestampIsSet(true);
    return this;
  }

  public void unsetShipping_timestamp() {
    __isset_bit_vector.clear(__SHIPPING_TIMESTAMP_ISSET_ID);
  }

  /** Returns true if field shipping_timestamp is set (has been asigned a value) and false otherwise */
  public boolean isSetShipping_timestamp() {
    return __isset_bit_vector.get(__SHIPPING_TIMESTAMP_ISSET_ID);
  }

  public void setShipping_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__SHIPPING_TIMESTAMP_ISSET_ID, value);
  }

  public long getPickup_timestamp() {
    return this.pickup_timestamp;
  }

  public Order setPickup_timestamp(long pickup_timestamp) {
    this.pickup_timestamp = pickup_timestamp;
    setPickup_timestampIsSet(true);
    return this;
  }

  public void unsetPickup_timestamp() {
    __isset_bit_vector.clear(__PICKUP_TIMESTAMP_ISSET_ID);
  }

  /** Returns true if field pickup_timestamp is set (has been asigned a value) and false otherwise */
  public boolean isSetPickup_timestamp() {
    return __isset_bit_vector.get(__PICKUP_TIMESTAMP_ISSET_ID);
  }

  public void setPickup_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__PICKUP_TIMESTAMP_ISSET_ID, value);
  }

  public long getDelivery_timestamp() {
    return this.delivery_timestamp;
  }

  public Order setDelivery_timestamp(long delivery_timestamp) {
    this.delivery_timestamp = delivery_timestamp;
    setDelivery_timestampIsSet(true);
    return this;
  }

  public void unsetDelivery_timestamp() {
    __isset_bit_vector.clear(__DELIVERY_TIMESTAMP_ISSET_ID);
  }

  /** Returns true if field delivery_timestamp is set (has been asigned a value) and false otherwise */
  public boolean isSetDelivery_timestamp() {
    return __isset_bit_vector.get(__DELIVERY_TIMESTAMP_ISSET_ID);
  }

  public void setDelivery_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__DELIVERY_TIMESTAMP_ISSET_ID, value);
  }

  public long getOutofstock_timestamp() {
    return this.outofstock_timestamp;
  }

  public Order setOutofstock_timestamp(long outofstock_timestamp) {
    this.outofstock_timestamp = outofstock_timestamp;
    setOutofstock_timestampIsSet(true);
    return this;
  }

  public void unsetOutofstock_timestamp() {
    __isset_bit_vector.clear(__OUTOFSTOCK_TIMESTAMP_ISSET_ID);
  }

  /** Returns true if field outofstock_timestamp is set (has been asigned a value) and false otherwise */
  public boolean isSetOutofstock_timestamp() {
    return __isset_bit_vector.get(__OUTOFSTOCK_TIMESTAMP_ISSET_ID);
  }

  public void setOutofstock_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__OUTOFSTOCK_TIMESTAMP_ISSET_ID, value);
  }

  public long getJacket_number() {
    return this.jacket_number;
  }

  public Order setJacket_number(long jacket_number) {
    this.jacket_number = jacket_number;
    setJacket_numberIsSet(true);
    return this;
  }

  public void unsetJacket_number() {
    __isset_bit_vector.clear(__JACKET_NUMBER_ISSET_ID);
  }

  /** Returns true if field jacket_number is set (has been asigned a value) and false otherwise */
  public boolean isSetJacket_number() {
    return __isset_bit_vector.get(__JACKET_NUMBER_ISSET_ID);
  }

  public void setJacket_numberIsSet(boolean value) {
    __isset_bit_vector.set(__JACKET_NUMBER_ISSET_ID, value);
  }

  public String getReceiver() {
    return this.receiver;
  }

  public Order setReceiver(String receiver) {
    this.receiver = receiver;
    return this;
  }

  public void unsetReceiver() {
    this.receiver = null;
  }

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

  public void setReceiverIsSet(boolean value) {
    if (!value) {
      this.receiver = null;
    }
  }

  public long getBatchNo() {
    return this.batchNo;
  }

  public Order setBatchNo(long batchNo) {
    this.batchNo = batchNo;
    setBatchNoIsSet(true);
    return this;
  }

  public void unsetBatchNo() {
    __isset_bit_vector.clear(__BATCHNO_ISSET_ID);
  }

  /** Returns true if field batchNo is set (has been asigned a value) and false otherwise */
  public boolean isSetBatchNo() {
    return __isset_bit_vector.get(__BATCHNO_ISSET_ID);
  }

  public void setBatchNoIsSet(boolean value) {
    __isset_bit_vector.set(__BATCHNO_ISSET_ID, value);
  }

  public long getSerialNo() {
    return this.serialNo;
  }

  public Order setSerialNo(long serialNo) {
    this.serialNo = serialNo;
    setSerialNoIsSet(true);
    return this;
  }

  public void unsetSerialNo() {
    __isset_bit_vector.clear(__SERIALNO_ISSET_ID);
  }

  /** Returns true if field serialNo is set (has been asigned a value) and false otherwise */
  public boolean isSetSerialNo() {
    return __isset_bit_vector.get(__SERIALNO_ISSET_ID);
  }

  public void setSerialNoIsSet(boolean value) {
    __isset_bit_vector.set(__SERIALNO_ISSET_ID, value);
  }

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

    case WAREHOUSE_ID:
      if (value == null) {
        unsetWarehouse_id();
      } else {
        setWarehouse_id((Long)value);
      }
      break;

    case LINEITEMS:
      if (value == null) {
        unsetLineitems();
      } else {
        setLineitems((List<LineItem>)value);
      }
      break;

    case LOGISTICS_PROVIDER_ID:
      if (value == null) {
        unsetLogistics_provider_id();
      } else {
        setLogistics_provider_id((Long)value);
      }
      break;

    case AIRWAYBILL_NO:
      if (value == null) {
        unsetAirwaybill_no();
      } else {
        setAirwaybill_no((String)value);
      }
      break;

    case TRACKING_ID:
      if (value == null) {
        unsetTracking_id();
      } else {
        setTracking_id((String)value);
      }
      break;

    case EXPECTED_DELIVERY_TIME:
      if (value == null) {
        unsetExpected_delivery_time();
      } else {
        setExpected_delivery_time((Long)value);
      }
      break;

    case CUSTOMER_ID:
      if (value == null) {
        unsetCustomer_id();
      } else {
        setCustomer_id((Long)value);
      }
      break;

    case CUSTOMER_NAME:
      if (value == null) {
        unsetCustomer_name();
      } else {
        setCustomer_name((String)value);
      }
      break;

    case CUSTOMER_MOBILENUMBER:
      if (value == null) {
        unsetCustomer_mobilenumber();
      } else {
        setCustomer_mobilenumber((String)value);
      }
      break;

    case CUSTOMER_PINCODE:
      if (value == null) {
        unsetCustomer_pincode();
      } else {
        setCustomer_pincode((String)value);
      }
      break;

    case CUSTOMER_ADDRESS1:
      if (value == null) {
        unsetCustomer_address1();
      } else {
        setCustomer_address1((String)value);
      }
      break;

    case CUSTOMER_ADDRESS2:
      if (value == null) {
        unsetCustomer_address2();
      } else {
        setCustomer_address2((String)value);
      }
      break;

    case CUSTOMER_EMAIL:
      if (value == null) {
        unsetCustomer_email();
      } else {
        setCustomer_email((String)value);
      }
      break;

    case CUSTOMER_CITY:
      if (value == null) {
        unsetCustomer_city();
      } else {
        setCustomer_city((String)value);
      }
      break;

    case CUSTOMER_STATE:
      if (value == null) {
        unsetCustomer_state();
      } else {
        setCustomer_state((String)value);
      }
      break;

    case STATUS:
      if (value == null) {
        unsetStatus();
      } else {
        setStatus((OrderStatus)value);
      }
      break;

    case STATUS_DESCRIPTION:
      if (value == null) {
        unsetStatusDescription();
      } else {
        setStatusDescription((String)value);
      }
      break;

    case TOTAL_AMOUNT:
      if (value == null) {
        unsetTotal_amount();
      } else {
        setTotal_amount((Double)value);
      }
      break;

    case TOTAL_WEIGHT:
      if (value == null) {
        unsetTotal_weight();
      } else {
        setTotal_weight((Double)value);
      }
      break;

    case INVOICE_NUMBER:
      if (value == null) {
        unsetInvoice_number();
      } else {
        setInvoice_number((String)value);
      }
      break;

    case BILLED_BY:
      if (value == null) {
        unsetBilled_by();
      } else {
        setBilled_by((String)value);
      }
      break;

    case CREATED_TIMESTAMP:
      if (value == null) {
        unsetCreated_timestamp();
      } else {
        setCreated_timestamp((Long)value);
      }
      break;

    case ACCEPTED_TIMESTAMP:
      if (value == null) {
        unsetAccepted_timestamp();
      } else {
        setAccepted_timestamp((Long)value);
      }
      break;

    case BILLING_TIMESTAMP:
      if (value == null) {
        unsetBilling_timestamp();
      } else {
        setBilling_timestamp((Long)value);
      }
      break;

    case SHIPPING_TIMESTAMP:
      if (value == null) {
        unsetShipping_timestamp();
      } else {
        setShipping_timestamp((Long)value);
      }
      break;

    case PICKUP_TIMESTAMP:
      if (value == null) {
        unsetPickup_timestamp();
      } else {
        setPickup_timestamp((Long)value);
      }
      break;

    case DELIVERY_TIMESTAMP:
      if (value == null) {
        unsetDelivery_timestamp();
      } else {
        setDelivery_timestamp((Long)value);
      }
      break;

    case OUTOFSTOCK_TIMESTAMP:
      if (value == null) {
        unsetOutofstock_timestamp();
      } else {
        setOutofstock_timestamp((Long)value);
      }
      break;

    case JACKET_NUMBER:
      if (value == null) {
        unsetJacket_number();
      } else {
        setJacket_number((Long)value);
      }
      break;

    case RECEIVER:
      if (value == null) {
        unsetReceiver();
      } else {
        setReceiver((String)value);
      }
      break;

    case BATCH_NO:
      if (value == null) {
        unsetBatchNo();
      } else {
        setBatchNo((Long)value);
      }
      break;

    case SERIAL_NO:
      if (value == null) {
        unsetSerialNo();
      } else {
        setSerialNo((Long)value);
      }
      break;

    }
  }

  public void setFieldValue(int fieldID, Object value) {
    setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
  }

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

    case WAREHOUSE_ID:
      return new Long(getWarehouse_id());

    case LINEITEMS:
      return getLineitems();

    case LOGISTICS_PROVIDER_ID:
      return new Long(getLogistics_provider_id());

    case AIRWAYBILL_NO:
      return getAirwaybill_no();

    case TRACKING_ID:
      return getTracking_id();

    case EXPECTED_DELIVERY_TIME:
      return new Long(getExpected_delivery_time());

    case CUSTOMER_ID:
      return new Long(getCustomer_id());

    case CUSTOMER_NAME:
      return getCustomer_name();

    case CUSTOMER_MOBILENUMBER:
      return getCustomer_mobilenumber();

    case CUSTOMER_PINCODE:
      return getCustomer_pincode();

    case CUSTOMER_ADDRESS1:
      return getCustomer_address1();

    case CUSTOMER_ADDRESS2:
      return getCustomer_address2();

    case CUSTOMER_EMAIL:
      return getCustomer_email();

    case CUSTOMER_CITY:
      return getCustomer_city();

    case CUSTOMER_STATE:
      return getCustomer_state();

    case STATUS:
      return getStatus();

    case STATUS_DESCRIPTION:
      return getStatusDescription();

    case TOTAL_AMOUNT:
      return new Double(getTotal_amount());

    case TOTAL_WEIGHT:
      return new Double(getTotal_weight());

    case INVOICE_NUMBER:
      return getInvoice_number();

    case BILLED_BY:
      return getBilled_by();

    case CREATED_TIMESTAMP:
      return new Long(getCreated_timestamp());

    case ACCEPTED_TIMESTAMP:
      return new Long(getAccepted_timestamp());

    case BILLING_TIMESTAMP:
      return new Long(getBilling_timestamp());

    case SHIPPING_TIMESTAMP:
      return new Long(getShipping_timestamp());

    case PICKUP_TIMESTAMP:
      return new Long(getPickup_timestamp());

    case DELIVERY_TIMESTAMP:
      return new Long(getDelivery_timestamp());

    case OUTOFSTOCK_TIMESTAMP:
      return new Long(getOutofstock_timestamp());

    case JACKET_NUMBER:
      return new Long(getJacket_number());

    case RECEIVER:
      return getReceiver();

    case BATCH_NO:
      return new Long(getBatchNo());

    case SERIAL_NO:
      return new Long(getSerialNo());

    }
    throw new IllegalStateException();
  }

  public Object getFieldValue(int fieldId) {
    return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
  }

  /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
  public boolean isSet(_Fields field) {
    switch (field) {
    case ID:
      return isSetId();
    case WAREHOUSE_ID:
      return isSetWarehouse_id();
    case LINEITEMS:
      return isSetLineitems();
    case LOGISTICS_PROVIDER_ID:
      return isSetLogistics_provider_id();
    case AIRWAYBILL_NO:
      return isSetAirwaybill_no();
    case TRACKING_ID:
      return isSetTracking_id();
    case EXPECTED_DELIVERY_TIME:
      return isSetExpected_delivery_time();
    case CUSTOMER_ID:
      return isSetCustomer_id();
    case CUSTOMER_NAME:
      return isSetCustomer_name();
    case CUSTOMER_MOBILENUMBER:
      return isSetCustomer_mobilenumber();
    case CUSTOMER_PINCODE:
      return isSetCustomer_pincode();
    case CUSTOMER_ADDRESS1:
      return isSetCustomer_address1();
    case CUSTOMER_ADDRESS2:
      return isSetCustomer_address2();
    case CUSTOMER_EMAIL:
      return isSetCustomer_email();
    case CUSTOMER_CITY:
      return isSetCustomer_city();
    case CUSTOMER_STATE:
      return isSetCustomer_state();
    case STATUS:
      return isSetStatus();
    case STATUS_DESCRIPTION:
      return isSetStatusDescription();
    case TOTAL_AMOUNT:
      return isSetTotal_amount();
    case TOTAL_WEIGHT:
      return isSetTotal_weight();
    case INVOICE_NUMBER:
      return isSetInvoice_number();
    case BILLED_BY:
      return isSetBilled_by();
    case CREATED_TIMESTAMP:
      return isSetCreated_timestamp();
    case ACCEPTED_TIMESTAMP:
      return isSetAccepted_timestamp();
    case BILLING_TIMESTAMP:
      return isSetBilling_timestamp();
    case SHIPPING_TIMESTAMP:
      return isSetShipping_timestamp();
    case PICKUP_TIMESTAMP:
      return isSetPickup_timestamp();
    case DELIVERY_TIMESTAMP:
      return isSetDelivery_timestamp();
    case OUTOFSTOCK_TIMESTAMP:
      return isSetOutofstock_timestamp();
    case JACKET_NUMBER:
      return isSetJacket_number();
    case RECEIVER:
      return isSetReceiver();
    case BATCH_NO:
      return isSetBatchNo();
    case SERIAL_NO:
      return isSetSerialNo();
    }
    throw new IllegalStateException();
  }

  public boolean isSet(int fieldID) {
    return isSet(_Fields.findByThriftIdOrThrow(fieldID));
  }

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

  public boolean equals(Order 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_warehouse_id = true;
    boolean that_present_warehouse_id = true;
    if (this_present_warehouse_id || that_present_warehouse_id) {
      if (!(this_present_warehouse_id && that_present_warehouse_id))
        return false;
      if (this.warehouse_id != that.warehouse_id)
        return false;
    }

    boolean this_present_lineitems = true && this.isSetLineitems();
    boolean that_present_lineitems = true && that.isSetLineitems();
    if (this_present_lineitems || that_present_lineitems) {
      if (!(this_present_lineitems && that_present_lineitems))
        return false;
      if (!this.lineitems.equals(that.lineitems))
        return false;
    }

    boolean this_present_logistics_provider_id = true;
    boolean that_present_logistics_provider_id = true;
    if (this_present_logistics_provider_id || that_present_logistics_provider_id) {
      if (!(this_present_logistics_provider_id && that_present_logistics_provider_id))
        return false;
      if (this.logistics_provider_id != that.logistics_provider_id)
        return false;
    }

    boolean this_present_airwaybill_no = true && this.isSetAirwaybill_no();
    boolean that_present_airwaybill_no = true && that.isSetAirwaybill_no();
    if (this_present_airwaybill_no || that_present_airwaybill_no) {
      if (!(this_present_airwaybill_no && that_present_airwaybill_no))
        return false;
      if (!this.airwaybill_no.equals(that.airwaybill_no))
        return false;
    }

    boolean this_present_tracking_id = true && this.isSetTracking_id();
    boolean that_present_tracking_id = true && that.isSetTracking_id();
    if (this_present_tracking_id || that_present_tracking_id) {
      if (!(this_present_tracking_id && that_present_tracking_id))
        return false;
      if (!this.tracking_id.equals(that.tracking_id))
        return false;
    }

    boolean this_present_expected_delivery_time = true;
    boolean that_present_expected_delivery_time = true;
    if (this_present_expected_delivery_time || that_present_expected_delivery_time) {
      if (!(this_present_expected_delivery_time && that_present_expected_delivery_time))
        return false;
      if (this.expected_delivery_time != that.expected_delivery_time)
        return false;
    }

    boolean this_present_customer_id = true;
    boolean that_present_customer_id = true;
    if (this_present_customer_id || that_present_customer_id) {
      if (!(this_present_customer_id && that_present_customer_id))
        return false;
      if (this.customer_id != that.customer_id)
        return false;
    }

    boolean this_present_customer_name = true && this.isSetCustomer_name();
    boolean that_present_customer_name = true && that.isSetCustomer_name();
    if (this_present_customer_name || that_present_customer_name) {
      if (!(this_present_customer_name && that_present_customer_name))
        return false;
      if (!this.customer_name.equals(that.customer_name))
        return false;
    }

    boolean this_present_customer_mobilenumber = true && this.isSetCustomer_mobilenumber();
    boolean that_present_customer_mobilenumber = true && that.isSetCustomer_mobilenumber();
    if (this_present_customer_mobilenumber || that_present_customer_mobilenumber) {
      if (!(this_present_customer_mobilenumber && that_present_customer_mobilenumber))
        return false;
      if (!this.customer_mobilenumber.equals(that.customer_mobilenumber))
        return false;
    }

    boolean this_present_customer_pincode = true && this.isSetCustomer_pincode();
    boolean that_present_customer_pincode = true && that.isSetCustomer_pincode();
    if (this_present_customer_pincode || that_present_customer_pincode) {
      if (!(this_present_customer_pincode && that_present_customer_pincode))
        return false;
      if (!this.customer_pincode.equals(that.customer_pincode))
        return false;
    }

    boolean this_present_customer_address1 = true && this.isSetCustomer_address1();
    boolean that_present_customer_address1 = true && that.isSetCustomer_address1();
    if (this_present_customer_address1 || that_present_customer_address1) {
      if (!(this_present_customer_address1 && that_present_customer_address1))
        return false;
      if (!this.customer_address1.equals(that.customer_address1))
        return false;
    }

    boolean this_present_customer_address2 = true && this.isSetCustomer_address2();
    boolean that_present_customer_address2 = true && that.isSetCustomer_address2();
    if (this_present_customer_address2 || that_present_customer_address2) {
      if (!(this_present_customer_address2 && that_present_customer_address2))
        return false;
      if (!this.customer_address2.equals(that.customer_address2))
        return false;
    }

    boolean this_present_customer_email = true && this.isSetCustomer_email();
    boolean that_present_customer_email = true && that.isSetCustomer_email();
    if (this_present_customer_email || that_present_customer_email) {
      if (!(this_present_customer_email && that_present_customer_email))
        return false;
      if (!this.customer_email.equals(that.customer_email))
        return false;
    }

    boolean this_present_customer_city = true && this.isSetCustomer_city();
    boolean that_present_customer_city = true && that.isSetCustomer_city();
    if (this_present_customer_city || that_present_customer_city) {
      if (!(this_present_customer_city && that_present_customer_city))
        return false;
      if (!this.customer_city.equals(that.customer_city))
        return false;
    }

    boolean this_present_customer_state = true && this.isSetCustomer_state();
    boolean that_present_customer_state = true && that.isSetCustomer_state();
    if (this_present_customer_state || that_present_customer_state) {
      if (!(this_present_customer_state && that_present_customer_state))
        return false;
      if (!this.customer_state.equals(that.customer_state))
        return false;
    }

    boolean this_present_status = true && this.isSetStatus();
    boolean that_present_status = true && that.isSetStatus();
    if (this_present_status || that_present_status) {
      if (!(this_present_status && that_present_status))
        return false;
      if (!this.status.equals(that.status))
        return false;
    }

    boolean this_present_statusDescription = true && this.isSetStatusDescription();
    boolean that_present_statusDescription = true && that.isSetStatusDescription();
    if (this_present_statusDescription || that_present_statusDescription) {
      if (!(this_present_statusDescription && that_present_statusDescription))
        return false;
      if (!this.statusDescription.equals(that.statusDescription))
        return false;
    }

    boolean this_present_total_amount = true;
    boolean that_present_total_amount = true;
    if (this_present_total_amount || that_present_total_amount) {
      if (!(this_present_total_amount && that_present_total_amount))
        return false;
      if (this.total_amount != that.total_amount)
        return false;
    }

    boolean this_present_total_weight = true;
    boolean that_present_total_weight = true;
    if (this_present_total_weight || that_present_total_weight) {
      if (!(this_present_total_weight && that_present_total_weight))
        return false;
      if (this.total_weight != that.total_weight)
        return false;
    }

    boolean this_present_invoice_number = true && this.isSetInvoice_number();
    boolean that_present_invoice_number = true && that.isSetInvoice_number();
    if (this_present_invoice_number || that_present_invoice_number) {
      if (!(this_present_invoice_number && that_present_invoice_number))
        return false;
      if (!this.invoice_number.equals(that.invoice_number))
        return false;
    }

    boolean this_present_billed_by = true && this.isSetBilled_by();
    boolean that_present_billed_by = true && that.isSetBilled_by();
    if (this_present_billed_by || that_present_billed_by) {
      if (!(this_present_billed_by && that_present_billed_by))
        return false;
      if (!this.billed_by.equals(that.billed_by))
        return false;
    }

    boolean this_present_created_timestamp = true;
    boolean that_present_created_timestamp = true;
    if (this_present_created_timestamp || that_present_created_timestamp) {
      if (!(this_present_created_timestamp && that_present_created_timestamp))
        return false;
      if (this.created_timestamp != that.created_timestamp)
        return false;
    }

    boolean this_present_accepted_timestamp = true;
    boolean that_present_accepted_timestamp = true;
    if (this_present_accepted_timestamp || that_present_accepted_timestamp) {
      if (!(this_present_accepted_timestamp && that_present_accepted_timestamp))
        return false;
      if (this.accepted_timestamp != that.accepted_timestamp)
        return false;
    }

    boolean this_present_billing_timestamp = true;
    boolean that_present_billing_timestamp = true;
    if (this_present_billing_timestamp || that_present_billing_timestamp) {
      if (!(this_present_billing_timestamp && that_present_billing_timestamp))
        return false;
      if (this.billing_timestamp != that.billing_timestamp)
        return false;
    }

    boolean this_present_shipping_timestamp = true;
    boolean that_present_shipping_timestamp = true;
    if (this_present_shipping_timestamp || that_present_shipping_timestamp) {
      if (!(this_present_shipping_timestamp && that_present_shipping_timestamp))
        return false;
      if (this.shipping_timestamp != that.shipping_timestamp)
        return false;
    }

    boolean this_present_pickup_timestamp = true;
    boolean that_present_pickup_timestamp = true;
    if (this_present_pickup_timestamp || that_present_pickup_timestamp) {
      if (!(this_present_pickup_timestamp && that_present_pickup_timestamp))
        return false;
      if (this.pickup_timestamp != that.pickup_timestamp)
        return false;
    }

    boolean this_present_delivery_timestamp = true;
    boolean that_present_delivery_timestamp = true;
    if (this_present_delivery_timestamp || that_present_delivery_timestamp) {
      if (!(this_present_delivery_timestamp && that_present_delivery_timestamp))
        return false;
      if (this.delivery_timestamp != that.delivery_timestamp)
        return false;
    }

    boolean this_present_outofstock_timestamp = true;
    boolean that_present_outofstock_timestamp = true;
    if (this_present_outofstock_timestamp || that_present_outofstock_timestamp) {
      if (!(this_present_outofstock_timestamp && that_present_outofstock_timestamp))
        return false;
      if (this.outofstock_timestamp != that.outofstock_timestamp)
        return false;
    }

    boolean this_present_jacket_number = true;
    boolean that_present_jacket_number = true;
    if (this_present_jacket_number || that_present_jacket_number) {
      if (!(this_present_jacket_number && that_present_jacket_number))
        return false;
      if (this.jacket_number != that.jacket_number)
        return false;
    }

    boolean this_present_receiver = true && this.isSetReceiver();
    boolean that_present_receiver = true && that.isSetReceiver();
    if (this_present_receiver || that_present_receiver) {
      if (!(this_present_receiver && that_present_receiver))
        return false;
      if (!this.receiver.equals(that.receiver))
        return false;
    }

    boolean this_present_batchNo = true;
    boolean that_present_batchNo = true;
    if (this_present_batchNo || that_present_batchNo) {
      if (!(this_present_batchNo && that_present_batchNo))
        return false;
      if (this.batchNo != that.batchNo)
        return false;
    }

    boolean this_present_serialNo = true;
    boolean that_present_serialNo = true;
    if (this_present_serialNo || that_present_serialNo) {
      if (!(this_present_serialNo && that_present_serialNo))
        return false;
      if (this.serialNo != that.serialNo)
        return false;
    }

    return true;
  }

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

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

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

    lastComparison = Boolean.valueOf(isSetId()).compareTo(isSetId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(id, typedOther.id);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetWarehouse_id()).compareTo(isSetWarehouse_id());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(warehouse_id, typedOther.warehouse_id);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetLineitems()).compareTo(isSetLineitems());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(lineitems, typedOther.lineitems);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetLogistics_provider_id()).compareTo(isSetLogistics_provider_id());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(logistics_provider_id, typedOther.logistics_provider_id);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetAirwaybill_no()).compareTo(isSetAirwaybill_no());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(airwaybill_no, typedOther.airwaybill_no);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetTracking_id()).compareTo(isSetTracking_id());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(tracking_id, typedOther.tracking_id);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetExpected_delivery_time()).compareTo(isSetExpected_delivery_time());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(expected_delivery_time, typedOther.expected_delivery_time);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_id()).compareTo(isSetCustomer_id());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_id, typedOther.customer_id);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_name()).compareTo(isSetCustomer_name());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_name, typedOther.customer_name);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_mobilenumber()).compareTo(isSetCustomer_mobilenumber());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_mobilenumber, typedOther.customer_mobilenumber);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_pincode()).compareTo(isSetCustomer_pincode());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_pincode, typedOther.customer_pincode);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_address1()).compareTo(isSetCustomer_address1());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_address1, typedOther.customer_address1);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_address2()).compareTo(isSetCustomer_address2());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_address2, typedOther.customer_address2);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_email()).compareTo(isSetCustomer_email());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_email, typedOther.customer_email);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_city()).compareTo(isSetCustomer_city());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_city, typedOther.customer_city);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCustomer_state()).compareTo(isSetCustomer_state());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(customer_state, typedOther.customer_state);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetStatus()).compareTo(isSetStatus());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(status, typedOther.status);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetStatusDescription()).compareTo(isSetStatusDescription());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(statusDescription, typedOther.statusDescription);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetTotal_amount()).compareTo(isSetTotal_amount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(total_amount, typedOther.total_amount);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetTotal_weight()).compareTo(isSetTotal_weight());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(total_weight, typedOther.total_weight);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetInvoice_number()).compareTo(isSetInvoice_number());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(invoice_number, typedOther.invoice_number);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetBilled_by()).compareTo(isSetBilled_by());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(billed_by, typedOther.billed_by);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCreated_timestamp()).compareTo(isSetCreated_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(created_timestamp, typedOther.created_timestamp);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetAccepted_timestamp()).compareTo(isSetAccepted_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(accepted_timestamp, typedOther.accepted_timestamp);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetBilling_timestamp()).compareTo(isSetBilling_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(billing_timestamp, typedOther.billing_timestamp);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetShipping_timestamp()).compareTo(isSetShipping_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(shipping_timestamp, typedOther.shipping_timestamp);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetPickup_timestamp()).compareTo(isSetPickup_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(pickup_timestamp, typedOther.pickup_timestamp);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetDelivery_timestamp()).compareTo(isSetDelivery_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(delivery_timestamp, typedOther.delivery_timestamp);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetOutofstock_timestamp()).compareTo(isSetOutofstock_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(outofstock_timestamp, typedOther.outofstock_timestamp);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetJacket_number()).compareTo(isSetJacket_number());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(jacket_number, typedOther.jacket_number);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetReceiver()).compareTo(isSetReceiver());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(receiver, typedOther.receiver);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetBatchNo()).compareTo(isSetBatchNo());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(batchNo, typedOther.batchNo);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetSerialNo()).compareTo(isSetSerialNo());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(serialNo, typedOther.serialNo);
    if (lastComparison != 0) {
      return lastComparison;
    }
    return 0;
  }

  public void read(TProtocol iprot) throws TException {
    TField field;
    iprot.readStructBegin();
    while (true)
    {
      field = iprot.readFieldBegin();
      if (field.type == TType.STOP) { 
        break;
      }
      _Fields fieldId = _Fields.findByThriftId(field.id);
      if (fieldId == null) {
        TProtocolUtil.skip(iprot, field.type);
      } else {
        switch (fieldId) {
          case ID:
            if (field.type == TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case WAREHOUSE_ID:
            if (field.type == TType.I64) {
              this.warehouse_id = iprot.readI64();
              setWarehouse_idIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case LINEITEMS:
            if (field.type == TType.LIST) {
              {
                TList _list0 = iprot.readListBegin();
                this.lineitems = new ArrayList<LineItem>(_list0.size);
                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
                {
                  LineItem _elem2;
                  _elem2 = new LineItem();
                  _elem2.read(iprot);
                  this.lineitems.add(_elem2);
                }
                iprot.readListEnd();
              }
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case LOGISTICS_PROVIDER_ID:
            if (field.type == TType.I64) {
              this.logistics_provider_id = iprot.readI64();
              setLogistics_provider_idIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case AIRWAYBILL_NO:
            if (field.type == TType.STRING) {
              this.airwaybill_no = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case TRACKING_ID:
            if (field.type == TType.STRING) {
              this.tracking_id = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case EXPECTED_DELIVERY_TIME:
            if (field.type == TType.I64) {
              this.expected_delivery_time = iprot.readI64();
              setExpected_delivery_timeIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_ID:
            if (field.type == TType.I64) {
              this.customer_id = iprot.readI64();
              setCustomer_idIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_NAME:
            if (field.type == TType.STRING) {
              this.customer_name = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_MOBILENUMBER:
            if (field.type == TType.STRING) {
              this.customer_mobilenumber = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_PINCODE:
            if (field.type == TType.STRING) {
              this.customer_pincode = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_ADDRESS1:
            if (field.type == TType.STRING) {
              this.customer_address1 = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_ADDRESS2:
            if (field.type == TType.STRING) {
              this.customer_address2 = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_EMAIL:
            if (field.type == TType.STRING) {
              this.customer_email = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_CITY:
            if (field.type == TType.STRING) {
              this.customer_city = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CUSTOMER_STATE:
            if (field.type == TType.STRING) {
              this.customer_state = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case STATUS:
            if (field.type == TType.I32) {
              this.status = OrderStatus.findByValue(iprot.readI32());
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case STATUS_DESCRIPTION:
            if (field.type == TType.STRING) {
              this.statusDescription = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case TOTAL_AMOUNT:
            if (field.type == TType.DOUBLE) {
              this.total_amount = iprot.readDouble();
              setTotal_amountIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case TOTAL_WEIGHT:
            if (field.type == TType.DOUBLE) {
              this.total_weight = iprot.readDouble();
              setTotal_weightIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case INVOICE_NUMBER:
            if (field.type == TType.STRING) {
              this.invoice_number = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case BILLED_BY:
            if (field.type == TType.STRING) {
              this.billed_by = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CREATED_TIMESTAMP:
            if (field.type == TType.I64) {
              this.created_timestamp = iprot.readI64();
              setCreated_timestampIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case ACCEPTED_TIMESTAMP:
            if (field.type == TType.I64) {
              this.accepted_timestamp = iprot.readI64();
              setAccepted_timestampIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case BILLING_TIMESTAMP:
            if (field.type == TType.I64) {
              this.billing_timestamp = iprot.readI64();
              setBilling_timestampIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case SHIPPING_TIMESTAMP:
            if (field.type == TType.I64) {
              this.shipping_timestamp = iprot.readI64();
              setShipping_timestampIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case PICKUP_TIMESTAMP:
            if (field.type == TType.I64) {
              this.pickup_timestamp = iprot.readI64();
              setPickup_timestampIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case DELIVERY_TIMESTAMP:
            if (field.type == TType.I64) {
              this.delivery_timestamp = iprot.readI64();
              setDelivery_timestampIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case OUTOFSTOCK_TIMESTAMP:
            if (field.type == TType.I64) {
              this.outofstock_timestamp = iprot.readI64();
              setOutofstock_timestampIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case JACKET_NUMBER:
            if (field.type == TType.I64) {
              this.jacket_number = iprot.readI64();
              setJacket_numberIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case RECEIVER:
            if (field.type == TType.STRING) {
              this.receiver = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case BATCH_NO:
            if (field.type == TType.I64) {
              this.batchNo = iprot.readI64();
              setBatchNoIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case SERIAL_NO:
            if (field.type == TType.I64) {
              this.serialNo = iprot.readI64();
              setSerialNoIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
        }
        iprot.readFieldEnd();
      }
    }
    iprot.readStructEnd();
    validate();
  }

  public void write(TProtocol oprot) throws TException {
    validate();

    oprot.writeStructBegin(STRUCT_DESC);
    oprot.writeFieldBegin(ID_FIELD_DESC);
    oprot.writeI64(this.id);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
    oprot.writeI64(this.warehouse_id);
    oprot.writeFieldEnd();
    if (this.lineitems != null) {
      oprot.writeFieldBegin(LINEITEMS_FIELD_DESC);
      {
        oprot.writeListBegin(new TList(TType.STRUCT, this.lineitems.size()));
        for (LineItem _iter3 : this.lineitems)
        {
          _iter3.write(oprot);
        }
        oprot.writeListEnd();
      }
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(LOGISTICS_PROVIDER_ID_FIELD_DESC);
    oprot.writeI64(this.logistics_provider_id);
    oprot.writeFieldEnd();
    if (this.airwaybill_no != null) {
      oprot.writeFieldBegin(AIRWAYBILL_NO_FIELD_DESC);
      oprot.writeString(this.airwaybill_no);
      oprot.writeFieldEnd();
    }
    if (this.tracking_id != null) {
      oprot.writeFieldBegin(TRACKING_ID_FIELD_DESC);
      oprot.writeString(this.tracking_id);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(EXPECTED_DELIVERY_TIME_FIELD_DESC);
    oprot.writeI64(this.expected_delivery_time);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
    oprot.writeI64(this.customer_id);
    oprot.writeFieldEnd();
    if (this.customer_name != null) {
      oprot.writeFieldBegin(CUSTOMER_NAME_FIELD_DESC);
      oprot.writeString(this.customer_name);
      oprot.writeFieldEnd();
    }
    if (this.customer_mobilenumber != null) {
      oprot.writeFieldBegin(CUSTOMER_MOBILENUMBER_FIELD_DESC);
      oprot.writeString(this.customer_mobilenumber);
      oprot.writeFieldEnd();
    }
    if (this.customer_pincode != null) {
      oprot.writeFieldBegin(CUSTOMER_PINCODE_FIELD_DESC);
      oprot.writeString(this.customer_pincode);
      oprot.writeFieldEnd();
    }
    if (this.customer_address1 != null) {
      oprot.writeFieldBegin(CUSTOMER_ADDRESS1_FIELD_DESC);
      oprot.writeString(this.customer_address1);
      oprot.writeFieldEnd();
    }
    if (this.customer_address2 != null) {
      oprot.writeFieldBegin(CUSTOMER_ADDRESS2_FIELD_DESC);
      oprot.writeString(this.customer_address2);
      oprot.writeFieldEnd();
    }
    if (this.customer_email != null) {
      oprot.writeFieldBegin(CUSTOMER_EMAIL_FIELD_DESC);
      oprot.writeString(this.customer_email);
      oprot.writeFieldEnd();
    }
    if (this.customer_city != null) {
      oprot.writeFieldBegin(CUSTOMER_CITY_FIELD_DESC);
      oprot.writeString(this.customer_city);
      oprot.writeFieldEnd();
    }
    if (this.customer_state != null) {
      oprot.writeFieldBegin(CUSTOMER_STATE_FIELD_DESC);
      oprot.writeString(this.customer_state);
      oprot.writeFieldEnd();
    }
    if (this.status != null) {
      oprot.writeFieldBegin(STATUS_FIELD_DESC);
      oprot.writeI32(this.status.getValue());
      oprot.writeFieldEnd();
    }
    if (this.statusDescription != null) {
      oprot.writeFieldBegin(STATUS_DESCRIPTION_FIELD_DESC);
      oprot.writeString(this.statusDescription);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(TOTAL_AMOUNT_FIELD_DESC);
    oprot.writeDouble(this.total_amount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(TOTAL_WEIGHT_FIELD_DESC);
    oprot.writeDouble(this.total_weight);
    oprot.writeFieldEnd();
    if (this.invoice_number != null) {
      oprot.writeFieldBegin(INVOICE_NUMBER_FIELD_DESC);
      oprot.writeString(this.invoice_number);
      oprot.writeFieldEnd();
    }
    if (this.billed_by != null) {
      oprot.writeFieldBegin(BILLED_BY_FIELD_DESC);
      oprot.writeString(this.billed_by);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(CREATED_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.created_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(ACCEPTED_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.accepted_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(BILLING_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.billing_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(SHIPPING_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.shipping_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(PICKUP_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.pickup_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(DELIVERY_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.delivery_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(OUTOFSTOCK_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.outofstock_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(JACKET_NUMBER_FIELD_DESC);
    oprot.writeI64(this.jacket_number);
    oprot.writeFieldEnd();
    if (this.receiver != null) {
      oprot.writeFieldBegin(RECEIVER_FIELD_DESC);
      oprot.writeString(this.receiver);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(BATCH_NO_FIELD_DESC);
    oprot.writeI64(this.batchNo);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(SERIAL_NO_FIELD_DESC);
    oprot.writeI64(this.serialNo);
    oprot.writeFieldEnd();
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

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

    sb.append("id:");
    sb.append(this.id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("warehouse_id:");
    sb.append(this.warehouse_id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("lineitems:");
    if (this.lineitems == null) {
      sb.append("null");
    } else {
      sb.append(this.lineitems);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("logistics_provider_id:");
    sb.append(this.logistics_provider_id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("airwaybill_no:");
    if (this.airwaybill_no == null) {
      sb.append("null");
    } else {
      sb.append(this.airwaybill_no);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("tracking_id:");
    if (this.tracking_id == null) {
      sb.append("null");
    } else {
      sb.append(this.tracking_id);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("expected_delivery_time:");
    sb.append(this.expected_delivery_time);
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_id:");
    sb.append(this.customer_id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_name:");
    if (this.customer_name == null) {
      sb.append("null");
    } else {
      sb.append(this.customer_name);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_mobilenumber:");
    if (this.customer_mobilenumber == null) {
      sb.append("null");
    } else {
      sb.append(this.customer_mobilenumber);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_pincode:");
    if (this.customer_pincode == null) {
      sb.append("null");
    } else {
      sb.append(this.customer_pincode);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_address1:");
    if (this.customer_address1 == null) {
      sb.append("null");
    } else {
      sb.append(this.customer_address1);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_address2:");
    if (this.customer_address2 == null) {
      sb.append("null");
    } else {
      sb.append(this.customer_address2);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_email:");
    if (this.customer_email == null) {
      sb.append("null");
    } else {
      sb.append(this.customer_email);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_city:");
    if (this.customer_city == null) {
      sb.append("null");
    } else {
      sb.append(this.customer_city);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("customer_state:");
    if (this.customer_state == null) {
      sb.append("null");
    } else {
      sb.append(this.customer_state);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("status:");
    if (this.status == null) {
      sb.append("null");
    } else {
      String status_name = status.name();
      if (status_name != null) {
        sb.append(status_name);
        sb.append(" (");
      }
      sb.append(this.status);
      if (status_name != null) {
        sb.append(")");
      }
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("statusDescription:");
    if (this.statusDescription == null) {
      sb.append("null");
    } else {
      sb.append(this.statusDescription);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("total_amount:");
    sb.append(this.total_amount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("total_weight:");
    sb.append(this.total_weight);
    first = false;
    if (!first) sb.append(", ");
    sb.append("invoice_number:");
    if (this.invoice_number == null) {
      sb.append("null");
    } else {
      sb.append(this.invoice_number);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("billed_by:");
    if (this.billed_by == null) {
      sb.append("null");
    } else {
      sb.append(this.billed_by);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("created_timestamp:");
    sb.append(this.created_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("accepted_timestamp:");
    sb.append(this.accepted_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("billing_timestamp:");
    sb.append(this.billing_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("shipping_timestamp:");
    sb.append(this.shipping_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("pickup_timestamp:");
    sb.append(this.pickup_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("delivery_timestamp:");
    sb.append(this.delivery_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("outofstock_timestamp:");
    sb.append(this.outofstock_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("jacket_number:");
    sb.append(this.jacket_number);
    first = false;
    if (!first) sb.append(", ");
    sb.append("receiver:");
    if (this.receiver == null) {
      sb.append("null");
    } else {
      sb.append(this.receiver);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("batchNo:");
    sb.append(this.batchNo);
    first = false;
    if (!first) sb.append(", ");
    sb.append("serialNo:");
    sb.append(this.serialNo);
    first = false;
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws TException {
    // check for required fields
  }

}