Subversion Repositories SmartDukaan

Rev

Rev 9724 | Rev 11095 | Go to most recent revision | 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.catalog;

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

  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)1);
  private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)2);
  private static final org.apache.thrift.protocol.TField EXCEPTION_PRICE_FIELD_DESC = new org.apache.thrift.protocol.TField("exceptionPrice", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
  private static final org.apache.thrift.protocol.TField IS_LISTED_ON_SNAPDEAL_FIELD_DESC = new org.apache.thrift.protocol.TField("isListedOnSnapdeal", org.apache.thrift.protocol.TType.BOOL, (short)4);
  private static final org.apache.thrift.protocol.TField TRANSFER_PRICE_FIELD_DESC = new org.apache.thrift.protocol.TField("transferPrice", org.apache.thrift.protocol.TType.DOUBLE, (short)5);
  private static final org.apache.thrift.protocol.TField SELLING_PRICE_FIELD_DESC = new org.apache.thrift.protocol.TField("sellingPrice", org.apache.thrift.protocol.TType.DOUBLE, (short)6);
  private static final org.apache.thrift.protocol.TField COURIER_COST_FIELD_DESC = new org.apache.thrift.protocol.TField("courierCost", org.apache.thrift.protocol.TType.DOUBLE, (short)7);
  private static final org.apache.thrift.protocol.TField COMMISSION_FIELD_DESC = new org.apache.thrift.protocol.TField("commission", org.apache.thrift.protocol.TType.DOUBLE, (short)8);
  private static final org.apache.thrift.protocol.TField SERVICE_TAX_FIELD_DESC = new org.apache.thrift.protocol.TField("serviceTax", org.apache.thrift.protocol.TType.DOUBLE, (short)9);
  private static final org.apache.thrift.protocol.TField SUPPRESS_PRICE_FEED_FIELD_DESC = new org.apache.thrift.protocol.TField("suppressPriceFeed", org.apache.thrift.protocol.TType.BOOL, (short)10);
  private static final org.apache.thrift.protocol.TField SUPPRESS_INVENTORY_FEED_FIELD_DESC = new org.apache.thrift.protocol.TField("suppressInventoryFeed", org.apache.thrift.protocol.TType.BOOL, (short)11);
  private static final org.apache.thrift.protocol.TField MAX_NLC_FIELD_DESC = new org.apache.thrift.protocol.TField("maxNlc", org.apache.thrift.protocol.TType.DOUBLE, (short)12);
  private static final org.apache.thrift.protocol.TField SKU_AT_SNAPDEAL_FIELD_DESC = new org.apache.thrift.protocol.TField("skuAtSnapdeal", org.apache.thrift.protocol.TType.STRING, (short)13);
  private static final org.apache.thrift.protocol.TField SUPC_FIELD_DESC = new org.apache.thrift.protocol.TField("supc", org.apache.thrift.protocol.TType.STRING, (short)14);
  private static final org.apache.thrift.protocol.TField SHIPPING_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("shippingTime", org.apache.thrift.protocol.TType.STRING, (short)15);
  private static final org.apache.thrift.protocol.TField UPDATED_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedBy", org.apache.thrift.protocol.TType.STRING, (short)16);
  private static final org.apache.thrift.protocol.TField MARKETPLACE_ITEMS_FIELD_DESC = new org.apache.thrift.protocol.TField("marketplaceItems", org.apache.thrift.protocol.TType.STRUCT, (short)17);

  private long item_id; // required
  private long warehouseId; // required
  private double exceptionPrice; // required
  private boolean isListedOnSnapdeal; // required
  private double transferPrice; // required
  private double sellingPrice; // required
  private double courierCost; // required
  private double commission; // required
  private double serviceTax; // required
  private boolean suppressPriceFeed; // required
  private boolean suppressInventoryFeed; // required
  private double maxNlc; // required
  private String skuAtSnapdeal; // required
  private String supc; // required
  private String shippingTime; // required
  private String updatedBy; // required
  private MarketplaceItems marketplaceItems; // 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 {
    ITEM_ID((short)1, "item_id"),
    WAREHOUSE_ID((short)2, "warehouseId"),
    EXCEPTION_PRICE((short)3, "exceptionPrice"),
    IS_LISTED_ON_SNAPDEAL((short)4, "isListedOnSnapdeal"),
    TRANSFER_PRICE((short)5, "transferPrice"),
    SELLING_PRICE((short)6, "sellingPrice"),
    COURIER_COST((short)7, "courierCost"),
    COMMISSION((short)8, "commission"),
    SERVICE_TAX((short)9, "serviceTax"),
    SUPPRESS_PRICE_FEED((short)10, "suppressPriceFeed"),
    SUPPRESS_INVENTORY_FEED((short)11, "suppressInventoryFeed"),
    MAX_NLC((short)12, "maxNlc"),
    SKU_AT_SNAPDEAL((short)13, "skuAtSnapdeal"),
    SUPC((short)14, "supc"),
    SHIPPING_TIME((short)15, "shippingTime"),
    UPDATED_BY((short)16, "updatedBy"),
    MARKETPLACE_ITEMS((short)17, "marketplaceItems");

    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: // ITEM_ID
          return ITEM_ID;
        case 2: // WAREHOUSE_ID
          return WAREHOUSE_ID;
        case 3: // EXCEPTION_PRICE
          return EXCEPTION_PRICE;
        case 4: // IS_LISTED_ON_SNAPDEAL
          return IS_LISTED_ON_SNAPDEAL;
        case 5: // TRANSFER_PRICE
          return TRANSFER_PRICE;
        case 6: // SELLING_PRICE
          return SELLING_PRICE;
        case 7: // COURIER_COST
          return COURIER_COST;
        case 8: // COMMISSION
          return COMMISSION;
        case 9: // SERVICE_TAX
          return SERVICE_TAX;
        case 10: // SUPPRESS_PRICE_FEED
          return SUPPRESS_PRICE_FEED;
        case 11: // SUPPRESS_INVENTORY_FEED
          return SUPPRESS_INVENTORY_FEED;
        case 12: // MAX_NLC
          return MAX_NLC;
        case 13: // SKU_AT_SNAPDEAL
          return SKU_AT_SNAPDEAL;
        case 14: // SUPC
          return SUPC;
        case 15: // SHIPPING_TIME
          return SHIPPING_TIME;
        case 16: // UPDATED_BY
          return UPDATED_BY;
        case 17: // MARKETPLACE_ITEMS
          return MARKETPLACE_ITEMS;
        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 __ITEM_ID_ISSET_ID = 0;
  private static final int __WAREHOUSEID_ISSET_ID = 1;
  private static final int __EXCEPTIONPRICE_ISSET_ID = 2;
  private static final int __ISLISTEDONSNAPDEAL_ISSET_ID = 3;
  private static final int __TRANSFERPRICE_ISSET_ID = 4;
  private static final int __SELLINGPRICE_ISSET_ID = 5;
  private static final int __COURIERCOST_ISSET_ID = 6;
  private static final int __COMMISSION_ISSET_ID = 7;
  private static final int __SERVICETAX_ISSET_ID = 8;
  private static final int __SUPPRESSPRICEFEED_ISSET_ID = 9;
  private static final int __SUPPRESSINVENTORYFEED_ISSET_ID = 10;
  private static final int __MAXNLC_ISSET_ID = 11;
  private BitSet __isset_bit_vector = new BitSet(12);

  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.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.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.EXCEPTION_PRICE, new org.apache.thrift.meta_data.FieldMetaData("exceptionPrice", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.IS_LISTED_ON_SNAPDEAL, new org.apache.thrift.meta_data.FieldMetaData("isListedOnSnapdeal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.TRANSFER_PRICE, new org.apache.thrift.meta_data.FieldMetaData("transferPrice", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.SELLING_PRICE, new org.apache.thrift.meta_data.FieldMetaData("sellingPrice", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.COURIER_COST, new org.apache.thrift.meta_data.FieldMetaData("courierCost", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.COMMISSION, new org.apache.thrift.meta_data.FieldMetaData("commission", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.SERVICE_TAX, new org.apache.thrift.meta_data.FieldMetaData("serviceTax", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.SUPPRESS_PRICE_FEED, new org.apache.thrift.meta_data.FieldMetaData("suppressPriceFeed", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.SUPPRESS_INVENTORY_FEED, new org.apache.thrift.meta_data.FieldMetaData("suppressInventoryFeed", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.MAX_NLC, new org.apache.thrift.meta_data.FieldMetaData("maxNlc", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.SKU_AT_SNAPDEAL, new org.apache.thrift.meta_data.FieldMetaData("skuAtSnapdeal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.SUPC, new org.apache.thrift.meta_data.FieldMetaData("supc", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.SHIPPING_TIME, new org.apache.thrift.meta_data.FieldMetaData("shippingTime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.UPDATED_BY, new org.apache.thrift.meta_data.FieldMetaData("updatedBy", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.MARKETPLACE_ITEMS, new org.apache.thrift.meta_data.FieldMetaData("marketplaceItems", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MarketplaceItems.class)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SnapdealItem.class, metaDataMap);
  }

  public SnapdealItem() {
  }

  public SnapdealItem(
    long item_id,
    long warehouseId,
    double exceptionPrice,
    boolean isListedOnSnapdeal,
    double transferPrice,
    double sellingPrice,
    double courierCost,
    double commission,
    double serviceTax,
    boolean suppressPriceFeed,
    boolean suppressInventoryFeed,
    double maxNlc,
    String skuAtSnapdeal,
    String supc,
    String shippingTime,
    String updatedBy,
    MarketplaceItems marketplaceItems)
  {
    this();
    this.item_id = item_id;
    setItem_idIsSet(true);
    this.warehouseId = warehouseId;
    setWarehouseIdIsSet(true);
    this.exceptionPrice = exceptionPrice;
    setExceptionPriceIsSet(true);
    this.isListedOnSnapdeal = isListedOnSnapdeal;
    setIsListedOnSnapdealIsSet(true);
    this.transferPrice = transferPrice;
    setTransferPriceIsSet(true);
    this.sellingPrice = sellingPrice;
    setSellingPriceIsSet(true);
    this.courierCost = courierCost;
    setCourierCostIsSet(true);
    this.commission = commission;
    setCommissionIsSet(true);
    this.serviceTax = serviceTax;
    setServiceTaxIsSet(true);
    this.suppressPriceFeed = suppressPriceFeed;
    setSuppressPriceFeedIsSet(true);
    this.suppressInventoryFeed = suppressInventoryFeed;
    setSuppressInventoryFeedIsSet(true);
    this.maxNlc = maxNlc;
    setMaxNlcIsSet(true);
    this.skuAtSnapdeal = skuAtSnapdeal;
    this.supc = supc;
    this.shippingTime = shippingTime;
    this.updatedBy = updatedBy;
    this.marketplaceItems = marketplaceItems;
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public SnapdealItem(SnapdealItem other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    this.item_id = other.item_id;
    this.warehouseId = other.warehouseId;
    this.exceptionPrice = other.exceptionPrice;
    this.isListedOnSnapdeal = other.isListedOnSnapdeal;
    this.transferPrice = other.transferPrice;
    this.sellingPrice = other.sellingPrice;
    this.courierCost = other.courierCost;
    this.commission = other.commission;
    this.serviceTax = other.serviceTax;
    this.suppressPriceFeed = other.suppressPriceFeed;
    this.suppressInventoryFeed = other.suppressInventoryFeed;
    this.maxNlc = other.maxNlc;
    if (other.isSetSkuAtSnapdeal()) {
      this.skuAtSnapdeal = other.skuAtSnapdeal;
    }
    if (other.isSetSupc()) {
      this.supc = other.supc;
    }
    if (other.isSetShippingTime()) {
      this.shippingTime = other.shippingTime;
    }
    if (other.isSetUpdatedBy()) {
      this.updatedBy = other.updatedBy;
    }
    if (other.isSetMarketplaceItems()) {
      this.marketplaceItems = new MarketplaceItems(other.marketplaceItems);
    }
  }

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

  @Override
  public void clear() {
    setItem_idIsSet(false);
    this.item_id = 0;
    setWarehouseIdIsSet(false);
    this.warehouseId = 0;
    setExceptionPriceIsSet(false);
    this.exceptionPrice = 0.0;
    setIsListedOnSnapdealIsSet(false);
    this.isListedOnSnapdeal = false;
    setTransferPriceIsSet(false);
    this.transferPrice = 0.0;
    setSellingPriceIsSet(false);
    this.sellingPrice = 0.0;
    setCourierCostIsSet(false);
    this.courierCost = 0.0;
    setCommissionIsSet(false);
    this.commission = 0.0;
    setServiceTaxIsSet(false);
    this.serviceTax = 0.0;
    setSuppressPriceFeedIsSet(false);
    this.suppressPriceFeed = false;
    setSuppressInventoryFeedIsSet(false);
    this.suppressInventoryFeed = false;
    setMaxNlcIsSet(false);
    this.maxNlc = 0.0;
    this.skuAtSnapdeal = null;
    this.supc = null;
    this.shippingTime = null;
    this.updatedBy = null;
    this.marketplaceItems = null;
  }

  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 long getWarehouseId() {
    return this.warehouseId;
  }

  public void setWarehouseId(long warehouseId) {
    this.warehouseId = warehouseId;
    setWarehouseIdIsSet(true);
  }

  public void unsetWarehouseId() {
    __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
  }

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

  public void setWarehouseIdIsSet(boolean value) {
    __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
  }

  public double getExceptionPrice() {
    return this.exceptionPrice;
  }

  public void setExceptionPrice(double exceptionPrice) {
    this.exceptionPrice = exceptionPrice;
    setExceptionPriceIsSet(true);
  }

  public void unsetExceptionPrice() {
    __isset_bit_vector.clear(__EXCEPTIONPRICE_ISSET_ID);
  }

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

  public void setExceptionPriceIsSet(boolean value) {
    __isset_bit_vector.set(__EXCEPTIONPRICE_ISSET_ID, value);
  }

  public boolean isIsListedOnSnapdeal() {
    return this.isListedOnSnapdeal;
  }

  public void setIsListedOnSnapdeal(boolean isListedOnSnapdeal) {
    this.isListedOnSnapdeal = isListedOnSnapdeal;
    setIsListedOnSnapdealIsSet(true);
  }

  public void unsetIsListedOnSnapdeal() {
    __isset_bit_vector.clear(__ISLISTEDONSNAPDEAL_ISSET_ID);
  }

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

  public void setIsListedOnSnapdealIsSet(boolean value) {
    __isset_bit_vector.set(__ISLISTEDONSNAPDEAL_ISSET_ID, value);
  }

  public double getTransferPrice() {
    return this.transferPrice;
  }

  public void setTransferPrice(double transferPrice) {
    this.transferPrice = transferPrice;
    setTransferPriceIsSet(true);
  }

  public void unsetTransferPrice() {
    __isset_bit_vector.clear(__TRANSFERPRICE_ISSET_ID);
  }

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

  public void setTransferPriceIsSet(boolean value) {
    __isset_bit_vector.set(__TRANSFERPRICE_ISSET_ID, value);
  }

  public double getSellingPrice() {
    return this.sellingPrice;
  }

  public void setSellingPrice(double sellingPrice) {
    this.sellingPrice = sellingPrice;
    setSellingPriceIsSet(true);
  }

  public void unsetSellingPrice() {
    __isset_bit_vector.clear(__SELLINGPRICE_ISSET_ID);
  }

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

  public void setSellingPriceIsSet(boolean value) {
    __isset_bit_vector.set(__SELLINGPRICE_ISSET_ID, value);
  }

  public double getCourierCost() {
    return this.courierCost;
  }

  public void setCourierCost(double courierCost) {
    this.courierCost = courierCost;
    setCourierCostIsSet(true);
  }

  public void unsetCourierCost() {
    __isset_bit_vector.clear(__COURIERCOST_ISSET_ID);
  }

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

  public void setCourierCostIsSet(boolean value) {
    __isset_bit_vector.set(__COURIERCOST_ISSET_ID, value);
  }

  public double getCommission() {
    return this.commission;
  }

  public void setCommission(double commission) {
    this.commission = commission;
    setCommissionIsSet(true);
  }

  public void unsetCommission() {
    __isset_bit_vector.clear(__COMMISSION_ISSET_ID);
  }

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

  public void setCommissionIsSet(boolean value) {
    __isset_bit_vector.set(__COMMISSION_ISSET_ID, value);
  }

  public double getServiceTax() {
    return this.serviceTax;
  }

  public void setServiceTax(double serviceTax) {
    this.serviceTax = serviceTax;
    setServiceTaxIsSet(true);
  }

  public void unsetServiceTax() {
    __isset_bit_vector.clear(__SERVICETAX_ISSET_ID);
  }

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

  public void setServiceTaxIsSet(boolean value) {
    __isset_bit_vector.set(__SERVICETAX_ISSET_ID, value);
  }

  public boolean isSuppressPriceFeed() {
    return this.suppressPriceFeed;
  }

  public void setSuppressPriceFeed(boolean suppressPriceFeed) {
    this.suppressPriceFeed = suppressPriceFeed;
    setSuppressPriceFeedIsSet(true);
  }

  public void unsetSuppressPriceFeed() {
    __isset_bit_vector.clear(__SUPPRESSPRICEFEED_ISSET_ID);
  }

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

  public void setSuppressPriceFeedIsSet(boolean value) {
    __isset_bit_vector.set(__SUPPRESSPRICEFEED_ISSET_ID, value);
  }

  public boolean isSuppressInventoryFeed() {
    return this.suppressInventoryFeed;
  }

  public void setSuppressInventoryFeed(boolean suppressInventoryFeed) {
    this.suppressInventoryFeed = suppressInventoryFeed;
    setSuppressInventoryFeedIsSet(true);
  }

  public void unsetSuppressInventoryFeed() {
    __isset_bit_vector.clear(__SUPPRESSINVENTORYFEED_ISSET_ID);
  }

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

  public void setSuppressInventoryFeedIsSet(boolean value) {
    __isset_bit_vector.set(__SUPPRESSINVENTORYFEED_ISSET_ID, value);
  }

  public double getMaxNlc() {
    return this.maxNlc;
  }

  public void setMaxNlc(double maxNlc) {
    this.maxNlc = maxNlc;
    setMaxNlcIsSet(true);
  }

  public void unsetMaxNlc() {
    __isset_bit_vector.clear(__MAXNLC_ISSET_ID);
  }

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

  public void setMaxNlcIsSet(boolean value) {
    __isset_bit_vector.set(__MAXNLC_ISSET_ID, value);
  }

  public String getSkuAtSnapdeal() {
    return this.skuAtSnapdeal;
  }

  public void setSkuAtSnapdeal(String skuAtSnapdeal) {
    this.skuAtSnapdeal = skuAtSnapdeal;
  }

  public void unsetSkuAtSnapdeal() {
    this.skuAtSnapdeal = null;
  }

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

  public void setSkuAtSnapdealIsSet(boolean value) {
    if (!value) {
      this.skuAtSnapdeal = null;
    }
  }

  public String getSupc() {
    return this.supc;
  }

  public void setSupc(String supc) {
    this.supc = supc;
  }

  public void unsetSupc() {
    this.supc = null;
  }

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

  public void setSupcIsSet(boolean value) {
    if (!value) {
      this.supc = null;
    }
  }

  public String getShippingTime() {
    return this.shippingTime;
  }

  public void setShippingTime(String shippingTime) {
    this.shippingTime = shippingTime;
  }

  public void unsetShippingTime() {
    this.shippingTime = null;
  }

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

  public void setShippingTimeIsSet(boolean value) {
    if (!value) {
      this.shippingTime = null;
    }
  }

  public String getUpdatedBy() {
    return this.updatedBy;
  }

  public void setUpdatedBy(String updatedBy) {
    this.updatedBy = updatedBy;
  }

  public void unsetUpdatedBy() {
    this.updatedBy = null;
  }

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

  public void setUpdatedByIsSet(boolean value) {
    if (!value) {
      this.updatedBy = null;
    }
  }

  public MarketplaceItems getMarketplaceItems() {
    return this.marketplaceItems;
  }

  public void setMarketplaceItems(MarketplaceItems marketplaceItems) {
    this.marketplaceItems = marketplaceItems;
  }

  public void unsetMarketplaceItems() {
    this.marketplaceItems = null;
  }

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

  public void setMarketplaceItemsIsSet(boolean value) {
    if (!value) {
      this.marketplaceItems = null;
    }
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case ITEM_ID:
      if (value == null) {
        unsetItem_id();
      } else {
        setItem_id((Long)value);
      }
      break;

    case WAREHOUSE_ID:
      if (value == null) {
        unsetWarehouseId();
      } else {
        setWarehouseId((Long)value);
      }
      break;

    case EXCEPTION_PRICE:
      if (value == null) {
        unsetExceptionPrice();
      } else {
        setExceptionPrice((Double)value);
      }
      break;

    case IS_LISTED_ON_SNAPDEAL:
      if (value == null) {
        unsetIsListedOnSnapdeal();
      } else {
        setIsListedOnSnapdeal((Boolean)value);
      }
      break;

    case TRANSFER_PRICE:
      if (value == null) {
        unsetTransferPrice();
      } else {
        setTransferPrice((Double)value);
      }
      break;

    case SELLING_PRICE:
      if (value == null) {
        unsetSellingPrice();
      } else {
        setSellingPrice((Double)value);
      }
      break;

    case COURIER_COST:
      if (value == null) {
        unsetCourierCost();
      } else {
        setCourierCost((Double)value);
      }
      break;

    case COMMISSION:
      if (value == null) {
        unsetCommission();
      } else {
        setCommission((Double)value);
      }
      break;

    case SERVICE_TAX:
      if (value == null) {
        unsetServiceTax();
      } else {
        setServiceTax((Double)value);
      }
      break;

    case SUPPRESS_PRICE_FEED:
      if (value == null) {
        unsetSuppressPriceFeed();
      } else {
        setSuppressPriceFeed((Boolean)value);
      }
      break;

    case SUPPRESS_INVENTORY_FEED:
      if (value == null) {
        unsetSuppressInventoryFeed();
      } else {
        setSuppressInventoryFeed((Boolean)value);
      }
      break;

    case MAX_NLC:
      if (value == null) {
        unsetMaxNlc();
      } else {
        setMaxNlc((Double)value);
      }
      break;

    case SKU_AT_SNAPDEAL:
      if (value == null) {
        unsetSkuAtSnapdeal();
      } else {
        setSkuAtSnapdeal((String)value);
      }
      break;

    case SUPC:
      if (value == null) {
        unsetSupc();
      } else {
        setSupc((String)value);
      }
      break;

    case SHIPPING_TIME:
      if (value == null) {
        unsetShippingTime();
      } else {
        setShippingTime((String)value);
      }
      break;

    case UPDATED_BY:
      if (value == null) {
        unsetUpdatedBy();
      } else {
        setUpdatedBy((String)value);
      }
      break;

    case MARKETPLACE_ITEMS:
      if (value == null) {
        unsetMarketplaceItems();
      } else {
        setMarketplaceItems((MarketplaceItems)value);
      }
      break;

    }
  }

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

    case WAREHOUSE_ID:
      return Long.valueOf(getWarehouseId());

    case EXCEPTION_PRICE:
      return Double.valueOf(getExceptionPrice());

    case IS_LISTED_ON_SNAPDEAL:
      return Boolean.valueOf(isIsListedOnSnapdeal());

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

    case SELLING_PRICE:
      return Double.valueOf(getSellingPrice());

    case COURIER_COST:
      return Double.valueOf(getCourierCost());

    case COMMISSION:
      return Double.valueOf(getCommission());

    case SERVICE_TAX:
      return Double.valueOf(getServiceTax());

    case SUPPRESS_PRICE_FEED:
      return Boolean.valueOf(isSuppressPriceFeed());

    case SUPPRESS_INVENTORY_FEED:
      return Boolean.valueOf(isSuppressInventoryFeed());

    case MAX_NLC:
      return Double.valueOf(getMaxNlc());

    case SKU_AT_SNAPDEAL:
      return getSkuAtSnapdeal();

    case SUPC:
      return getSupc();

    case SHIPPING_TIME:
      return getShippingTime();

    case UPDATED_BY:
      return getUpdatedBy();

    case MARKETPLACE_ITEMS:
      return getMarketplaceItems();

    }
    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 ITEM_ID:
      return isSetItem_id();
    case WAREHOUSE_ID:
      return isSetWarehouseId();
    case EXCEPTION_PRICE:
      return isSetExceptionPrice();
    case IS_LISTED_ON_SNAPDEAL:
      return isSetIsListedOnSnapdeal();
    case TRANSFER_PRICE:
      return isSetTransferPrice();
    case SELLING_PRICE:
      return isSetSellingPrice();
    case COURIER_COST:
      return isSetCourierCost();
    case COMMISSION:
      return isSetCommission();
    case SERVICE_TAX:
      return isSetServiceTax();
    case SUPPRESS_PRICE_FEED:
      return isSetSuppressPriceFeed();
    case SUPPRESS_INVENTORY_FEED:
      return isSetSuppressInventoryFeed();
    case MAX_NLC:
      return isSetMaxNlc();
    case SKU_AT_SNAPDEAL:
      return isSetSkuAtSnapdeal();
    case SUPC:
      return isSetSupc();
    case SHIPPING_TIME:
      return isSetShippingTime();
    case UPDATED_BY:
      return isSetUpdatedBy();
    case MARKETPLACE_ITEMS:
      return isSetMarketplaceItems();
    }
    throw new IllegalStateException();
  }

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

  public boolean equals(SnapdealItem that) {
    if (that == null)
      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_warehouseId = true;
    boolean that_present_warehouseId = true;
    if (this_present_warehouseId || that_present_warehouseId) {
      if (!(this_present_warehouseId && that_present_warehouseId))
        return false;
      if (this.warehouseId != that.warehouseId)
        return false;
    }

    boolean this_present_exceptionPrice = true;
    boolean that_present_exceptionPrice = true;
    if (this_present_exceptionPrice || that_present_exceptionPrice) {
      if (!(this_present_exceptionPrice && that_present_exceptionPrice))
        return false;
      if (this.exceptionPrice != that.exceptionPrice)
        return false;
    }

    boolean this_present_isListedOnSnapdeal = true;
    boolean that_present_isListedOnSnapdeal = true;
    if (this_present_isListedOnSnapdeal || that_present_isListedOnSnapdeal) {
      if (!(this_present_isListedOnSnapdeal && that_present_isListedOnSnapdeal))
        return false;
      if (this.isListedOnSnapdeal != that.isListedOnSnapdeal)
        return false;
    }

    boolean this_present_transferPrice = true;
    boolean that_present_transferPrice = true;
    if (this_present_transferPrice || that_present_transferPrice) {
      if (!(this_present_transferPrice && that_present_transferPrice))
        return false;
      if (this.transferPrice != that.transferPrice)
        return false;
    }

    boolean this_present_sellingPrice = true;
    boolean that_present_sellingPrice = true;
    if (this_present_sellingPrice || that_present_sellingPrice) {
      if (!(this_present_sellingPrice && that_present_sellingPrice))
        return false;
      if (this.sellingPrice != that.sellingPrice)
        return false;
    }

    boolean this_present_courierCost = true;
    boolean that_present_courierCost = true;
    if (this_present_courierCost || that_present_courierCost) {
      if (!(this_present_courierCost && that_present_courierCost))
        return false;
      if (this.courierCost != that.courierCost)
        return false;
    }

    boolean this_present_commission = true;
    boolean that_present_commission = true;
    if (this_present_commission || that_present_commission) {
      if (!(this_present_commission && that_present_commission))
        return false;
      if (this.commission != that.commission)
        return false;
    }

    boolean this_present_serviceTax = true;
    boolean that_present_serviceTax = true;
    if (this_present_serviceTax || that_present_serviceTax) {
      if (!(this_present_serviceTax && that_present_serviceTax))
        return false;
      if (this.serviceTax != that.serviceTax)
        return false;
    }

    boolean this_present_suppressPriceFeed = true;
    boolean that_present_suppressPriceFeed = true;
    if (this_present_suppressPriceFeed || that_present_suppressPriceFeed) {
      if (!(this_present_suppressPriceFeed && that_present_suppressPriceFeed))
        return false;
      if (this.suppressPriceFeed != that.suppressPriceFeed)
        return false;
    }

    boolean this_present_suppressInventoryFeed = true;
    boolean that_present_suppressInventoryFeed = true;
    if (this_present_suppressInventoryFeed || that_present_suppressInventoryFeed) {
      if (!(this_present_suppressInventoryFeed && that_present_suppressInventoryFeed))
        return false;
      if (this.suppressInventoryFeed != that.suppressInventoryFeed)
        return false;
    }

    boolean this_present_maxNlc = true;
    boolean that_present_maxNlc = true;
    if (this_present_maxNlc || that_present_maxNlc) {
      if (!(this_present_maxNlc && that_present_maxNlc))
        return false;
      if (this.maxNlc != that.maxNlc)
        return false;
    }

    boolean this_present_skuAtSnapdeal = true && this.isSetSkuAtSnapdeal();
    boolean that_present_skuAtSnapdeal = true && that.isSetSkuAtSnapdeal();
    if (this_present_skuAtSnapdeal || that_present_skuAtSnapdeal) {
      if (!(this_present_skuAtSnapdeal && that_present_skuAtSnapdeal))
        return false;
      if (!this.skuAtSnapdeal.equals(that.skuAtSnapdeal))
        return false;
    }

    boolean this_present_supc = true && this.isSetSupc();
    boolean that_present_supc = true && that.isSetSupc();
    if (this_present_supc || that_present_supc) {
      if (!(this_present_supc && that_present_supc))
        return false;
      if (!this.supc.equals(that.supc))
        return false;
    }

    boolean this_present_shippingTime = true && this.isSetShippingTime();
    boolean that_present_shippingTime = true && that.isSetShippingTime();
    if (this_present_shippingTime || that_present_shippingTime) {
      if (!(this_present_shippingTime && that_present_shippingTime))
        return false;
      if (!this.shippingTime.equals(that.shippingTime))
        return false;
    }

    boolean this_present_updatedBy = true && this.isSetUpdatedBy();
    boolean that_present_updatedBy = true && that.isSetUpdatedBy();
    if (this_present_updatedBy || that_present_updatedBy) {
      if (!(this_present_updatedBy && that_present_updatedBy))
        return false;
      if (!this.updatedBy.equals(that.updatedBy))
        return false;
    }

    boolean this_present_marketplaceItems = true && this.isSetMarketplaceItems();
    boolean that_present_marketplaceItems = true && that.isSetMarketplaceItems();
    if (this_present_marketplaceItems || that_present_marketplaceItems) {
      if (!(this_present_marketplaceItems && that_present_marketplaceItems))
        return false;
      if (!this.marketplaceItems.equals(that.marketplaceItems))
        return false;
    }

    return true;
  }

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

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

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

    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(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetWarehouseId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetExceptionPrice()).compareTo(typedOther.isSetExceptionPrice());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetExceptionPrice()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.exceptionPrice, typedOther.exceptionPrice);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetIsListedOnSnapdeal()).compareTo(typedOther.isSetIsListedOnSnapdeal());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIsListedOnSnapdeal()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isListedOnSnapdeal, typedOther.isListedOnSnapdeal);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTransferPrice()).compareTo(typedOther.isSetTransferPrice());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTransferPrice()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferPrice, typedOther.transferPrice);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSellingPrice()).compareTo(typedOther.isSetSellingPrice());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSellingPrice()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sellingPrice, typedOther.sellingPrice);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCourierCost()).compareTo(typedOther.isSetCourierCost());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCourierCost()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.courierCost, typedOther.courierCost);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCommission()).compareTo(typedOther.isSetCommission());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCommission()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.commission, typedOther.commission);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetServiceTax()).compareTo(typedOther.isSetServiceTax());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetServiceTax()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serviceTax, typedOther.serviceTax);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSuppressPriceFeed()).compareTo(typedOther.isSetSuppressPriceFeed());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSuppressPriceFeed()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.suppressPriceFeed, typedOther.suppressPriceFeed);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSuppressInventoryFeed()).compareTo(typedOther.isSetSuppressInventoryFeed());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSuppressInventoryFeed()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.suppressInventoryFeed, typedOther.suppressInventoryFeed);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMaxNlc()).compareTo(typedOther.isSetMaxNlc());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxNlc()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxNlc, typedOther.maxNlc);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSkuAtSnapdeal()).compareTo(typedOther.isSetSkuAtSnapdeal());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSkuAtSnapdeal()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.skuAtSnapdeal, typedOther.skuAtSnapdeal);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSupc()).compareTo(typedOther.isSetSupc());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSupc()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.supc, typedOther.supc);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetShippingTime()).compareTo(typedOther.isSetShippingTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetShippingTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shippingTime, typedOther.shippingTime);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetUpdatedBy()).compareTo(typedOther.isSetUpdatedBy());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetUpdatedBy()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.updatedBy, typedOther.updatedBy);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMarketplaceItems()).compareTo(typedOther.isSetMarketplaceItems());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMarketplaceItems()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.marketplaceItems, typedOther.marketplaceItems);
      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: // 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 2: // WAREHOUSE_ID
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.warehouseId = iprot.readI64();
            setWarehouseIdIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 3: // EXCEPTION_PRICE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.exceptionPrice = iprot.readDouble();
            setExceptionPriceIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 4: // IS_LISTED_ON_SNAPDEAL
          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
            this.isListedOnSnapdeal = iprot.readBool();
            setIsListedOnSnapdealIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 5: // TRANSFER_PRICE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.transferPrice = iprot.readDouble();
            setTransferPriceIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 6: // SELLING_PRICE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.sellingPrice = iprot.readDouble();
            setSellingPriceIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 7: // COURIER_COST
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.courierCost = iprot.readDouble();
            setCourierCostIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 8: // COMMISSION
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.commission = iprot.readDouble();
            setCommissionIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 9: // SERVICE_TAX
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.serviceTax = iprot.readDouble();
            setServiceTaxIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 10: // SUPPRESS_PRICE_FEED
          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
            this.suppressPriceFeed = iprot.readBool();
            setSuppressPriceFeedIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 11: // SUPPRESS_INVENTORY_FEED
          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
            this.suppressInventoryFeed = iprot.readBool();
            setSuppressInventoryFeedIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 12: // MAX_NLC
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.maxNlc = iprot.readDouble();
            setMaxNlcIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 13: // SKU_AT_SNAPDEAL
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.skuAtSnapdeal = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 14: // SUPC
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.supc = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 15: // SHIPPING_TIME
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.shippingTime = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 16: // UPDATED_BY
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.updatedBy = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 17: // MARKETPLACE_ITEMS
          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
            this.marketplaceItems = new MarketplaceItems();
            this.marketplaceItems.read(iprot);
          } 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(ITEM_ID_FIELD_DESC);
    oprot.writeI64(this.item_id);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
    oprot.writeI64(this.warehouseId);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(EXCEPTION_PRICE_FIELD_DESC);
    oprot.writeDouble(this.exceptionPrice);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(IS_LISTED_ON_SNAPDEAL_FIELD_DESC);
    oprot.writeBool(this.isListedOnSnapdeal);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(TRANSFER_PRICE_FIELD_DESC);
    oprot.writeDouble(this.transferPrice);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(SELLING_PRICE_FIELD_DESC);
    oprot.writeDouble(this.sellingPrice);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(COURIER_COST_FIELD_DESC);
    oprot.writeDouble(this.courierCost);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(COMMISSION_FIELD_DESC);
    oprot.writeDouble(this.commission);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(SERVICE_TAX_FIELD_DESC);
    oprot.writeDouble(this.serviceTax);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(SUPPRESS_PRICE_FEED_FIELD_DESC);
    oprot.writeBool(this.suppressPriceFeed);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(SUPPRESS_INVENTORY_FEED_FIELD_DESC);
    oprot.writeBool(this.suppressInventoryFeed);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MAX_NLC_FIELD_DESC);
    oprot.writeDouble(this.maxNlc);
    oprot.writeFieldEnd();
    if (this.skuAtSnapdeal != null) {
      oprot.writeFieldBegin(SKU_AT_SNAPDEAL_FIELD_DESC);
      oprot.writeString(this.skuAtSnapdeal);
      oprot.writeFieldEnd();
    }
    if (this.supc != null) {
      oprot.writeFieldBegin(SUPC_FIELD_DESC);
      oprot.writeString(this.supc);
      oprot.writeFieldEnd();
    }
    if (this.shippingTime != null) {
      oprot.writeFieldBegin(SHIPPING_TIME_FIELD_DESC);
      oprot.writeString(this.shippingTime);
      oprot.writeFieldEnd();
    }
    if (this.updatedBy != null) {
      oprot.writeFieldBegin(UPDATED_BY_FIELD_DESC);
      oprot.writeString(this.updatedBy);
      oprot.writeFieldEnd();
    }
    if (this.marketplaceItems != null) {
      oprot.writeFieldBegin(MARKETPLACE_ITEMS_FIELD_DESC);
      this.marketplaceItems.write(oprot);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

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

    sb.append("item_id:");
    sb.append(this.item_id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("warehouseId:");
    sb.append(this.warehouseId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("exceptionPrice:");
    sb.append(this.exceptionPrice);
    first = false;
    if (!first) sb.append(", ");
    sb.append("isListedOnSnapdeal:");
    sb.append(this.isListedOnSnapdeal);
    first = false;
    if (!first) sb.append(", ");
    sb.append("transferPrice:");
    sb.append(this.transferPrice);
    first = false;
    if (!first) sb.append(", ");
    sb.append("sellingPrice:");
    sb.append(this.sellingPrice);
    first = false;
    if (!first) sb.append(", ");
    sb.append("courierCost:");
    sb.append(this.courierCost);
    first = false;
    if (!first) sb.append(", ");
    sb.append("commission:");
    sb.append(this.commission);
    first = false;
    if (!first) sb.append(", ");
    sb.append("serviceTax:");
    sb.append(this.serviceTax);
    first = false;
    if (!first) sb.append(", ");
    sb.append("suppressPriceFeed:");
    sb.append(this.suppressPriceFeed);
    first = false;
    if (!first) sb.append(", ");
    sb.append("suppressInventoryFeed:");
    sb.append(this.suppressInventoryFeed);
    first = false;
    if (!first) sb.append(", ");
    sb.append("maxNlc:");
    sb.append(this.maxNlc);
    first = false;
    if (!first) sb.append(", ");
    sb.append("skuAtSnapdeal:");
    if (this.skuAtSnapdeal == null) {
      sb.append("null");
    } else {
      sb.append(this.skuAtSnapdeal);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("supc:");
    if (this.supc == null) {
      sb.append("null");
    } else {
      sb.append(this.supc);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("shippingTime:");
    if (this.shippingTime == null) {
      sb.append("null");
    } else {
      sb.append(this.shippingTime);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("updatedBy:");
    if (this.updatedBy == null) {
      sb.append("null");
    } else {
      sb.append(this.updatedBy);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("marketplaceItems:");
    if (this.marketplaceItems == null) {
      sb.append("null");
    } else {
      sb.append(this.marketplaceItems);
    }
    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);
    }
  }

}