Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

/**
 * Autogenerated by Thrift Compiler (0.7.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 */
package in.shop2020.model.v1.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 VoiSnapdealItemInfo implements org.apache.thrift.TBase<VoiSnapdealItemInfo, VoiSnapdealItemInfo._Fields>, java.io.Serializable, Cloneable {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("VoiSnapdealItemInfo");

  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 VOI_SKU_AT_SNAPDEAL_FIELD_DESC = new org.apache.thrift.protocol.TField("voiSkuAtSnapdeal", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField SELLING_PRICE_SNAPDEAL_FIELD_DESC = new org.apache.thrift.protocol.TField("sellingPriceSnapdeal", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
  private static final org.apache.thrift.protocol.TField TRANSFER_PRICE_SNAPDEAL_FIELD_DESC = new org.apache.thrift.protocol.TField("transferPriceSnapdeal", org.apache.thrift.protocol.TType.DOUBLE, (short)4);
  private static final org.apache.thrift.protocol.TField FIXED_MARGIN_FIELD_DESC = new org.apache.thrift.protocol.TField("fixedMargin", org.apache.thrift.protocol.TType.DOUBLE, (short)5);
  private static final org.apache.thrift.protocol.TField FIXED_MARGIN_PERCENTAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("fixedMarginPercentage", org.apache.thrift.protocol.TType.DOUBLE, (short)6);
  private static final org.apache.thrift.protocol.TField LOGISTIC_COST_SNAPDEAL_FIELD_DESC = new org.apache.thrift.protocol.TField("logisticCostSnapdeal", org.apache.thrift.protocol.TType.DOUBLE, (short)7);
  private static final org.apache.thrift.protocol.TField WOODEN_PACKAGING_COST_FIELD_DESC = new org.apache.thrift.protocol.TField("woodenPackagingCost", org.apache.thrift.protocol.TType.DOUBLE, (short)8);
  private static final org.apache.thrift.protocol.TField WEIGHT_SNAPDEAL_FIELD_DESC = new org.apache.thrift.protocol.TField("weightSnapdeal", org.apache.thrift.protocol.TType.DOUBLE, (short)9);

  private long item_id; // required
  private String voiSkuAtSnapdeal; // required
  private double sellingPriceSnapdeal; // required
  private double transferPriceSnapdeal; // required
  private double fixedMargin; // required
  private double fixedMarginPercentage; // required
  private double logisticCostSnapdeal; // required
  private double woodenPackagingCost; // required
  private double weightSnapdeal; // 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"),
    VOI_SKU_AT_SNAPDEAL((short)2, "voiSkuAtSnapdeal"),
    SELLING_PRICE_SNAPDEAL((short)3, "sellingPriceSnapdeal"),
    TRANSFER_PRICE_SNAPDEAL((short)4, "transferPriceSnapdeal"),
    FIXED_MARGIN((short)5, "fixedMargin"),
    FIXED_MARGIN_PERCENTAGE((short)6, "fixedMarginPercentage"),
    LOGISTIC_COST_SNAPDEAL((short)7, "logisticCostSnapdeal"),
    WOODEN_PACKAGING_COST((short)8, "woodenPackagingCost"),
    WEIGHT_SNAPDEAL((short)9, "weightSnapdeal");

    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: // VOI_SKU_AT_SNAPDEAL
          return VOI_SKU_AT_SNAPDEAL;
        case 3: // SELLING_PRICE_SNAPDEAL
          return SELLING_PRICE_SNAPDEAL;
        case 4: // TRANSFER_PRICE_SNAPDEAL
          return TRANSFER_PRICE_SNAPDEAL;
        case 5: // FIXED_MARGIN
          return FIXED_MARGIN;
        case 6: // FIXED_MARGIN_PERCENTAGE
          return FIXED_MARGIN_PERCENTAGE;
        case 7: // LOGISTIC_COST_SNAPDEAL
          return LOGISTIC_COST_SNAPDEAL;
        case 8: // WOODEN_PACKAGING_COST
          return WOODEN_PACKAGING_COST;
        case 9: // WEIGHT_SNAPDEAL
          return WEIGHT_SNAPDEAL;
        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 __SELLINGPRICESNAPDEAL_ISSET_ID = 1;
  private static final int __TRANSFERPRICESNAPDEAL_ISSET_ID = 2;
  private static final int __FIXEDMARGIN_ISSET_ID = 3;
  private static final int __FIXEDMARGINPERCENTAGE_ISSET_ID = 4;
  private static final int __LOGISTICCOSTSNAPDEAL_ISSET_ID = 5;
  private static final int __WOODENPACKAGINGCOST_ISSET_ID = 6;
  private static final int __WEIGHTSNAPDEAL_ISSET_ID = 7;
  private BitSet __isset_bit_vector = new BitSet(8);

  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.VOI_SKU_AT_SNAPDEAL, new org.apache.thrift.meta_data.FieldMetaData("voiSkuAtSnapdeal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.SELLING_PRICE_SNAPDEAL, new org.apache.thrift.meta_data.FieldMetaData("sellingPriceSnapdeal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.TRANSFER_PRICE_SNAPDEAL, new org.apache.thrift.meta_data.FieldMetaData("transferPriceSnapdeal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.FIXED_MARGIN, new org.apache.thrift.meta_data.FieldMetaData("fixedMargin", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.FIXED_MARGIN_PERCENTAGE, new org.apache.thrift.meta_data.FieldMetaData("fixedMarginPercentage", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.LOGISTIC_COST_SNAPDEAL, new org.apache.thrift.meta_data.FieldMetaData("logisticCostSnapdeal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.WOODEN_PACKAGING_COST, new org.apache.thrift.meta_data.FieldMetaData("woodenPackagingCost", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.WEIGHT_SNAPDEAL, new org.apache.thrift.meta_data.FieldMetaData("weightSnapdeal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(VoiSnapdealItemInfo.class, metaDataMap);
  }

  public VoiSnapdealItemInfo() {
  }

  public VoiSnapdealItemInfo(
    long item_id,
    String voiSkuAtSnapdeal,
    double sellingPriceSnapdeal,
    double transferPriceSnapdeal,
    double fixedMargin,
    double fixedMarginPercentage,
    double logisticCostSnapdeal,
    double woodenPackagingCost,
    double weightSnapdeal)
  {
    this();
    this.item_id = item_id;
    setItem_idIsSet(true);
    this.voiSkuAtSnapdeal = voiSkuAtSnapdeal;
    this.sellingPriceSnapdeal = sellingPriceSnapdeal;
    setSellingPriceSnapdealIsSet(true);
    this.transferPriceSnapdeal = transferPriceSnapdeal;
    setTransferPriceSnapdealIsSet(true);
    this.fixedMargin = fixedMargin;
    setFixedMarginIsSet(true);
    this.fixedMarginPercentage = fixedMarginPercentage;
    setFixedMarginPercentageIsSet(true);
    this.logisticCostSnapdeal = logisticCostSnapdeal;
    setLogisticCostSnapdealIsSet(true);
    this.woodenPackagingCost = woodenPackagingCost;
    setWoodenPackagingCostIsSet(true);
    this.weightSnapdeal = weightSnapdeal;
    setWeightSnapdealIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public VoiSnapdealItemInfo(VoiSnapdealItemInfo other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    this.item_id = other.item_id;
    if (other.isSetVoiSkuAtSnapdeal()) {
      this.voiSkuAtSnapdeal = other.voiSkuAtSnapdeal;
    }
    this.sellingPriceSnapdeal = other.sellingPriceSnapdeal;
    this.transferPriceSnapdeal = other.transferPriceSnapdeal;
    this.fixedMargin = other.fixedMargin;
    this.fixedMarginPercentage = other.fixedMarginPercentage;
    this.logisticCostSnapdeal = other.logisticCostSnapdeal;
    this.woodenPackagingCost = other.woodenPackagingCost;
    this.weightSnapdeal = other.weightSnapdeal;
  }

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

  @Override
  public void clear() {
    setItem_idIsSet(false);
    this.item_id = 0;
    this.voiSkuAtSnapdeal = null;
    setSellingPriceSnapdealIsSet(false);
    this.sellingPriceSnapdeal = 0.0;
    setTransferPriceSnapdealIsSet(false);
    this.transferPriceSnapdeal = 0.0;
    setFixedMarginIsSet(false);
    this.fixedMargin = 0.0;
    setFixedMarginPercentageIsSet(false);
    this.fixedMarginPercentage = 0.0;
    setLogisticCostSnapdealIsSet(false);
    this.logisticCostSnapdeal = 0.0;
    setWoodenPackagingCostIsSet(false);
    this.woodenPackagingCost = 0.0;
    setWeightSnapdealIsSet(false);
    this.weightSnapdeal = 0.0;
  }

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

  public void setVoiSkuAtSnapdeal(String voiSkuAtSnapdeal) {
    this.voiSkuAtSnapdeal = voiSkuAtSnapdeal;
  }

  public void unsetVoiSkuAtSnapdeal() {
    this.voiSkuAtSnapdeal = null;
  }

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

  public void setVoiSkuAtSnapdealIsSet(boolean value) {
    if (!value) {
      this.voiSkuAtSnapdeal = null;
    }
  }

  public double getSellingPriceSnapdeal() {
    return this.sellingPriceSnapdeal;
  }

  public void setSellingPriceSnapdeal(double sellingPriceSnapdeal) {
    this.sellingPriceSnapdeal = sellingPriceSnapdeal;
    setSellingPriceSnapdealIsSet(true);
  }

  public void unsetSellingPriceSnapdeal() {
    __isset_bit_vector.clear(__SELLINGPRICESNAPDEAL_ISSET_ID);
  }

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

  public void setSellingPriceSnapdealIsSet(boolean value) {
    __isset_bit_vector.set(__SELLINGPRICESNAPDEAL_ISSET_ID, value);
  }

  public double getTransferPriceSnapdeal() {
    return this.transferPriceSnapdeal;
  }

  public void setTransferPriceSnapdeal(double transferPriceSnapdeal) {
    this.transferPriceSnapdeal = transferPriceSnapdeal;
    setTransferPriceSnapdealIsSet(true);
  }

  public void unsetTransferPriceSnapdeal() {
    __isset_bit_vector.clear(__TRANSFERPRICESNAPDEAL_ISSET_ID);
  }

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

  public void setTransferPriceSnapdealIsSet(boolean value) {
    __isset_bit_vector.set(__TRANSFERPRICESNAPDEAL_ISSET_ID, value);
  }

  public double getFixedMargin() {
    return this.fixedMargin;
  }

  public void setFixedMargin(double fixedMargin) {
    this.fixedMargin = fixedMargin;
    setFixedMarginIsSet(true);
  }

  public void unsetFixedMargin() {
    __isset_bit_vector.clear(__FIXEDMARGIN_ISSET_ID);
  }

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

  public void setFixedMarginIsSet(boolean value) {
    __isset_bit_vector.set(__FIXEDMARGIN_ISSET_ID, value);
  }

  public double getFixedMarginPercentage() {
    return this.fixedMarginPercentage;
  }

  public void setFixedMarginPercentage(double fixedMarginPercentage) {
    this.fixedMarginPercentage = fixedMarginPercentage;
    setFixedMarginPercentageIsSet(true);
  }

  public void unsetFixedMarginPercentage() {
    __isset_bit_vector.clear(__FIXEDMARGINPERCENTAGE_ISSET_ID);
  }

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

  public void setFixedMarginPercentageIsSet(boolean value) {
    __isset_bit_vector.set(__FIXEDMARGINPERCENTAGE_ISSET_ID, value);
  }

  public double getLogisticCostSnapdeal() {
    return this.logisticCostSnapdeal;
  }

  public void setLogisticCostSnapdeal(double logisticCostSnapdeal) {
    this.logisticCostSnapdeal = logisticCostSnapdeal;
    setLogisticCostSnapdealIsSet(true);
  }

  public void unsetLogisticCostSnapdeal() {
    __isset_bit_vector.clear(__LOGISTICCOSTSNAPDEAL_ISSET_ID);
  }

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

  public void setLogisticCostSnapdealIsSet(boolean value) {
    __isset_bit_vector.set(__LOGISTICCOSTSNAPDEAL_ISSET_ID, value);
  }

  public double getWoodenPackagingCost() {
    return this.woodenPackagingCost;
  }

  public void setWoodenPackagingCost(double woodenPackagingCost) {
    this.woodenPackagingCost = woodenPackagingCost;
    setWoodenPackagingCostIsSet(true);
  }

  public void unsetWoodenPackagingCost() {
    __isset_bit_vector.clear(__WOODENPACKAGINGCOST_ISSET_ID);
  }

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

  public void setWoodenPackagingCostIsSet(boolean value) {
    __isset_bit_vector.set(__WOODENPACKAGINGCOST_ISSET_ID, value);
  }

  public double getWeightSnapdeal() {
    return this.weightSnapdeal;
  }

  public void setWeightSnapdeal(double weightSnapdeal) {
    this.weightSnapdeal = weightSnapdeal;
    setWeightSnapdealIsSet(true);
  }

  public void unsetWeightSnapdeal() {
    __isset_bit_vector.clear(__WEIGHTSNAPDEAL_ISSET_ID);
  }

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

  public void setWeightSnapdealIsSet(boolean value) {
    __isset_bit_vector.set(__WEIGHTSNAPDEAL_ISSET_ID, value);
  }

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

    case VOI_SKU_AT_SNAPDEAL:
      if (value == null) {
        unsetVoiSkuAtSnapdeal();
      } else {
        setVoiSkuAtSnapdeal((String)value);
      }
      break;

    case SELLING_PRICE_SNAPDEAL:
      if (value == null) {
        unsetSellingPriceSnapdeal();
      } else {
        setSellingPriceSnapdeal((Double)value);
      }
      break;

    case TRANSFER_PRICE_SNAPDEAL:
      if (value == null) {
        unsetTransferPriceSnapdeal();
      } else {
        setTransferPriceSnapdeal((Double)value);
      }
      break;

    case FIXED_MARGIN:
      if (value == null) {
        unsetFixedMargin();
      } else {
        setFixedMargin((Double)value);
      }
      break;

    case FIXED_MARGIN_PERCENTAGE:
      if (value == null) {
        unsetFixedMarginPercentage();
      } else {
        setFixedMarginPercentage((Double)value);
      }
      break;

    case LOGISTIC_COST_SNAPDEAL:
      if (value == null) {
        unsetLogisticCostSnapdeal();
      } else {
        setLogisticCostSnapdeal((Double)value);
      }
      break;

    case WOODEN_PACKAGING_COST:
      if (value == null) {
        unsetWoodenPackagingCost();
      } else {
        setWoodenPackagingCost((Double)value);
      }
      break;

    case WEIGHT_SNAPDEAL:
      if (value == null) {
        unsetWeightSnapdeal();
      } else {
        setWeightSnapdeal((Double)value);
      }
      break;

    }
  }

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

    case VOI_SKU_AT_SNAPDEAL:
      return getVoiSkuAtSnapdeal();

    case SELLING_PRICE_SNAPDEAL:
      return Double.valueOf(getSellingPriceSnapdeal());

    case TRANSFER_PRICE_SNAPDEAL:
      return Double.valueOf(getTransferPriceSnapdeal());

    case FIXED_MARGIN:
      return Double.valueOf(getFixedMargin());

    case FIXED_MARGIN_PERCENTAGE:
      return Double.valueOf(getFixedMarginPercentage());

    case LOGISTIC_COST_SNAPDEAL:
      return Double.valueOf(getLogisticCostSnapdeal());

    case WOODEN_PACKAGING_COST:
      return Double.valueOf(getWoodenPackagingCost());

    case WEIGHT_SNAPDEAL:
      return Double.valueOf(getWeightSnapdeal());

    }
    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 VOI_SKU_AT_SNAPDEAL:
      return isSetVoiSkuAtSnapdeal();
    case SELLING_PRICE_SNAPDEAL:
      return isSetSellingPriceSnapdeal();
    case TRANSFER_PRICE_SNAPDEAL:
      return isSetTransferPriceSnapdeal();
    case FIXED_MARGIN:
      return isSetFixedMargin();
    case FIXED_MARGIN_PERCENTAGE:
      return isSetFixedMarginPercentage();
    case LOGISTIC_COST_SNAPDEAL:
      return isSetLogisticCostSnapdeal();
    case WOODEN_PACKAGING_COST:
      return isSetWoodenPackagingCost();
    case WEIGHT_SNAPDEAL:
      return isSetWeightSnapdeal();
    }
    throw new IllegalStateException();
  }

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

  public boolean equals(VoiSnapdealItemInfo 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_voiSkuAtSnapdeal = true && this.isSetVoiSkuAtSnapdeal();
    boolean that_present_voiSkuAtSnapdeal = true && that.isSetVoiSkuAtSnapdeal();
    if (this_present_voiSkuAtSnapdeal || that_present_voiSkuAtSnapdeal) {
      if (!(this_present_voiSkuAtSnapdeal && that_present_voiSkuAtSnapdeal))
        return false;
      if (!this.voiSkuAtSnapdeal.equals(that.voiSkuAtSnapdeal))
        return false;
    }

    boolean this_present_sellingPriceSnapdeal = true;
    boolean that_present_sellingPriceSnapdeal = true;
    if (this_present_sellingPriceSnapdeal || that_present_sellingPriceSnapdeal) {
      if (!(this_present_sellingPriceSnapdeal && that_present_sellingPriceSnapdeal))
        return false;
      if (this.sellingPriceSnapdeal != that.sellingPriceSnapdeal)
        return false;
    }

    boolean this_present_transferPriceSnapdeal = true;
    boolean that_present_transferPriceSnapdeal = true;
    if (this_present_transferPriceSnapdeal || that_present_transferPriceSnapdeal) {
      if (!(this_present_transferPriceSnapdeal && that_present_transferPriceSnapdeal))
        return false;
      if (this.transferPriceSnapdeal != that.transferPriceSnapdeal)
        return false;
    }

    boolean this_present_fixedMargin = true;
    boolean that_present_fixedMargin = true;
    if (this_present_fixedMargin || that_present_fixedMargin) {
      if (!(this_present_fixedMargin && that_present_fixedMargin))
        return false;
      if (this.fixedMargin != that.fixedMargin)
        return false;
    }

    boolean this_present_fixedMarginPercentage = true;
    boolean that_present_fixedMarginPercentage = true;
    if (this_present_fixedMarginPercentage || that_present_fixedMarginPercentage) {
      if (!(this_present_fixedMarginPercentage && that_present_fixedMarginPercentage))
        return false;
      if (this.fixedMarginPercentage != that.fixedMarginPercentage)
        return false;
    }

    boolean this_present_logisticCostSnapdeal = true;
    boolean that_present_logisticCostSnapdeal = true;
    if (this_present_logisticCostSnapdeal || that_present_logisticCostSnapdeal) {
      if (!(this_present_logisticCostSnapdeal && that_present_logisticCostSnapdeal))
        return false;
      if (this.logisticCostSnapdeal != that.logisticCostSnapdeal)
        return false;
    }

    boolean this_present_woodenPackagingCost = true;
    boolean that_present_woodenPackagingCost = true;
    if (this_present_woodenPackagingCost || that_present_woodenPackagingCost) {
      if (!(this_present_woodenPackagingCost && that_present_woodenPackagingCost))
        return false;
      if (this.woodenPackagingCost != that.woodenPackagingCost)
        return false;
    }

    boolean this_present_weightSnapdeal = true;
    boolean that_present_weightSnapdeal = true;
    if (this_present_weightSnapdeal || that_present_weightSnapdeal) {
      if (!(this_present_weightSnapdeal && that_present_weightSnapdeal))
        return false;
      if (this.weightSnapdeal != that.weightSnapdeal)
        return false;
    }

    return true;
  }

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

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

    int lastComparison = 0;
    VoiSnapdealItemInfo typedOther = (VoiSnapdealItemInfo)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(isSetVoiSkuAtSnapdeal()).compareTo(typedOther.isSetVoiSkuAtSnapdeal());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVoiSkuAtSnapdeal()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.voiSkuAtSnapdeal, typedOther.voiSkuAtSnapdeal);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSellingPriceSnapdeal()).compareTo(typedOther.isSetSellingPriceSnapdeal());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSellingPriceSnapdeal()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sellingPriceSnapdeal, typedOther.sellingPriceSnapdeal);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTransferPriceSnapdeal()).compareTo(typedOther.isSetTransferPriceSnapdeal());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTransferPriceSnapdeal()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferPriceSnapdeal, typedOther.transferPriceSnapdeal);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetFixedMargin()).compareTo(typedOther.isSetFixedMargin());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFixedMargin()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fixedMargin, typedOther.fixedMargin);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetFixedMarginPercentage()).compareTo(typedOther.isSetFixedMarginPercentage());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFixedMarginPercentage()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fixedMarginPercentage, typedOther.fixedMarginPercentage);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetLogisticCostSnapdeal()).compareTo(typedOther.isSetLogisticCostSnapdeal());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLogisticCostSnapdeal()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logisticCostSnapdeal, typedOther.logisticCostSnapdeal);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetWoodenPackagingCost()).compareTo(typedOther.isSetWoodenPackagingCost());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetWoodenPackagingCost()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.woodenPackagingCost, typedOther.woodenPackagingCost);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetWeightSnapdeal()).compareTo(typedOther.isSetWeightSnapdeal());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetWeightSnapdeal()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.weightSnapdeal, typedOther.weightSnapdeal);
      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: // VOI_SKU_AT_SNAPDEAL
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.voiSkuAtSnapdeal = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 3: // SELLING_PRICE_SNAPDEAL
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.sellingPriceSnapdeal = iprot.readDouble();
            setSellingPriceSnapdealIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 4: // TRANSFER_PRICE_SNAPDEAL
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.transferPriceSnapdeal = iprot.readDouble();
            setTransferPriceSnapdealIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 5: // FIXED_MARGIN
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.fixedMargin = iprot.readDouble();
            setFixedMarginIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 6: // FIXED_MARGIN_PERCENTAGE
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.fixedMarginPercentage = iprot.readDouble();
            setFixedMarginPercentageIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 7: // LOGISTIC_COST_SNAPDEAL
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.logisticCostSnapdeal = iprot.readDouble();
            setLogisticCostSnapdealIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 8: // WOODEN_PACKAGING_COST
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.woodenPackagingCost = iprot.readDouble();
            setWoodenPackagingCostIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 9: // WEIGHT_SNAPDEAL
          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
            this.weightSnapdeal = iprot.readDouble();
            setWeightSnapdealIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        default:
          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
      }
      iprot.readFieldEnd();
    }
    iprot.readStructEnd();
    validate();
  }

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

    oprot.writeStructBegin(STRUCT_DESC);
    oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
    oprot.writeI64(this.item_id);
    oprot.writeFieldEnd();
    if (this.voiSkuAtSnapdeal != null) {
      oprot.writeFieldBegin(VOI_SKU_AT_SNAPDEAL_FIELD_DESC);
      oprot.writeString(this.voiSkuAtSnapdeal);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(SELLING_PRICE_SNAPDEAL_FIELD_DESC);
    oprot.writeDouble(this.sellingPriceSnapdeal);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(TRANSFER_PRICE_SNAPDEAL_FIELD_DESC);
    oprot.writeDouble(this.transferPriceSnapdeal);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(FIXED_MARGIN_FIELD_DESC);
    oprot.writeDouble(this.fixedMargin);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(FIXED_MARGIN_PERCENTAGE_FIELD_DESC);
    oprot.writeDouble(this.fixedMarginPercentage);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(LOGISTIC_COST_SNAPDEAL_FIELD_DESC);
    oprot.writeDouble(this.logisticCostSnapdeal);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(WOODEN_PACKAGING_COST_FIELD_DESC);
    oprot.writeDouble(this.woodenPackagingCost);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(WEIGHT_SNAPDEAL_FIELD_DESC);
    oprot.writeDouble(this.weightSnapdeal);
    oprot.writeFieldEnd();
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

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

    sb.append("item_id:");
    sb.append(this.item_id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("voiSkuAtSnapdeal:");
    if (this.voiSkuAtSnapdeal == null) {
      sb.append("null");
    } else {
      sb.append(this.voiSkuAtSnapdeal);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("sellingPriceSnapdeal:");
    sb.append(this.sellingPriceSnapdeal);
    first = false;
    if (!first) sb.append(", ");
    sb.append("transferPriceSnapdeal:");
    sb.append(this.transferPriceSnapdeal);
    first = false;
    if (!first) sb.append(", ");
    sb.append("fixedMargin:");
    sb.append(this.fixedMargin);
    first = false;
    if (!first) sb.append(", ");
    sb.append("fixedMarginPercentage:");
    sb.append(this.fixedMarginPercentage);
    first = false;
    if (!first) sb.append(", ");
    sb.append("logisticCostSnapdeal:");
    sb.append(this.logisticCostSnapdeal);
    first = false;
    if (!first) sb.append(", ");
    sb.append("woodenPackagingCost:");
    sb.append(this.woodenPackagingCost);
    first = false;
    if (!first) sb.append(", ");
    sb.append("weightSnapdeal:");
    sb.append(this.weightSnapdeal);
    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);
    }
  }

}