Subversion Repositories SmartDukaan

Rev

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

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

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

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

  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
  private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("item_id", org.apache.thrift.protocol.TType.I64, (short)2);
  private static final org.apache.thrift.protocol.TField PRODUCT_GROUP_FIELD_DESC = new org.apache.thrift.protocol.TField("productGroup", org.apache.thrift.protocol.TType.STRING, (short)3);
  private static final org.apache.thrift.protocol.TField BRAND_FIELD_DESC = new org.apache.thrift.protocol.TField("brand", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField MODEL_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("model_number", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField COLOR_FIELD_DESC = new org.apache.thrift.protocol.TField("color", org.apache.thrift.protocol.TType.STRING, (short)6);
  private static final org.apache.thrift.protocol.TField MODEL_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("model_name", org.apache.thrift.protocol.TType.STRING, (short)7);
  private static final org.apache.thrift.protocol.TField EXTRA_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("extra_info", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField QUANTITY_FIELD_DESC = new org.apache.thrift.protocol.TField("quantity", org.apache.thrift.protocol.TType.DOUBLE, (short)9);
  private static final org.apache.thrift.protocol.TField MRP_FIELD_DESC = new org.apache.thrift.protocol.TField("mrp", org.apache.thrift.protocol.TType.DOUBLE, (short)10);
  private static final org.apache.thrift.protocol.TField UNIT_PRICE_FIELD_DESC = new org.apache.thrift.protocol.TField("unit_price", org.apache.thrift.protocol.TType.DOUBLE, (short)11);
  private static final org.apache.thrift.protocol.TField UNIT_WEIGHT_FIELD_DESC = new org.apache.thrift.protocol.TField("unit_weight", org.apache.thrift.protocol.TType.DOUBLE, (short)12);
  private static final org.apache.thrift.protocol.TField TOTAL_PRICE_FIELD_DESC = new org.apache.thrift.protocol.TField("total_price", org.apache.thrift.protocol.TType.DOUBLE, (short)13);
  private static final org.apache.thrift.protocol.TField TRANSFER_PRICE_FIELD_DESC = new org.apache.thrift.protocol.TField("transfer_price", org.apache.thrift.protocol.TType.DOUBLE, (short)14);
  private static final org.apache.thrift.protocol.TField TOTAL_WEIGHT_FIELD_DESC = new org.apache.thrift.protocol.TField("total_weight", org.apache.thrift.protocol.TType.DOUBLE, (short)15);
  private static final org.apache.thrift.protocol.TField SERIAL_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("serial_number", org.apache.thrift.protocol.TType.STRING, (short)16);
  private static final org.apache.thrift.protocol.TField ITEM_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("item_number", org.apache.thrift.protocol.TType.STRING, (short)17);
  private static final org.apache.thrift.protocol.TField DEAL_TEXT_FIELD_DESC = new org.apache.thrift.protocol.TField("dealText", org.apache.thrift.protocol.TType.STRING, (short)18);
  private static final org.apache.thrift.protocol.TField WARRANTRY_EXPIRY_TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("warrantry_expiry_timestamp", org.apache.thrift.protocol.TType.I64, (short)19);
  private static final org.apache.thrift.protocol.TField VAT_RATE_FIELD_DESC = new org.apache.thrift.protocol.TField("vatRate", org.apache.thrift.protocol.TType.DOUBLE, (short)20);
  private static final org.apache.thrift.protocol.TField NLC_FIELD_DESC = new org.apache.thrift.protocol.TField("nlc", org.apache.thrift.protocol.TType.DOUBLE, (short)21);
  private static final org.apache.thrift.protocol.TField LOGISTICS_COST_FIELD_DESC = new org.apache.thrift.protocol.TField("logisticsCost", org.apache.thrift.protocol.TType.DOUBLE, (short)22);
  private static final org.apache.thrift.protocol.TField COD_COLLECTION_CHARGES_FIELD_DESC = new org.apache.thrift.protocol.TField("codCollectionCharges", org.apache.thrift.protocol.TType.DOUBLE, (short)23);
  private static final org.apache.thrift.protocol.TField RETURN_QTY_FIELD_DESC = new org.apache.thrift.protocol.TField("returnQty", org.apache.thrift.protocol.TType.DOUBLE, (short)24);
  private static final org.apache.thrift.protocol.TField DAMAGED_EXPIRY_TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("damaged_expiry_timestamp", org.apache.thrift.protocol.TType.I64, (short)25);
  private static final org.apache.thrift.protocol.TField IGST_RATE_FIELD_DESC = new org.apache.thrift.protocol.TField("igstRate", org.apache.thrift.protocol.TType.DOUBLE, (short)26);
  private static final org.apache.thrift.protocol.TField CGST_RATE_FIELD_DESC = new org.apache.thrift.protocol.TField("cgstRate", org.apache.thrift.protocol.TType.DOUBLE, (short)27);
  private static final org.apache.thrift.protocol.TField SGST_RATE_FIELD_DESC = new org.apache.thrift.protocol.TField("sgstRate", org.apache.thrift.protocol.TType.DOUBLE, (short)28);
  private static final org.apache.thrift.protocol.TField HSN_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("hsnCode", org.apache.thrift.protocol.TType.STRING, (short)29);

  private long id; // required
  private long item_id; // required
  private String productGroup; // required
  private String brand; // required
  private String model_number; // required
  private String color; // required
  private String model_name; // required
  private String extra_info; // required
  private double quantity; // required
  private double mrp; // required
  private double unit_price; // required
  private double unit_weight; // required
  private double total_price; // required
  private double transfer_price; // required
  private double total_weight; // required
  private String serial_number; // required
  private String item_number; // required
  private String dealText; // required
  private long warrantry_expiry_timestamp; // required
  private double vatRate; // required
  private double nlc; // required
  private double logisticsCost; // required
  private double codCollectionCharges; // required
  private double returnQty; // required
  private long damaged_expiry_timestamp; // required
  private double igstRate; // required
  private double cgstRate; // required
  private double sgstRate; // required
  private String hsnCode; // required

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
    ID((short)1, "id"),
    ITEM_ID((short)2, "item_id"),
    PRODUCT_GROUP((short)3, "productGroup"),
    BRAND((short)4, "brand"),
    MODEL_NUMBER((short)5, "model_number"),
    COLOR((short)6, "color"),
    MODEL_NAME((short)7, "model_name"),
    EXTRA_INFO((short)8, "extra_info"),
    QUANTITY((short)9, "quantity"),
    MRP((short)10, "mrp"),
    UNIT_PRICE((short)11, "unit_price"),
    UNIT_WEIGHT((short)12, "unit_weight"),
    TOTAL_PRICE((short)13, "total_price"),
    TRANSFER_PRICE((short)14, "transfer_price"),
    TOTAL_WEIGHT((short)15, "total_weight"),
    SERIAL_NUMBER((short)16, "serial_number"),
    ITEM_NUMBER((short)17, "item_number"),
    DEAL_TEXT((short)18, "dealText"),
    WARRANTRY_EXPIRY_TIMESTAMP((short)19, "warrantry_expiry_timestamp"),
    VAT_RATE((short)20, "vatRate"),
    NLC((short)21, "nlc"),
    LOGISTICS_COST((short)22, "logisticsCost"),
    COD_COLLECTION_CHARGES((short)23, "codCollectionCharges"),
    RETURN_QTY((short)24, "returnQty"),
    DAMAGED_EXPIRY_TIMESTAMP((short)25, "damaged_expiry_timestamp"),
    IGST_RATE((short)26, "igstRate"),
    CGST_RATE((short)27, "cgstRate"),
    SGST_RATE((short)28, "sgstRate"),
    HSN_CODE((short)29, "hsnCode");

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

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

    /**
     * Find the _Fields constant that matches fieldId, or null if its not found.
     */
    public static _Fields findByThriftId(int fieldId) {
      switch(fieldId) {
        case 1: // ID
          return ID;
        case 2: // ITEM_ID
          return ITEM_ID;
        case 3: // PRODUCT_GROUP
          return PRODUCT_GROUP;
        case 4: // BRAND
          return BRAND;
        case 5: // MODEL_NUMBER
          return MODEL_NUMBER;
        case 6: // COLOR
          return COLOR;
        case 7: // MODEL_NAME
          return MODEL_NAME;
        case 8: // EXTRA_INFO
          return EXTRA_INFO;
        case 9: // QUANTITY
          return QUANTITY;
        case 10: // MRP
          return MRP;
        case 11: // UNIT_PRICE
          return UNIT_PRICE;
        case 12: // UNIT_WEIGHT
          return UNIT_WEIGHT;
        case 13: // TOTAL_PRICE
          return TOTAL_PRICE;
        case 14: // TRANSFER_PRICE
          return TRANSFER_PRICE;
        case 15: // TOTAL_WEIGHT
          return TOTAL_WEIGHT;
        case 16: // SERIAL_NUMBER
          return SERIAL_NUMBER;
        case 17: // ITEM_NUMBER
          return ITEM_NUMBER;
        case 18: // DEAL_TEXT
          return DEAL_TEXT;
        case 19: // WARRANTRY_EXPIRY_TIMESTAMP
          return WARRANTRY_EXPIRY_TIMESTAMP;
        case 20: // VAT_RATE
          return VAT_RATE;
        case 21: // NLC
          return NLC;
        case 22: // LOGISTICS_COST
          return LOGISTICS_COST;
        case 23: // COD_COLLECTION_CHARGES
          return COD_COLLECTION_CHARGES;
        case 24: // RETURN_QTY
          return RETURN_QTY;
        case 25: // DAMAGED_EXPIRY_TIMESTAMP
          return DAMAGED_EXPIRY_TIMESTAMP;
        case 26: // IGST_RATE
          return IGST_RATE;
        case 27: // CGST_RATE
          return CGST_RATE;
        case 28: // SGST_RATE
          return SGST_RATE;
        case 29: // HSN_CODE
          return HSN_CODE;
        default:
          return null;
      }
    }

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

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

    private final short _thriftId;
    private final String _fieldName;

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

    public short getThriftFieldId() {
      return _thriftId;
    }

    public String getFieldName() {
      return _fieldName;
    }
  }

  // isset id assignments
  private static final int __ID_ISSET_ID = 0;
  private static final int __ITEM_ID_ISSET_ID = 1;
  private static final int __QUANTITY_ISSET_ID = 2;
  private static final int __MRP_ISSET_ID = 3;
  private static final int __UNIT_PRICE_ISSET_ID = 4;
  private static final int __UNIT_WEIGHT_ISSET_ID = 5;
  private static final int __TOTAL_PRICE_ISSET_ID = 6;
  private static final int __TRANSFER_PRICE_ISSET_ID = 7;
  private static final int __TOTAL_WEIGHT_ISSET_ID = 8;
  private static final int __WARRANTRY_EXPIRY_TIMESTAMP_ISSET_ID = 9;
  private static final int __VATRATE_ISSET_ID = 10;
  private static final int __NLC_ISSET_ID = 11;
  private static final int __LOGISTICSCOST_ISSET_ID = 12;
  private static final int __CODCOLLECTIONCHARGES_ISSET_ID = 13;
  private static final int __RETURNQTY_ISSET_ID = 14;
  private static final int __DAMAGED_EXPIRY_TIMESTAMP_ISSET_ID = 15;
  private static final int __IGSTRATE_ISSET_ID = 16;
  private static final int __CGSTRATE_ISSET_ID = 17;
  private static final int __SGSTRATE_ISSET_ID = 18;
  private BitSet __isset_bit_vector = new BitSet(19);

  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
  static {
    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
    tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("item_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.PRODUCT_GROUP, new org.apache.thrift.meta_data.FieldMetaData("productGroup", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.BRAND, new org.apache.thrift.meta_data.FieldMetaData("brand", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.MODEL_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("model_number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.COLOR, new org.apache.thrift.meta_data.FieldMetaData("color", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.MODEL_NAME, new org.apache.thrift.meta_data.FieldMetaData("model_name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.EXTRA_INFO, new org.apache.thrift.meta_data.FieldMetaData("extra_info", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.QUANTITY, new org.apache.thrift.meta_data.FieldMetaData("quantity", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.MRP, new org.apache.thrift.meta_data.FieldMetaData("mrp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.UNIT_PRICE, new org.apache.thrift.meta_data.FieldMetaData("unit_price", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.UNIT_WEIGHT, new org.apache.thrift.meta_data.FieldMetaData("unit_weight", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.TOTAL_PRICE, new org.apache.thrift.meta_data.FieldMetaData("total_price", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.TRANSFER_PRICE, new org.apache.thrift.meta_data.FieldMetaData("transfer_price", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.TOTAL_WEIGHT, new org.apache.thrift.meta_data.FieldMetaData("total_weight", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.SERIAL_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("serial_number", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.ITEM_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("item_number", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.DEAL_TEXT, new org.apache.thrift.meta_data.FieldMetaData("dealText", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.WARRANTRY_EXPIRY_TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("warrantry_expiry_timestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.VAT_RATE, new org.apache.thrift.meta_data.FieldMetaData("vatRate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.NLC, new org.apache.thrift.meta_data.FieldMetaData("nlc", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.LOGISTICS_COST, new org.apache.thrift.meta_data.FieldMetaData("logisticsCost", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.COD_COLLECTION_CHARGES, new org.apache.thrift.meta_data.FieldMetaData("codCollectionCharges", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.RETURN_QTY, new org.apache.thrift.meta_data.FieldMetaData("returnQty", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.DAMAGED_EXPIRY_TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("damaged_expiry_timestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.IGST_RATE, new org.apache.thrift.meta_data.FieldMetaData("igstRate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.CGST_RATE, new org.apache.thrift.meta_data.FieldMetaData("cgstRate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.SGST_RATE, new org.apache.thrift.meta_data.FieldMetaData("sgstRate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.HSN_CODE, new org.apache.thrift.meta_data.FieldMetaData("hsnCode", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(LineItem.class, metaDataMap);
  }

  public LineItem() {
  }

  public LineItem(
    long id,
    long item_id,
    String productGroup,
    String brand,
    String model_number,
    String color,
    String model_name,
    String extra_info,
    double quantity,
    double mrp,
    double unit_price,
    double unit_weight,
    double total_price,
    double transfer_price,
    double total_weight,
    long warrantry_expiry_timestamp,
    double vatRate,
    double nlc,
    double logisticsCost,
    double codCollectionCharges,
    double returnQty,
    long damaged_expiry_timestamp,
    double igstRate,
    double cgstRate,
    double sgstRate,
    String hsnCode)
  {
    this();
    this.id = id;
    setIdIsSet(true);
    this.item_id = item_id;
    setItem_idIsSet(true);
    this.productGroup = productGroup;
    this.brand = brand;
    this.model_number = model_number;
    this.color = color;
    this.model_name = model_name;
    this.extra_info = extra_info;
    this.quantity = quantity;
    setQuantityIsSet(true);
    this.mrp = mrp;
    setMrpIsSet(true);
    this.unit_price = unit_price;
    setUnit_priceIsSet(true);
    this.unit_weight = unit_weight;
    setUnit_weightIsSet(true);
    this.total_price = total_price;
    setTotal_priceIsSet(true);
    this.transfer_price = transfer_price;
    setTransfer_priceIsSet(true);
    this.total_weight = total_weight;
    setTotal_weightIsSet(true);
    this.warrantry_expiry_timestamp = warrantry_expiry_timestamp;
    setWarrantry_expiry_timestampIsSet(true);
    this.vatRate = vatRate;
    setVatRateIsSet(true);
    this.nlc = nlc;
    setNlcIsSet(true);
    this.logisticsCost = logisticsCost;
    setLogisticsCostIsSet(true);
    this.codCollectionCharges = codCollectionCharges;
    setCodCollectionChargesIsSet(true);
    this.returnQty = returnQty;
    setReturnQtyIsSet(true);
    this.damaged_expiry_timestamp = damaged_expiry_timestamp;
    setDamaged_expiry_timestampIsSet(true);
    this.igstRate = igstRate;
    setIgstRateIsSet(true);
    this.cgstRate = cgstRate;
    setCgstRateIsSet(true);
    this.sgstRate = sgstRate;
    setSgstRateIsSet(true);
    this.hsnCode = hsnCode;
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public LineItem(LineItem other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    this.id = other.id;
    this.item_id = other.item_id;
    if (other.isSetProductGroup()) {
      this.productGroup = other.productGroup;
    }
    if (other.isSetBrand()) {
      this.brand = other.brand;
    }
    if (other.isSetModel_number()) {
      this.model_number = other.model_number;
    }
    if (other.isSetColor()) {
      this.color = other.color;
    }
    if (other.isSetModel_name()) {
      this.model_name = other.model_name;
    }
    if (other.isSetExtra_info()) {
      this.extra_info = other.extra_info;
    }
    this.quantity = other.quantity;
    this.mrp = other.mrp;
    this.unit_price = other.unit_price;
    this.unit_weight = other.unit_weight;
    this.total_price = other.total_price;
    this.transfer_price = other.transfer_price;
    this.total_weight = other.total_weight;
    if (other.isSetSerial_number()) {
      this.serial_number = other.serial_number;
    }
    if (other.isSetItem_number()) {
      this.item_number = other.item_number;
    }
    if (other.isSetDealText()) {
      this.dealText = other.dealText;
    }
    this.warrantry_expiry_timestamp = other.warrantry_expiry_timestamp;
    this.vatRate = other.vatRate;
    this.nlc = other.nlc;
    this.logisticsCost = other.logisticsCost;
    this.codCollectionCharges = other.codCollectionCharges;
    this.returnQty = other.returnQty;
    this.damaged_expiry_timestamp = other.damaged_expiry_timestamp;
    this.igstRate = other.igstRate;
    this.cgstRate = other.cgstRate;
    this.sgstRate = other.sgstRate;
    if (other.isSetHsnCode()) {
      this.hsnCode = other.hsnCode;
    }
  }

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

  @Override
  public void clear() {
    setIdIsSet(false);
    this.id = 0;
    setItem_idIsSet(false);
    this.item_id = 0;
    this.productGroup = null;
    this.brand = null;
    this.model_number = null;
    this.color = null;
    this.model_name = null;
    this.extra_info = null;
    setQuantityIsSet(false);
    this.quantity = 0.0;
    setMrpIsSet(false);
    this.mrp = 0.0;
    setUnit_priceIsSet(false);
    this.unit_price = 0.0;
    setUnit_weightIsSet(false);
    this.unit_weight = 0.0;
    setTotal_priceIsSet(false);
    this.total_price = 0.0;
    setTransfer_priceIsSet(false);
    this.transfer_price = 0.0;
    setTotal_weightIsSet(false);
    this.total_weight = 0.0;
    this.serial_number = null;
    this.item_number = null;
    this.dealText = null;
    setWarrantry_expiry_timestampIsSet(false);
    this.warrantry_expiry_timestamp = 0;
    setVatRateIsSet(false);
    this.vatRate = 0.0;
    setNlcIsSet(false);
    this.nlc = 0.0;
    setLogisticsCostIsSet(false);
    this.logisticsCost = 0.0;
    setCodCollectionChargesIsSet(false);
    this.codCollectionCharges = 0.0;
    setReturnQtyIsSet(false);
    this.returnQty = 0.0;
    setDamaged_expiry_timestampIsSet(false);
    this.damaged_expiry_timestamp = 0;
    setIgstRateIsSet(false);
    this.igstRate = 0.0;
    setCgstRateIsSet(false);
    this.cgstRate = 0.0;
    setSgstRateIsSet(false);
    this.sgstRate = 0.0;
    this.hsnCode = null;
  }

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

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

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

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

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

  public long getItem_id() {
    return this.item_id;
  }

  public void setItem_id(long item_id) {
    this.item_id = item_id;
    setItem_idIsSet(true);
  }

  public void unsetItem_id() {
    __isset_bit_vector.clear(__ITEM_ID_ISSET_ID);
  }

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

  public void setItem_idIsSet(boolean value) {
    __isset_bit_vector.set(__ITEM_ID_ISSET_ID, value);
  }

  public String getProductGroup() {
    return this.productGroup;
  }

  public void setProductGroup(String productGroup) {
    this.productGroup = productGroup;
  }

  public void unsetProductGroup() {
    this.productGroup = null;
  }

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

  public void setProductGroupIsSet(boolean value) {
    if (!value) {
      this.productGroup = null;
    }
  }

  public String getBrand() {
    return this.brand;
  }

  public void setBrand(String brand) {
    this.brand = brand;
  }

  public void unsetBrand() {
    this.brand = null;
  }

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

  public void setBrandIsSet(boolean value) {
    if (!value) {
      this.brand = null;
    }
  }

  public String getModel_number() {
    return this.model_number;
  }

  public void setModel_number(String model_number) {
    this.model_number = model_number;
  }

  public void unsetModel_number() {
    this.model_number = null;
  }

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

  public void setModel_numberIsSet(boolean value) {
    if (!value) {
      this.model_number = null;
    }
  }

  public String getColor() {
    return this.color;
  }

  public void setColor(String color) {
    this.color = color;
  }

  public void unsetColor() {
    this.color = null;
  }

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

  public void setColorIsSet(boolean value) {
    if (!value) {
      this.color = null;
    }
  }

  public String getModel_name() {
    return this.model_name;
  }

  public void setModel_name(String model_name) {
    this.model_name = model_name;
  }

  public void unsetModel_name() {
    this.model_name = null;
  }

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

  public void setModel_nameIsSet(boolean value) {
    if (!value) {
      this.model_name = null;
    }
  }

  public String getExtra_info() {
    return this.extra_info;
  }

  public void setExtra_info(String extra_info) {
    this.extra_info = extra_info;
  }

  public void unsetExtra_info() {
    this.extra_info = null;
  }

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

  public void setExtra_infoIsSet(boolean value) {
    if (!value) {
      this.extra_info = null;
    }
  }

  public double getQuantity() {
    return this.quantity;
  }

  public void setQuantity(double quantity) {
    this.quantity = quantity;
    setQuantityIsSet(true);
  }

  public void unsetQuantity() {
    __isset_bit_vector.clear(__QUANTITY_ISSET_ID);
  }

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

  public void setQuantityIsSet(boolean value) {
    __isset_bit_vector.set(__QUANTITY_ISSET_ID, value);
  }

  public double getMrp() {
    return this.mrp;
  }

  public void setMrp(double mrp) {
    this.mrp = mrp;
    setMrpIsSet(true);
  }

  public void unsetMrp() {
    __isset_bit_vector.clear(__MRP_ISSET_ID);
  }

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

  public void setMrpIsSet(boolean value) {
    __isset_bit_vector.set(__MRP_ISSET_ID, value);
  }

  public double getUnit_price() {
    return this.unit_price;
  }

  public void setUnit_price(double unit_price) {
    this.unit_price = unit_price;
    setUnit_priceIsSet(true);
  }

  public void unsetUnit_price() {
    __isset_bit_vector.clear(__UNIT_PRICE_ISSET_ID);
  }

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

  public void setUnit_priceIsSet(boolean value) {
    __isset_bit_vector.set(__UNIT_PRICE_ISSET_ID, value);
  }

  public double getUnit_weight() {
    return this.unit_weight;
  }

  public void setUnit_weight(double unit_weight) {
    this.unit_weight = unit_weight;
    setUnit_weightIsSet(true);
  }

  public void unsetUnit_weight() {
    __isset_bit_vector.clear(__UNIT_WEIGHT_ISSET_ID);
  }

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

  public void setUnit_weightIsSet(boolean value) {
    __isset_bit_vector.set(__UNIT_WEIGHT_ISSET_ID, value);
  }

  public double getTotal_price() {
    return this.total_price;
  }

  public void setTotal_price(double total_price) {
    this.total_price = total_price;
    setTotal_priceIsSet(true);
  }

  public void unsetTotal_price() {
    __isset_bit_vector.clear(__TOTAL_PRICE_ISSET_ID);
  }

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

  public void setTotal_priceIsSet(boolean value) {
    __isset_bit_vector.set(__TOTAL_PRICE_ISSET_ID, value);
  }

  public double getTransfer_price() {
    return this.transfer_price;
  }

  public void setTransfer_price(double transfer_price) {
    this.transfer_price = transfer_price;
    setTransfer_priceIsSet(true);
  }

  public void unsetTransfer_price() {
    __isset_bit_vector.clear(__TRANSFER_PRICE_ISSET_ID);
  }

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

  public void setTransfer_priceIsSet(boolean value) {
    __isset_bit_vector.set(__TRANSFER_PRICE_ISSET_ID, value);
  }

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

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

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

  /** Returns true if field total_weight is set (has been assigned 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);
  }

  public String getSerial_number() {
    return this.serial_number;
  }

  public void setSerial_number(String serial_number) {
    this.serial_number = serial_number;
  }

  public void unsetSerial_number() {
    this.serial_number = null;
  }

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

  public void setSerial_numberIsSet(boolean value) {
    if (!value) {
      this.serial_number = null;
    }
  }

  public String getItem_number() {
    return this.item_number;
  }

  public void setItem_number(String item_number) {
    this.item_number = item_number;
  }

  public void unsetItem_number() {
    this.item_number = null;
  }

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

  public void setItem_numberIsSet(boolean value) {
    if (!value) {
      this.item_number = null;
    }
  }

  public String getDealText() {
    return this.dealText;
  }

  public void setDealText(String dealText) {
    this.dealText = dealText;
  }

  public void unsetDealText() {
    this.dealText = null;
  }

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

  public void setDealTextIsSet(boolean value) {
    if (!value) {
      this.dealText = null;
    }
  }

  public long getWarrantry_expiry_timestamp() {
    return this.warrantry_expiry_timestamp;
  }

  public void setWarrantry_expiry_timestamp(long warrantry_expiry_timestamp) {
    this.warrantry_expiry_timestamp = warrantry_expiry_timestamp;
    setWarrantry_expiry_timestampIsSet(true);
  }

  public void unsetWarrantry_expiry_timestamp() {
    __isset_bit_vector.clear(__WARRANTRY_EXPIRY_TIMESTAMP_ISSET_ID);
  }

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

  public void setWarrantry_expiry_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__WARRANTRY_EXPIRY_TIMESTAMP_ISSET_ID, value);
  }

  public double getVatRate() {
    return this.vatRate;
  }

  public void setVatRate(double vatRate) {
    this.vatRate = vatRate;
    setVatRateIsSet(true);
  }

  public void unsetVatRate() {
    __isset_bit_vector.clear(__VATRATE_ISSET_ID);
  }

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

  public void setVatRateIsSet(boolean value) {
    __isset_bit_vector.set(__VATRATE_ISSET_ID, value);
  }

  public double getNlc() {
    return this.nlc;
  }

  public void setNlc(double nlc) {
    this.nlc = nlc;
    setNlcIsSet(true);
  }

  public void unsetNlc() {
    __isset_bit_vector.clear(__NLC_ISSET_ID);
  }

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

  public void setNlcIsSet(boolean value) {
    __isset_bit_vector.set(__NLC_ISSET_ID, value);
  }

  public double getLogisticsCost() {
    return this.logisticsCost;
  }

  public void setLogisticsCost(double logisticsCost) {
    this.logisticsCost = logisticsCost;
    setLogisticsCostIsSet(true);
  }

  public void unsetLogisticsCost() {
    __isset_bit_vector.clear(__LOGISTICSCOST_ISSET_ID);
  }

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

  public void setLogisticsCostIsSet(boolean value) {
    __isset_bit_vector.set(__LOGISTICSCOST_ISSET_ID, value);
  }

  public double getCodCollectionCharges() {
    return this.codCollectionCharges;
  }

  public void setCodCollectionCharges(double codCollectionCharges) {
    this.codCollectionCharges = codCollectionCharges;
    setCodCollectionChargesIsSet(true);
  }

  public void unsetCodCollectionCharges() {
    __isset_bit_vector.clear(__CODCOLLECTIONCHARGES_ISSET_ID);
  }

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

  public void setCodCollectionChargesIsSet(boolean value) {
    __isset_bit_vector.set(__CODCOLLECTIONCHARGES_ISSET_ID, value);
  }

  public double getReturnQty() {
    return this.returnQty;
  }

  public void setReturnQty(double returnQty) {
    this.returnQty = returnQty;
    setReturnQtyIsSet(true);
  }

  public void unsetReturnQty() {
    __isset_bit_vector.clear(__RETURNQTY_ISSET_ID);
  }

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

  public void setReturnQtyIsSet(boolean value) {
    __isset_bit_vector.set(__RETURNQTY_ISSET_ID, value);
  }

  public long getDamaged_expiry_timestamp() {
    return this.damaged_expiry_timestamp;
  }

  public void setDamaged_expiry_timestamp(long damaged_expiry_timestamp) {
    this.damaged_expiry_timestamp = damaged_expiry_timestamp;
    setDamaged_expiry_timestampIsSet(true);
  }

  public void unsetDamaged_expiry_timestamp() {
    __isset_bit_vector.clear(__DAMAGED_EXPIRY_TIMESTAMP_ISSET_ID);
  }

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

  public void setDamaged_expiry_timestampIsSet(boolean value) {
    __isset_bit_vector.set(__DAMAGED_EXPIRY_TIMESTAMP_ISSET_ID, value);
  }

  public double getIgstRate() {
    return this.igstRate;
  }

  public void setIgstRate(double igstRate) {
    this.igstRate = igstRate;
    setIgstRateIsSet(true);
  }

  public void unsetIgstRate() {
    __isset_bit_vector.clear(__IGSTRATE_ISSET_ID);
  }

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

  public void setIgstRateIsSet(boolean value) {
    __isset_bit_vector.set(__IGSTRATE_ISSET_ID, value);
  }

  public double getCgstRate() {
    return this.cgstRate;
  }

  public void setCgstRate(double cgstRate) {
    this.cgstRate = cgstRate;
    setCgstRateIsSet(true);
  }

  public void unsetCgstRate() {
    __isset_bit_vector.clear(__CGSTRATE_ISSET_ID);
  }

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

  public void setCgstRateIsSet(boolean value) {
    __isset_bit_vector.set(__CGSTRATE_ISSET_ID, value);
  }

  public double getSgstRate() {
    return this.sgstRate;
  }

  public void setSgstRate(double sgstRate) {
    this.sgstRate = sgstRate;
    setSgstRateIsSet(true);
  }

  public void unsetSgstRate() {
    __isset_bit_vector.clear(__SGSTRATE_ISSET_ID);
  }

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

  public void setSgstRateIsSet(boolean value) {
    __isset_bit_vector.set(__SGSTRATE_ISSET_ID, value);
  }

  public String getHsnCode() {
    return this.hsnCode;
  }

  public void setHsnCode(String hsnCode) {
    this.hsnCode = hsnCode;
  }

  public void unsetHsnCode() {
    this.hsnCode = null;
  }

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

  public void setHsnCodeIsSet(boolean value) {
    if (!value) {
      this.hsnCode = null;
    }
  }

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

    case ITEM_ID:
      if (value == null) {
        unsetItem_id();
      } else {
        setItem_id((Long)value);
      }
      break;

    case PRODUCT_GROUP:
      if (value == null) {
        unsetProductGroup();
      } else {
        setProductGroup((String)value);
      }
      break;

    case BRAND:
      if (value == null) {
        unsetBrand();
      } else {
        setBrand((String)value);
      }
      break;

    case MODEL_NUMBER:
      if (value == null) {
        unsetModel_number();
      } else {
        setModel_number((String)value);
      }
      break;

    case COLOR:
      if (value == null) {
        unsetColor();
      } else {
        setColor((String)value);
      }
      break;

    case MODEL_NAME:
      if (value == null) {
        unsetModel_name();
      } else {
        setModel_name((String)value);
      }
      break;

    case EXTRA_INFO:
      if (value == null) {
        unsetExtra_info();
      } else {
        setExtra_info((String)value);
      }
      break;

    case QUANTITY:
      if (value == null) {
        unsetQuantity();
      } else {
        setQuantity((Double)value);
      }
      break;

    case MRP:
      if (value == null) {
        unsetMrp();
      } else {
        setMrp((Double)value);
      }
      break;

    case UNIT_PRICE:
      if (value == null) {
        unsetUnit_price();
      } else {
        setUnit_price((Double)value);
      }
      break;

    case UNIT_WEIGHT:
      if (value == null) {
        unsetUnit_weight();
      } else {
        setUnit_weight((Double)value);
      }
      break;

    case TOTAL_PRICE:
      if (value == null) {
        unsetTotal_price();
      } else {
        setTotal_price((Double)value);
      }
      break;

    case TRANSFER_PRICE:
      if (value == null) {
        unsetTransfer_price();
      } else {
        setTransfer_price((Double)value);
      }
      break;

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

    case SERIAL_NUMBER:
      if (value == null) {
        unsetSerial_number();
      } else {
        setSerial_number((String)value);
      }
      break;

    case ITEM_NUMBER:
      if (value == null) {
        unsetItem_number();
      } else {
        setItem_number((String)value);
      }
      break;

    case DEAL_TEXT:
      if (value == null) {
        unsetDealText();
      } else {
        setDealText((String)value);
      }
      break;

    case WARRANTRY_EXPIRY_TIMESTAMP:
      if (value == null) {
        unsetWarrantry_expiry_timestamp();
      } else {
        setWarrantry_expiry_timestamp((Long)value);
      }
      break;

    case VAT_RATE:
      if (value == null) {
        unsetVatRate();
      } else {
        setVatRate((Double)value);
      }
      break;

    case NLC:
      if (value == null) {
        unsetNlc();
      } else {
        setNlc((Double)value);
      }
      break;

    case LOGISTICS_COST:
      if (value == null) {
        unsetLogisticsCost();
      } else {
        setLogisticsCost((Double)value);
      }
      break;

    case COD_COLLECTION_CHARGES:
      if (value == null) {
        unsetCodCollectionCharges();
      } else {
        setCodCollectionCharges((Double)value);
      }
      break;

    case RETURN_QTY:
      if (value == null) {
        unsetReturnQty();
      } else {
        setReturnQty((Double)value);
      }
      break;

    case DAMAGED_EXPIRY_TIMESTAMP:
      if (value == null) {
        unsetDamaged_expiry_timestamp();
      } else {
        setDamaged_expiry_timestamp((Long)value);
      }
      break;

    case IGST_RATE:
      if (value == null) {
        unsetIgstRate();
      } else {
        setIgstRate((Double)value);
      }
      break;

    case CGST_RATE:
      if (value == null) {
        unsetCgstRate();
      } else {
        setCgstRate((Double)value);
      }
      break;

    case SGST_RATE:
      if (value == null) {
        unsetSgstRate();
      } else {
        setSgstRate((Double)value);
      }
      break;

    case HSN_CODE:
      if (value == null) {
        unsetHsnCode();
      } else {
        setHsnCode((String)value);
      }
      break;

    }
  }

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

    case ITEM_ID:
      return Long.valueOf(getItem_id());

    case PRODUCT_GROUP:
      return getProductGroup();

    case BRAND:
      return getBrand();

    case MODEL_NUMBER:
      return getModel_number();

    case COLOR:
      return getColor();

    case MODEL_NAME:
      return getModel_name();

    case EXTRA_INFO:
      return getExtra_info();

    case QUANTITY:
      return Double.valueOf(getQuantity());

    case MRP:
      return Double.valueOf(getMrp());

    case UNIT_PRICE:
      return Double.valueOf(getUnit_price());

    case UNIT_WEIGHT:
      return Double.valueOf(getUnit_weight());

    case TOTAL_PRICE:
      return Double.valueOf(getTotal_price());

    case TRANSFER_PRICE:
      return Double.valueOf(getTransfer_price());

    case TOTAL_WEIGHT:
      return Double.valueOf(getTotal_weight());

    case SERIAL_NUMBER:
      return getSerial_number();

    case ITEM_NUMBER:
      return getItem_number();

    case DEAL_TEXT:
      return getDealText();

    case WARRANTRY_EXPIRY_TIMESTAMP:
      return Long.valueOf(getWarrantry_expiry_timestamp());

    case VAT_RATE:
      return Double.valueOf(getVatRate());

    case NLC:
      return Double.valueOf(getNlc());

    case LOGISTICS_COST:
      return Double.valueOf(getLogisticsCost());

    case COD_COLLECTION_CHARGES:
      return Double.valueOf(getCodCollectionCharges());

    case RETURN_QTY:
      return Double.valueOf(getReturnQty());

    case DAMAGED_EXPIRY_TIMESTAMP:
      return Long.valueOf(getDamaged_expiry_timestamp());

    case IGST_RATE:
      return Double.valueOf(getIgstRate());

    case CGST_RATE:
      return Double.valueOf(getCgstRate());

    case SGST_RATE:
      return Double.valueOf(getSgstRate());

    case HSN_CODE:
      return getHsnCode();

    }
    throw new IllegalStateException();
  }

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

    switch (field) {
    case ID:
      return isSetId();
    case ITEM_ID:
      return isSetItem_id();
    case PRODUCT_GROUP:
      return isSetProductGroup();
    case BRAND:
      return isSetBrand();
    case MODEL_NUMBER:
      return isSetModel_number();
    case COLOR:
      return isSetColor();
    case MODEL_NAME:
      return isSetModel_name();
    case EXTRA_INFO:
      return isSetExtra_info();
    case QUANTITY:
      return isSetQuantity();
    case MRP:
      return isSetMrp();
    case UNIT_PRICE:
      return isSetUnit_price();
    case UNIT_WEIGHT:
      return isSetUnit_weight();
    case TOTAL_PRICE:
      return isSetTotal_price();
    case TRANSFER_PRICE:
      return isSetTransfer_price();
    case TOTAL_WEIGHT:
      return isSetTotal_weight();
    case SERIAL_NUMBER:
      return isSetSerial_number();
    case ITEM_NUMBER:
      return isSetItem_number();
    case DEAL_TEXT:
      return isSetDealText();
    case WARRANTRY_EXPIRY_TIMESTAMP:
      return isSetWarrantry_expiry_timestamp();
    case VAT_RATE:
      return isSetVatRate();
    case NLC:
      return isSetNlc();
    case LOGISTICS_COST:
      return isSetLogisticsCost();
    case COD_COLLECTION_CHARGES:
      return isSetCodCollectionCharges();
    case RETURN_QTY:
      return isSetReturnQty();
    case DAMAGED_EXPIRY_TIMESTAMP:
      return isSetDamaged_expiry_timestamp();
    case IGST_RATE:
      return isSetIgstRate();
    case CGST_RATE:
      return isSetCgstRate();
    case SGST_RATE:
      return isSetSgstRate();
    case HSN_CODE:
      return isSetHsnCode();
    }
    throw new IllegalStateException();
  }

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

  public boolean equals(LineItem 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_item_id = true;
    boolean that_present_item_id = true;
    if (this_present_item_id || that_present_item_id) {
      if (!(this_present_item_id && that_present_item_id))
        return false;
      if (this.item_id != that.item_id)
        return false;
    }

    boolean this_present_productGroup = true && this.isSetProductGroup();
    boolean that_present_productGroup = true && that.isSetProductGroup();
    if (this_present_productGroup || that_present_productGroup) {
      if (!(this_present_productGroup && that_present_productGroup))
        return false;
      if (!this.productGroup.equals(that.productGroup))
        return false;
    }

    boolean this_present_brand = true && this.isSetBrand();
    boolean that_present_brand = true && that.isSetBrand();
    if (this_present_brand || that_present_brand) {
      if (!(this_present_brand && that_present_brand))
        return false;
      if (!this.brand.equals(that.brand))
        return false;
    }

    boolean this_present_model_number = true && this.isSetModel_number();
    boolean that_present_model_number = true && that.isSetModel_number();
    if (this_present_model_number || that_present_model_number) {
      if (!(this_present_model_number && that_present_model_number))
        return false;
      if (!this.model_number.equals(that.model_number))
        return false;
    }

    boolean this_present_color = true && this.isSetColor();
    boolean that_present_color = true && that.isSetColor();
    if (this_present_color || that_present_color) {
      if (!(this_present_color && that_present_color))
        return false;
      if (!this.color.equals(that.color))
        return false;
    }

    boolean this_present_model_name = true && this.isSetModel_name();
    boolean that_present_model_name = true && that.isSetModel_name();
    if (this_present_model_name || that_present_model_name) {
      if (!(this_present_model_name && that_present_model_name))
        return false;
      if (!this.model_name.equals(that.model_name))
        return false;
    }

    boolean this_present_extra_info = true && this.isSetExtra_info();
    boolean that_present_extra_info = true && that.isSetExtra_info();
    if (this_present_extra_info || that_present_extra_info) {
      if (!(this_present_extra_info && that_present_extra_info))
        return false;
      if (!this.extra_info.equals(that.extra_info))
        return false;
    }

    boolean this_present_quantity = true;
    boolean that_present_quantity = true;
    if (this_present_quantity || that_present_quantity) {
      if (!(this_present_quantity && that_present_quantity))
        return false;
      if (this.quantity != that.quantity)
        return false;
    }

    boolean this_present_mrp = true;
    boolean that_present_mrp = true;
    if (this_present_mrp || that_present_mrp) {
      if (!(this_present_mrp && that_present_mrp))
        return false;
      if (this.mrp != that.mrp)
        return false;
    }

    boolean this_present_unit_price = true;
    boolean that_present_unit_price = true;
    if (this_present_unit_price || that_present_unit_price) {
      if (!(this_present_unit_price && that_present_unit_price))
        return false;
      if (this.unit_price != that.unit_price)
        return false;
    }

    boolean this_present_unit_weight = true;
    boolean that_present_unit_weight = true;
    if (this_present_unit_weight || that_present_unit_weight) {
      if (!(this_present_unit_weight && that_present_unit_weight))
        return false;
      if (this.unit_weight != that.unit_weight)
        return false;
    }

    boolean this_present_total_price = true;
    boolean that_present_total_price = true;
    if (this_present_total_price || that_present_total_price) {
      if (!(this_present_total_price && that_present_total_price))
        return false;
      if (this.total_price != that.total_price)
        return false;
    }

    boolean this_present_transfer_price = true;
    boolean that_present_transfer_price = true;
    if (this_present_transfer_price || that_present_transfer_price) {
      if (!(this_present_transfer_price && that_present_transfer_price))
        return false;
      if (this.transfer_price != that.transfer_price)
        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_serial_number = true && this.isSetSerial_number();
    boolean that_present_serial_number = true && that.isSetSerial_number();
    if (this_present_serial_number || that_present_serial_number) {
      if (!(this_present_serial_number && that_present_serial_number))
        return false;
      if (!this.serial_number.equals(that.serial_number))
        return false;
    }

    boolean this_present_item_number = true && this.isSetItem_number();
    boolean that_present_item_number = true && that.isSetItem_number();
    if (this_present_item_number || that_present_item_number) {
      if (!(this_present_item_number && that_present_item_number))
        return false;
      if (!this.item_number.equals(that.item_number))
        return false;
    }

    boolean this_present_dealText = true && this.isSetDealText();
    boolean that_present_dealText = true && that.isSetDealText();
    if (this_present_dealText || that_present_dealText) {
      if (!(this_present_dealText && that_present_dealText))
        return false;
      if (!this.dealText.equals(that.dealText))
        return false;
    }

    boolean this_present_warrantry_expiry_timestamp = true;
    boolean that_present_warrantry_expiry_timestamp = true;
    if (this_present_warrantry_expiry_timestamp || that_present_warrantry_expiry_timestamp) {
      if (!(this_present_warrantry_expiry_timestamp && that_present_warrantry_expiry_timestamp))
        return false;
      if (this.warrantry_expiry_timestamp != that.warrantry_expiry_timestamp)
        return false;
    }

    boolean this_present_vatRate = true;
    boolean that_present_vatRate = true;
    if (this_present_vatRate || that_present_vatRate) {
      if (!(this_present_vatRate && that_present_vatRate))
        return false;
      if (this.vatRate != that.vatRate)
        return false;
    }

    boolean this_present_nlc = true;
    boolean that_present_nlc = true;
    if (this_present_nlc || that_present_nlc) {
      if (!(this_present_nlc && that_present_nlc))
        return false;
      if (this.nlc != that.nlc)
        return false;
    }

    boolean this_present_logisticsCost = true;
    boolean that_present_logisticsCost = true;
    if (this_present_logisticsCost || that_present_logisticsCost) {
      if (!(this_present_logisticsCost && that_present_logisticsCost))
        return false;
      if (this.logisticsCost != that.logisticsCost)
        return false;
    }

    boolean this_present_codCollectionCharges = true;
    boolean that_present_codCollectionCharges = true;
    if (this_present_codCollectionCharges || that_present_codCollectionCharges) {
      if (!(this_present_codCollectionCharges && that_present_codCollectionCharges))
        return false;
      if (this.codCollectionCharges != that.codCollectionCharges)
        return false;
    }

    boolean this_present_returnQty = true;
    boolean that_present_returnQty = true;
    if (this_present_returnQty || that_present_returnQty) {
      if (!(this_present_returnQty && that_present_returnQty))
        return false;
      if (this.returnQty != that.returnQty)
        return false;
    }

    boolean this_present_damaged_expiry_timestamp = true;
    boolean that_present_damaged_expiry_timestamp = true;
    if (this_present_damaged_expiry_timestamp || that_present_damaged_expiry_timestamp) {
      if (!(this_present_damaged_expiry_timestamp && that_present_damaged_expiry_timestamp))
        return false;
      if (this.damaged_expiry_timestamp != that.damaged_expiry_timestamp)
        return false;
    }

    boolean this_present_igstRate = true;
    boolean that_present_igstRate = true;
    if (this_present_igstRate || that_present_igstRate) {
      if (!(this_present_igstRate && that_present_igstRate))
        return false;
      if (this.igstRate != that.igstRate)
        return false;
    }

    boolean this_present_cgstRate = true;
    boolean that_present_cgstRate = true;
    if (this_present_cgstRate || that_present_cgstRate) {
      if (!(this_present_cgstRate && that_present_cgstRate))
        return false;
      if (this.cgstRate != that.cgstRate)
        return false;
    }

    boolean this_present_sgstRate = true;
    boolean that_present_sgstRate = true;
    if (this_present_sgstRate || that_present_sgstRate) {
      if (!(this_present_sgstRate && that_present_sgstRate))
        return false;
      if (this.sgstRate != that.sgstRate)
        return false;
    }

    boolean this_present_hsnCode = true && this.isSetHsnCode();
    boolean that_present_hsnCode = true && that.isSetHsnCode();
    if (this_present_hsnCode || that_present_hsnCode) {
      if (!(this_present_hsnCode && that_present_hsnCode))
        return false;
      if (!this.hsnCode.equals(that.hsnCode))
        return false;
    }

    return true;
  }

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

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

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

    lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetItem_id()).compareTo(typedOther.isSetItem_id());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetItem_id()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.item_id, typedOther.item_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetProductGroup()).compareTo(typedOther.isSetProductGroup());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetProductGroup()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productGroup, typedOther.productGroup);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetBrand()).compareTo(typedOther.isSetBrand());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetBrand()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.brand, typedOther.brand);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetModel_number()).compareTo(typedOther.isSetModel_number());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetModel_number()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.model_number, typedOther.model_number);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetColor()).compareTo(typedOther.isSetColor());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetColor()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.color, typedOther.color);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetModel_name()).compareTo(typedOther.isSetModel_name());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetModel_name()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.model_name, typedOther.model_name);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetExtra_info()).compareTo(typedOther.isSetExtra_info());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetExtra_info()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.extra_info, typedOther.extra_info);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetQuantity()).compareTo(typedOther.isSetQuantity());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetQuantity()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.quantity, typedOther.quantity);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMrp()).compareTo(typedOther.isSetMrp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMrp()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mrp, typedOther.mrp);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetUnit_price()).compareTo(typedOther.isSetUnit_price());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetUnit_price()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.unit_price, typedOther.unit_price);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetUnit_weight()).compareTo(typedOther.isSetUnit_weight());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetUnit_weight()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.unit_weight, typedOther.unit_weight);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTotal_price()).compareTo(typedOther.isSetTotal_price());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTotal_price()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.total_price, typedOther.total_price);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTransfer_price()).compareTo(typedOther.isSetTransfer_price());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTransfer_price()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transfer_price, typedOther.transfer_price);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTotal_weight()).compareTo(typedOther.isSetTotal_weight());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTotal_weight()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.total_weight, typedOther.total_weight);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSerial_number()).compareTo(typedOther.isSetSerial_number());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSerial_number()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serial_number, typedOther.serial_number);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetItem_number()).compareTo(typedOther.isSetItem_number());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetItem_number()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.item_number, typedOther.item_number);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDealText()).compareTo(typedOther.isSetDealText());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDealText()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dealText, typedOther.dealText);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetWarrantry_expiry_timestamp()).compareTo(typedOther.isSetWarrantry_expiry_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetWarrantry_expiry_timestamp()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warrantry_expiry_timestamp, typedOther.warrantry_expiry_timestamp);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetVatRate()).compareTo(typedOther.isSetVatRate());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVatRate()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vatRate, typedOther.vatRate);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetNlc()).compareTo(typedOther.isSetNlc());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetNlc()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nlc, typedOther.nlc);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetLogisticsCost()).compareTo(typedOther.isSetLogisticsCost());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLogisticsCost()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logisticsCost, typedOther.logisticsCost);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCodCollectionCharges()).compareTo(typedOther.isSetCodCollectionCharges());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCodCollectionCharges()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.codCollectionCharges, typedOther.codCollectionCharges);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetReturnQty()).compareTo(typedOther.isSetReturnQty());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetReturnQty()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnQty, typedOther.returnQty);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDamaged_expiry_timestamp()).compareTo(typedOther.isSetDamaged_expiry_timestamp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDamaged_expiry_timestamp()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.damaged_expiry_timestamp, typedOther.damaged_expiry_timestamp);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetIgstRate()).compareTo(typedOther.isSetIgstRate());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIgstRate()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.igstRate, typedOther.igstRate);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCgstRate()).compareTo(typedOther.isSetCgstRate());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCgstRate()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cgstRate, typedOther.cgstRate);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSgstRate()).compareTo(typedOther.isSetSgstRate());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSgstRate()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sgstRate, typedOther.sgstRate);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetHsnCode()).compareTo(typedOther.isSetHsnCode());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHsnCode()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hsnCode, typedOther.hsnCode);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    return 0;
  }

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

  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
    org.apache.thrift.protocol.TField field;
    iprot.readStructBegin();
    while (true)
    {
      field = iprot.readFieldBegin();
      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
        break;
      }
      switch (field.id) {
        case 1: // ID
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.id = iprot.readI64();
            setIdIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 2: // ITEM_ID
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.item_id = iprot.readI64();
            setItem_idIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 3: // PRODUCT_GROUP
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.productGroup = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 4: // BRAND
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.brand = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 5: // MODEL_NUMBER
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.model_number = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 6: // COLOR
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.color = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 7: // MODEL_NAME
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.model_name = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 8: // EXTRA_INFO
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.extra_info = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 9: // QUANTITY
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.quantity = iprot.readDouble();
            setQuantityIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 10: // MRP
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.mrp = iprot.readDouble();
            setMrpIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 11: // UNIT_PRICE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.unit_price = iprot.readDouble();
            setUnit_priceIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 12: // UNIT_WEIGHT
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.unit_weight = iprot.readDouble();
            setUnit_weightIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 13: // TOTAL_PRICE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.total_price = iprot.readDouble();
            setTotal_priceIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 14: // TRANSFER_PRICE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.transfer_price = iprot.readDouble();
            setTransfer_priceIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 15: // TOTAL_WEIGHT
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.total_weight = iprot.readDouble();
            setTotal_weightIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 16: // SERIAL_NUMBER
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.serial_number = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 17: // ITEM_NUMBER
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.item_number = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 18: // DEAL_TEXT
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.dealText = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 19: // WARRANTRY_EXPIRY_TIMESTAMP
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.warrantry_expiry_timestamp = iprot.readI64();
            setWarrantry_expiry_timestampIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 20: // VAT_RATE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.vatRate = iprot.readDouble();
            setVatRateIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 21: // NLC
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.nlc = iprot.readDouble();
            setNlcIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 22: // LOGISTICS_COST
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.logisticsCost = iprot.readDouble();
            setLogisticsCostIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 23: // COD_COLLECTION_CHARGES
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.codCollectionCharges = iprot.readDouble();
            setCodCollectionChargesIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 24: // RETURN_QTY
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.returnQty = iprot.readDouble();
            setReturnQtyIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 25: // DAMAGED_EXPIRY_TIMESTAMP
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.damaged_expiry_timestamp = iprot.readI64();
            setDamaged_expiry_timestampIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 26: // IGST_RATE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.igstRate = iprot.readDouble();
            setIgstRateIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 27: // CGST_RATE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.cgstRate = iprot.readDouble();
            setCgstRateIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 28: // SGST_RATE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.sgstRate = iprot.readDouble();
            setSgstRateIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 29: // HSN_CODE
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.hsnCode = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        default:
          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
      }
      iprot.readFieldEnd();
    }
    iprot.readStructEnd();
    validate();
  }

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

    oprot.writeStructBegin(STRUCT_DESC);
    oprot.writeFieldBegin(ID_FIELD_DESC);
    oprot.writeI64(this.id);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
    oprot.writeI64(this.item_id);
    oprot.writeFieldEnd();
    if (this.productGroup != null) {
      oprot.writeFieldBegin(PRODUCT_GROUP_FIELD_DESC);
      oprot.writeString(this.productGroup);
      oprot.writeFieldEnd();
    }
    if (this.brand != null) {
      oprot.writeFieldBegin(BRAND_FIELD_DESC);
      oprot.writeString(this.brand);
      oprot.writeFieldEnd();
    }
    if (this.model_number != null) {
      oprot.writeFieldBegin(MODEL_NUMBER_FIELD_DESC);
      oprot.writeString(this.model_number);
      oprot.writeFieldEnd();
    }
    if (this.color != null) {
      oprot.writeFieldBegin(COLOR_FIELD_DESC);
      oprot.writeString(this.color);
      oprot.writeFieldEnd();
    }
    if (this.model_name != null) {
      oprot.writeFieldBegin(MODEL_NAME_FIELD_DESC);
      oprot.writeString(this.model_name);
      oprot.writeFieldEnd();
    }
    if (this.extra_info != null) {
      oprot.writeFieldBegin(EXTRA_INFO_FIELD_DESC);
      oprot.writeString(this.extra_info);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(QUANTITY_FIELD_DESC);
    oprot.writeDouble(this.quantity);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MRP_FIELD_DESC);
    oprot.writeDouble(this.mrp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(UNIT_PRICE_FIELD_DESC);
    oprot.writeDouble(this.unit_price);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(UNIT_WEIGHT_FIELD_DESC);
    oprot.writeDouble(this.unit_weight);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(TOTAL_PRICE_FIELD_DESC);
    oprot.writeDouble(this.total_price);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(TRANSFER_PRICE_FIELD_DESC);
    oprot.writeDouble(this.transfer_price);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(TOTAL_WEIGHT_FIELD_DESC);
    oprot.writeDouble(this.total_weight);
    oprot.writeFieldEnd();
    if (this.serial_number != null) {
      if (isSetSerial_number()) {
        oprot.writeFieldBegin(SERIAL_NUMBER_FIELD_DESC);
        oprot.writeString(this.serial_number);
        oprot.writeFieldEnd();
      }
    }
    if (this.item_number != null) {
      if (isSetItem_number()) {
        oprot.writeFieldBegin(ITEM_NUMBER_FIELD_DESC);
        oprot.writeString(this.item_number);
        oprot.writeFieldEnd();
      }
    }
    if (this.dealText != null) {
      if (isSetDealText()) {
        oprot.writeFieldBegin(DEAL_TEXT_FIELD_DESC);
        oprot.writeString(this.dealText);
        oprot.writeFieldEnd();
      }
    }
    oprot.writeFieldBegin(WARRANTRY_EXPIRY_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.warrantry_expiry_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(VAT_RATE_FIELD_DESC);
    oprot.writeDouble(this.vatRate);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(NLC_FIELD_DESC);
    oprot.writeDouble(this.nlc);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(LOGISTICS_COST_FIELD_DESC);
    oprot.writeDouble(this.logisticsCost);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(COD_COLLECTION_CHARGES_FIELD_DESC);
    oprot.writeDouble(this.codCollectionCharges);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(RETURN_QTY_FIELD_DESC);
    oprot.writeDouble(this.returnQty);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(DAMAGED_EXPIRY_TIMESTAMP_FIELD_DESC);
    oprot.writeI64(this.damaged_expiry_timestamp);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(IGST_RATE_FIELD_DESC);
    oprot.writeDouble(this.igstRate);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(CGST_RATE_FIELD_DESC);
    oprot.writeDouble(this.cgstRate);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(SGST_RATE_FIELD_DESC);
    oprot.writeDouble(this.sgstRate);
    oprot.writeFieldEnd();
    if (this.hsnCode != null) {
      oprot.writeFieldBegin(HSN_CODE_FIELD_DESC);
      oprot.writeString(this.hsnCode);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

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

    sb.append("id:");
    sb.append(this.id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("item_id:");
    sb.append(this.item_id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("productGroup:");
    if (this.productGroup == null) {
      sb.append("null");
    } else {
      sb.append(this.productGroup);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("brand:");
    if (this.brand == null) {
      sb.append("null");
    } else {
      sb.append(this.brand);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("model_number:");
    if (this.model_number == null) {
      sb.append("null");
    } else {
      sb.append(this.model_number);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("color:");
    if (this.color == null) {
      sb.append("null");
    } else {
      sb.append(this.color);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("model_name:");
    if (this.model_name == null) {
      sb.append("null");
    } else {
      sb.append(this.model_name);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("extra_info:");
    if (this.extra_info == null) {
      sb.append("null");
    } else {
      sb.append(this.extra_info);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("quantity:");
    sb.append(this.quantity);
    first = false;
    if (!first) sb.append(", ");
    sb.append("mrp:");
    sb.append(this.mrp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("unit_price:");
    sb.append(this.unit_price);
    first = false;
    if (!first) sb.append(", ");
    sb.append("unit_weight:");
    sb.append(this.unit_weight);
    first = false;
    if (!first) sb.append(", ");
    sb.append("total_price:");
    sb.append(this.total_price);
    first = false;
    if (!first) sb.append(", ");
    sb.append("transfer_price:");
    sb.append(this.transfer_price);
    first = false;
    if (!first) sb.append(", ");
    sb.append("total_weight:");
    sb.append(this.total_weight);
    first = false;
    if (isSetSerial_number()) {
      if (!first) sb.append(", ");
      sb.append("serial_number:");
      if (this.serial_number == null) {
        sb.append("null");
      } else {
        sb.append(this.serial_number);
      }
      first = false;
    }
    if (isSetItem_number()) {
      if (!first) sb.append(", ");
      sb.append("item_number:");
      if (this.item_number == null) {
        sb.append("null");
      } else {
        sb.append(this.item_number);
      }
      first = false;
    }
    if (isSetDealText()) {
      if (!first) sb.append(", ");
      sb.append("dealText:");
      if (this.dealText == null) {
        sb.append("null");
      } else {
        sb.append(this.dealText);
      }
      first = false;
    }
    if (!first) sb.append(", ");
    sb.append("warrantry_expiry_timestamp:");
    sb.append(this.warrantry_expiry_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("vatRate:");
    sb.append(this.vatRate);
    first = false;
    if (!first) sb.append(", ");
    sb.append("nlc:");
    sb.append(this.nlc);
    first = false;
    if (!first) sb.append(", ");
    sb.append("logisticsCost:");
    sb.append(this.logisticsCost);
    first = false;
    if (!first) sb.append(", ");
    sb.append("codCollectionCharges:");
    sb.append(this.codCollectionCharges);
    first = false;
    if (!first) sb.append(", ");
    sb.append("returnQty:");
    sb.append(this.returnQty);
    first = false;
    if (!first) sb.append(", ");
    sb.append("damaged_expiry_timestamp:");
    sb.append(this.damaged_expiry_timestamp);
    first = false;
    if (!first) sb.append(", ");
    sb.append("igstRate:");
    sb.append(this.igstRate);
    first = false;
    if (!first) sb.append(", ");
    sb.append("cgstRate:");
    sb.append(this.cgstRate);
    first = false;
    if (!first) sb.append(", ");
    sb.append("sgstRate:");
    sb.append(this.sgstRate);
    first = false;
    if (!first) sb.append(", ");
    sb.append("hsnCode:");
    if (this.hsnCode == null) {
      sb.append("null");
    } else {
      sb.append(this.hsnCode);
    }
    first = false;
    sb.append(")");
    return sb.toString();
  }

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

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

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

}