Subversion Repositories SmartDukaan

Rev

Rev 5768 | 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.warehouse;

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

  private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I64, (short)1);
  private static final org.apache.thrift.protocol.TField BRAND_FIELD_DESC = new org.apache.thrift.protocol.TField("brand", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField MODEL_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("modelName", org.apache.thrift.protocol.TType.STRING, (short)3);
  private static final org.apache.thrift.protocol.TField MODEL_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("modelNumber", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField COLOR_FIELD_DESC = new org.apache.thrift.protocol.TField("color", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField FRESH_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("freshCount", org.apache.thrift.protocol.TType.I64, (short)6);
  private static final org.apache.thrift.protocol.TField ONE_TO_TWO_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("oneToTwoCount", org.apache.thrift.protocol.TType.I64, (short)7);
  private static final org.apache.thrift.protocol.TField TWO_TO_THREE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("TwoToThreeCount", org.apache.thrift.protocol.TType.I64, (short)8);
  private static final org.apache.thrift.protocol.TField THREE_TO_FOUR_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("ThreeToFourCount", org.apache.thrift.protocol.TType.I64, (short)9);
  private static final org.apache.thrift.protocol.TField FOUR_PLUS_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("FourPlusCount", org.apache.thrift.protocol.TType.I64, (short)10);
  private static final org.apache.thrift.protocol.TField THREE_MONTH_PLUS_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("threeMonthPlusCount", org.apache.thrift.protocol.TType.I64, (short)11);
  private static final org.apache.thrift.protocol.TField SIX_MONTH_PLUS_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("sixMonthPlusCount", org.apache.thrift.protocol.TType.I64, (short)12);
  private static final org.apache.thrift.protocol.TField ZERO_PLUS_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("ZeroPlusCount", org.apache.thrift.protocol.TType.I64, (short)13);
  private static final org.apache.thrift.protocol.TField ONE_PLUS_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("OnePlusCount", org.apache.thrift.protocol.TType.I64, (short)14);
  private static final org.apache.thrift.protocol.TField ZERO_PLUS_COST_FIELD_DESC = new org.apache.thrift.protocol.TField("ZeroPlusCost", org.apache.thrift.protocol.TType.I64, (short)15);
  private static final org.apache.thrift.protocol.TField ONE_PLUS_COST_FIELD_DESC = new org.apache.thrift.protocol.TField("OnePlusCost", org.apache.thrift.protocol.TType.I64, (short)16);
  private static final org.apache.thrift.protocol.TField CATEGORY_FIELD_DESC = new org.apache.thrift.protocol.TField("category", org.apache.thrift.protocol.TType.STRING, (short)17);

  private long itemId; // required
  private String brand; // required
  private String modelName; // required
  private String modelNumber; // required
  private String color; // required
  private long freshCount; // required
  private long oneToTwoCount; // required
  private long TwoToThreeCount; // required
  private long ThreeToFourCount; // required
  private long FourPlusCount; // required
  private long threeMonthPlusCount; // required
  private long sixMonthPlusCount; // required
  private long ZeroPlusCount; // required
  private long OnePlusCount; // required
  private long ZeroPlusCost; // required
  private long OnePlusCost; // required
  private String category; // 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, "itemId"),
    BRAND((short)2, "brand"),
    MODEL_NAME((short)3, "modelName"),
    MODEL_NUMBER((short)4, "modelNumber"),
    COLOR((short)5, "color"),
    FRESH_COUNT((short)6, "freshCount"),
    ONE_TO_TWO_COUNT((short)7, "oneToTwoCount"),
    TWO_TO_THREE_COUNT((short)8, "TwoToThreeCount"),
    THREE_TO_FOUR_COUNT((short)9, "ThreeToFourCount"),
    FOUR_PLUS_COUNT((short)10, "FourPlusCount"),
    THREE_MONTH_PLUS_COUNT((short)11, "threeMonthPlusCount"),
    SIX_MONTH_PLUS_COUNT((short)12, "sixMonthPlusCount"),
    ZERO_PLUS_COUNT((short)13, "ZeroPlusCount"),
    ONE_PLUS_COUNT((short)14, "OnePlusCount"),
    ZERO_PLUS_COST((short)15, "ZeroPlusCost"),
    ONE_PLUS_COST((short)16, "OnePlusCost"),
    CATEGORY((short)17, "category");

    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: // BRAND
          return BRAND;
        case 3: // MODEL_NAME
          return MODEL_NAME;
        case 4: // MODEL_NUMBER
          return MODEL_NUMBER;
        case 5: // COLOR
          return COLOR;
        case 6: // FRESH_COUNT
          return FRESH_COUNT;
        case 7: // ONE_TO_TWO_COUNT
          return ONE_TO_TWO_COUNT;
        case 8: // TWO_TO_THREE_COUNT
          return TWO_TO_THREE_COUNT;
        case 9: // THREE_TO_FOUR_COUNT
          return THREE_TO_FOUR_COUNT;
        case 10: // FOUR_PLUS_COUNT
          return FOUR_PLUS_COUNT;
        case 11: // THREE_MONTH_PLUS_COUNT
          return THREE_MONTH_PLUS_COUNT;
        case 12: // SIX_MONTH_PLUS_COUNT
          return SIX_MONTH_PLUS_COUNT;
        case 13: // ZERO_PLUS_COUNT
          return ZERO_PLUS_COUNT;
        case 14: // ONE_PLUS_COUNT
          return ONE_PLUS_COUNT;
        case 15: // ZERO_PLUS_COST
          return ZERO_PLUS_COST;
        case 16: // ONE_PLUS_COST
          return ONE_PLUS_COST;
        case 17: // CATEGORY
          return CATEGORY;
        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 __ITEMID_ISSET_ID = 0;
  private static final int __FRESHCOUNT_ISSET_ID = 1;
  private static final int __ONETOTWOCOUNT_ISSET_ID = 2;
  private static final int __TWOTOTHREECOUNT_ISSET_ID = 3;
  private static final int __THREETOFOURCOUNT_ISSET_ID = 4;
  private static final int __FOURPLUSCOUNT_ISSET_ID = 5;
  private static final int __THREEMONTHPLUSCOUNT_ISSET_ID = 6;
  private static final int __SIXMONTHPLUSCOUNT_ISSET_ID = 7;
  private static final int __ZEROPLUSCOUNT_ISSET_ID = 8;
  private static final int __ONEPLUSCOUNT_ISSET_ID = 9;
  private static final int __ZEROPLUSCOST_ISSET_ID = 10;
  private static final int __ONEPLUSCOST_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("itemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.BRAND, new org.apache.thrift.meta_data.FieldMetaData("brand", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.MODEL_NAME, new org.apache.thrift.meta_data.FieldMetaData("modelName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.MODEL_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("modelNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.COLOR, new org.apache.thrift.meta_data.FieldMetaData("color", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.FRESH_COUNT, new org.apache.thrift.meta_data.FieldMetaData("freshCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.ONE_TO_TWO_COUNT, new org.apache.thrift.meta_data.FieldMetaData("oneToTwoCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.TWO_TO_THREE_COUNT, new org.apache.thrift.meta_data.FieldMetaData("TwoToThreeCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.THREE_TO_FOUR_COUNT, new org.apache.thrift.meta_data.FieldMetaData("ThreeToFourCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.FOUR_PLUS_COUNT, new org.apache.thrift.meta_data.FieldMetaData("FourPlusCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.THREE_MONTH_PLUS_COUNT, new org.apache.thrift.meta_data.FieldMetaData("threeMonthPlusCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.SIX_MONTH_PLUS_COUNT, new org.apache.thrift.meta_data.FieldMetaData("sixMonthPlusCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.ZERO_PLUS_COUNT, new org.apache.thrift.meta_data.FieldMetaData("ZeroPlusCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.ONE_PLUS_COUNT, new org.apache.thrift.meta_data.FieldMetaData("OnePlusCount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.ZERO_PLUS_COST, new org.apache.thrift.meta_data.FieldMetaData("ZeroPlusCost", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.ONE_PLUS_COST, new org.apache.thrift.meta_data.FieldMetaData("OnePlusCost", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.CATEGORY, new org.apache.thrift.meta_data.FieldMetaData("category", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InventoryAge.class, metaDataMap);
  }

  public InventoryAge() {
  }

  public InventoryAge(
    long itemId,
    String brand,
    String modelName,
    String modelNumber,
    String color,
    long freshCount,
    long oneToTwoCount,
    long TwoToThreeCount,
    long ThreeToFourCount,
    long FourPlusCount,
    long threeMonthPlusCount,
    long sixMonthPlusCount,
    long ZeroPlusCount,
    long OnePlusCount,
    long ZeroPlusCost,
    long OnePlusCost,
    String category)
  {
    this();
    this.itemId = itemId;
    setItemIdIsSet(true);
    this.brand = brand;
    this.modelName = modelName;
    this.modelNumber = modelNumber;
    this.color = color;
    this.freshCount = freshCount;
    setFreshCountIsSet(true);
    this.oneToTwoCount = oneToTwoCount;
    setOneToTwoCountIsSet(true);
    this.TwoToThreeCount = TwoToThreeCount;
    setTwoToThreeCountIsSet(true);
    this.ThreeToFourCount = ThreeToFourCount;
    setThreeToFourCountIsSet(true);
    this.FourPlusCount = FourPlusCount;
    setFourPlusCountIsSet(true);
    this.threeMonthPlusCount = threeMonthPlusCount;
    setThreeMonthPlusCountIsSet(true);
    this.sixMonthPlusCount = sixMonthPlusCount;
    setSixMonthPlusCountIsSet(true);
    this.ZeroPlusCount = ZeroPlusCount;
    setZeroPlusCountIsSet(true);
    this.OnePlusCount = OnePlusCount;
    setOnePlusCountIsSet(true);
    this.ZeroPlusCost = ZeroPlusCost;
    setZeroPlusCostIsSet(true);
    this.OnePlusCost = OnePlusCost;
    setOnePlusCostIsSet(true);
    this.category = category;
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public InventoryAge(InventoryAge other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    this.itemId = other.itemId;
    if (other.isSetBrand()) {
      this.brand = other.brand;
    }
    if (other.isSetModelName()) {
      this.modelName = other.modelName;
    }
    if (other.isSetModelNumber()) {
      this.modelNumber = other.modelNumber;
    }
    if (other.isSetColor()) {
      this.color = other.color;
    }
    this.freshCount = other.freshCount;
    this.oneToTwoCount = other.oneToTwoCount;
    this.TwoToThreeCount = other.TwoToThreeCount;
    this.ThreeToFourCount = other.ThreeToFourCount;
    this.FourPlusCount = other.FourPlusCount;
    this.threeMonthPlusCount = other.threeMonthPlusCount;
    this.sixMonthPlusCount = other.sixMonthPlusCount;
    this.ZeroPlusCount = other.ZeroPlusCount;
    this.OnePlusCount = other.OnePlusCount;
    this.ZeroPlusCost = other.ZeroPlusCost;
    this.OnePlusCost = other.OnePlusCost;
    if (other.isSetCategory()) {
      this.category = other.category;
    }
  }

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

  @Override
  public void clear() {
    setItemIdIsSet(false);
    this.itemId = 0;
    this.brand = null;
    this.modelName = null;
    this.modelNumber = null;
    this.color = null;
    setFreshCountIsSet(false);
    this.freshCount = 0;
    setOneToTwoCountIsSet(false);
    this.oneToTwoCount = 0;
    setTwoToThreeCountIsSet(false);
    this.TwoToThreeCount = 0;
    setThreeToFourCountIsSet(false);
    this.ThreeToFourCount = 0;
    setFourPlusCountIsSet(false);
    this.FourPlusCount = 0;
    setThreeMonthPlusCountIsSet(false);
    this.threeMonthPlusCount = 0;
    setSixMonthPlusCountIsSet(false);
    this.sixMonthPlusCount = 0;
    setZeroPlusCountIsSet(false);
    this.ZeroPlusCount = 0;
    setOnePlusCountIsSet(false);
    this.OnePlusCount = 0;
    setZeroPlusCostIsSet(false);
    this.ZeroPlusCost = 0;
    setOnePlusCostIsSet(false);
    this.OnePlusCost = 0;
    this.category = null;
  }

  public long getItemId() {
    return this.itemId;
  }

  public void setItemId(long itemId) {
    this.itemId = itemId;
    setItemIdIsSet(true);
  }

  public void unsetItemId() {
    __isset_bit_vector.clear(__ITEMID_ISSET_ID);
  }

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

  public void setItemIdIsSet(boolean value) {
    __isset_bit_vector.set(__ITEMID_ISSET_ID, value);
  }

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

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

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

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

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

  public String getModelName() {
    return this.modelName;
  }

  public void setModelName(String modelName) {
    this.modelName = modelName;
  }

  public void unsetModelName() {
    this.modelName = null;
  }

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

  public void setModelNameIsSet(boolean value) {
    if (!value) {
      this.modelName = null;
    }
  }

  public String getModelNumber() {
    return this.modelNumber;
  }

  public void setModelNumber(String modelNumber) {
    this.modelNumber = modelNumber;
  }

  public void unsetModelNumber() {
    this.modelNumber = null;
  }

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

  public void setModelNumberIsSet(boolean value) {
    if (!value) {
      this.modelNumber = null;
    }
  }

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

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

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

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

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

  public long getFreshCount() {
    return this.freshCount;
  }

  public void setFreshCount(long freshCount) {
    this.freshCount = freshCount;
    setFreshCountIsSet(true);
  }

  public void unsetFreshCount() {
    __isset_bit_vector.clear(__FRESHCOUNT_ISSET_ID);
  }

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

  public void setFreshCountIsSet(boolean value) {
    __isset_bit_vector.set(__FRESHCOUNT_ISSET_ID, value);
  }

  public long getOneToTwoCount() {
    return this.oneToTwoCount;
  }

  public void setOneToTwoCount(long oneToTwoCount) {
    this.oneToTwoCount = oneToTwoCount;
    setOneToTwoCountIsSet(true);
  }

  public void unsetOneToTwoCount() {
    __isset_bit_vector.clear(__ONETOTWOCOUNT_ISSET_ID);
  }

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

  public void setOneToTwoCountIsSet(boolean value) {
    __isset_bit_vector.set(__ONETOTWOCOUNT_ISSET_ID, value);
  }

  public long getTwoToThreeCount() {
    return this.TwoToThreeCount;
  }

  public void setTwoToThreeCount(long TwoToThreeCount) {
    this.TwoToThreeCount = TwoToThreeCount;
    setTwoToThreeCountIsSet(true);
  }

  public void unsetTwoToThreeCount() {
    __isset_bit_vector.clear(__TWOTOTHREECOUNT_ISSET_ID);
  }

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

  public void setTwoToThreeCountIsSet(boolean value) {
    __isset_bit_vector.set(__TWOTOTHREECOUNT_ISSET_ID, value);
  }

  public long getThreeToFourCount() {
    return this.ThreeToFourCount;
  }

  public void setThreeToFourCount(long ThreeToFourCount) {
    this.ThreeToFourCount = ThreeToFourCount;
    setThreeToFourCountIsSet(true);
  }

  public void unsetThreeToFourCount() {
    __isset_bit_vector.clear(__THREETOFOURCOUNT_ISSET_ID);
  }

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

  public void setThreeToFourCountIsSet(boolean value) {
    __isset_bit_vector.set(__THREETOFOURCOUNT_ISSET_ID, value);
  }

  public long getFourPlusCount() {
    return this.FourPlusCount;
  }

  public void setFourPlusCount(long FourPlusCount) {
    this.FourPlusCount = FourPlusCount;
    setFourPlusCountIsSet(true);
  }

  public void unsetFourPlusCount() {
    __isset_bit_vector.clear(__FOURPLUSCOUNT_ISSET_ID);
  }

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

  public void setFourPlusCountIsSet(boolean value) {
    __isset_bit_vector.set(__FOURPLUSCOUNT_ISSET_ID, value);
  }

  public long getThreeMonthPlusCount() {
    return this.threeMonthPlusCount;
  }

  public void setThreeMonthPlusCount(long threeMonthPlusCount) {
    this.threeMonthPlusCount = threeMonthPlusCount;
    setThreeMonthPlusCountIsSet(true);
  }

  public void unsetThreeMonthPlusCount() {
    __isset_bit_vector.clear(__THREEMONTHPLUSCOUNT_ISSET_ID);
  }

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

  public void setThreeMonthPlusCountIsSet(boolean value) {
    __isset_bit_vector.set(__THREEMONTHPLUSCOUNT_ISSET_ID, value);
  }

  public long getSixMonthPlusCount() {
    return this.sixMonthPlusCount;
  }

  public void setSixMonthPlusCount(long sixMonthPlusCount) {
    this.sixMonthPlusCount = sixMonthPlusCount;
    setSixMonthPlusCountIsSet(true);
  }

  public void unsetSixMonthPlusCount() {
    __isset_bit_vector.clear(__SIXMONTHPLUSCOUNT_ISSET_ID);
  }

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

  public void setSixMonthPlusCountIsSet(boolean value) {
    __isset_bit_vector.set(__SIXMONTHPLUSCOUNT_ISSET_ID, value);
  }

  public long getZeroPlusCount() {
    return this.ZeroPlusCount;
  }

  public void setZeroPlusCount(long ZeroPlusCount) {
    this.ZeroPlusCount = ZeroPlusCount;
    setZeroPlusCountIsSet(true);
  }

  public void unsetZeroPlusCount() {
    __isset_bit_vector.clear(__ZEROPLUSCOUNT_ISSET_ID);
  }

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

  public void setZeroPlusCountIsSet(boolean value) {
    __isset_bit_vector.set(__ZEROPLUSCOUNT_ISSET_ID, value);
  }

  public long getOnePlusCount() {
    return this.OnePlusCount;
  }

  public void setOnePlusCount(long OnePlusCount) {
    this.OnePlusCount = OnePlusCount;
    setOnePlusCountIsSet(true);
  }

  public void unsetOnePlusCount() {
    __isset_bit_vector.clear(__ONEPLUSCOUNT_ISSET_ID);
  }

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

  public void setOnePlusCountIsSet(boolean value) {
    __isset_bit_vector.set(__ONEPLUSCOUNT_ISSET_ID, value);
  }

  public long getZeroPlusCost() {
    return this.ZeroPlusCost;
  }

  public void setZeroPlusCost(long ZeroPlusCost) {
    this.ZeroPlusCost = ZeroPlusCost;
    setZeroPlusCostIsSet(true);
  }

  public void unsetZeroPlusCost() {
    __isset_bit_vector.clear(__ZEROPLUSCOST_ISSET_ID);
  }

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

  public void setZeroPlusCostIsSet(boolean value) {
    __isset_bit_vector.set(__ZEROPLUSCOST_ISSET_ID, value);
  }

  public long getOnePlusCost() {
    return this.OnePlusCost;
  }

  public void setOnePlusCost(long OnePlusCost) {
    this.OnePlusCost = OnePlusCost;
    setOnePlusCostIsSet(true);
  }

  public void unsetOnePlusCost() {
    __isset_bit_vector.clear(__ONEPLUSCOST_ISSET_ID);
  }

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

  public void setOnePlusCostIsSet(boolean value) {
    __isset_bit_vector.set(__ONEPLUSCOST_ISSET_ID, value);
  }

  public String getCategory() {
    return this.category;
  }

  public void setCategory(String category) {
    this.category = category;
  }

  public void unsetCategory() {
    this.category = null;
  }

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

  public void setCategoryIsSet(boolean value) {
    if (!value) {
      this.category = null;
    }
  }

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

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

    case MODEL_NAME:
      if (value == null) {
        unsetModelName();
      } else {
        setModelName((String)value);
      }
      break;

    case MODEL_NUMBER:
      if (value == null) {
        unsetModelNumber();
      } else {
        setModelNumber((String)value);
      }
      break;

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

    case FRESH_COUNT:
      if (value == null) {
        unsetFreshCount();
      } else {
        setFreshCount((Long)value);
      }
      break;

    case ONE_TO_TWO_COUNT:
      if (value == null) {
        unsetOneToTwoCount();
      } else {
        setOneToTwoCount((Long)value);
      }
      break;

    case TWO_TO_THREE_COUNT:
      if (value == null) {
        unsetTwoToThreeCount();
      } else {
        setTwoToThreeCount((Long)value);
      }
      break;

    case THREE_TO_FOUR_COUNT:
      if (value == null) {
        unsetThreeToFourCount();
      } else {
        setThreeToFourCount((Long)value);
      }
      break;

    case FOUR_PLUS_COUNT:
      if (value == null) {
        unsetFourPlusCount();
      } else {
        setFourPlusCount((Long)value);
      }
      break;

    case THREE_MONTH_PLUS_COUNT:
      if (value == null) {
        unsetThreeMonthPlusCount();
      } else {
        setThreeMonthPlusCount((Long)value);
      }
      break;

    case SIX_MONTH_PLUS_COUNT:
      if (value == null) {
        unsetSixMonthPlusCount();
      } else {
        setSixMonthPlusCount((Long)value);
      }
      break;

    case ZERO_PLUS_COUNT:
      if (value == null) {
        unsetZeroPlusCount();
      } else {
        setZeroPlusCount((Long)value);
      }
      break;

    case ONE_PLUS_COUNT:
      if (value == null) {
        unsetOnePlusCount();
      } else {
        setOnePlusCount((Long)value);
      }
      break;

    case ZERO_PLUS_COST:
      if (value == null) {
        unsetZeroPlusCost();
      } else {
        setZeroPlusCost((Long)value);
      }
      break;

    case ONE_PLUS_COST:
      if (value == null) {
        unsetOnePlusCost();
      } else {
        setOnePlusCost((Long)value);
      }
      break;

    case CATEGORY:
      if (value == null) {
        unsetCategory();
      } else {
        setCategory((String)value);
      }
      break;

    }
  }

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

    case BRAND:
      return getBrand();

    case MODEL_NAME:
      return getModelName();

    case MODEL_NUMBER:
      return getModelNumber();

    case COLOR:
      return getColor();

    case FRESH_COUNT:
      return Long.valueOf(getFreshCount());

    case ONE_TO_TWO_COUNT:
      return Long.valueOf(getOneToTwoCount());

    case TWO_TO_THREE_COUNT:
      return Long.valueOf(getTwoToThreeCount());

    case THREE_TO_FOUR_COUNT:
      return Long.valueOf(getThreeToFourCount());

    case FOUR_PLUS_COUNT:
      return Long.valueOf(getFourPlusCount());

    case THREE_MONTH_PLUS_COUNT:
      return Long.valueOf(getThreeMonthPlusCount());

    case SIX_MONTH_PLUS_COUNT:
      return Long.valueOf(getSixMonthPlusCount());

    case ZERO_PLUS_COUNT:
      return Long.valueOf(getZeroPlusCount());

    case ONE_PLUS_COUNT:
      return Long.valueOf(getOnePlusCount());

    case ZERO_PLUS_COST:
      return Long.valueOf(getZeroPlusCost());

    case ONE_PLUS_COST:
      return Long.valueOf(getOnePlusCost());

    case CATEGORY:
      return getCategory();

    }
    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 isSetItemId();
    case BRAND:
      return isSetBrand();
    case MODEL_NAME:
      return isSetModelName();
    case MODEL_NUMBER:
      return isSetModelNumber();
    case COLOR:
      return isSetColor();
    case FRESH_COUNT:
      return isSetFreshCount();
    case ONE_TO_TWO_COUNT:
      return isSetOneToTwoCount();
    case TWO_TO_THREE_COUNT:
      return isSetTwoToThreeCount();
    case THREE_TO_FOUR_COUNT:
      return isSetThreeToFourCount();
    case FOUR_PLUS_COUNT:
      return isSetFourPlusCount();
    case THREE_MONTH_PLUS_COUNT:
      return isSetThreeMonthPlusCount();
    case SIX_MONTH_PLUS_COUNT:
      return isSetSixMonthPlusCount();
    case ZERO_PLUS_COUNT:
      return isSetZeroPlusCount();
    case ONE_PLUS_COUNT:
      return isSetOnePlusCount();
    case ZERO_PLUS_COST:
      return isSetZeroPlusCost();
    case ONE_PLUS_COST:
      return isSetOnePlusCost();
    case CATEGORY:
      return isSetCategory();
    }
    throw new IllegalStateException();
  }

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

  public boolean equals(InventoryAge that) {
    if (that == null)
      return false;

    boolean this_present_itemId = true;
    boolean that_present_itemId = true;
    if (this_present_itemId || that_present_itemId) {
      if (!(this_present_itemId && that_present_itemId))
        return false;
      if (this.itemId != that.itemId)
        return false;
    }

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

    boolean this_present_modelName = true && this.isSetModelName();
    boolean that_present_modelName = true && that.isSetModelName();
    if (this_present_modelName || that_present_modelName) {
      if (!(this_present_modelName && that_present_modelName))
        return false;
      if (!this.modelName.equals(that.modelName))
        return false;
    }

    boolean this_present_modelNumber = true && this.isSetModelNumber();
    boolean that_present_modelNumber = true && that.isSetModelNumber();
    if (this_present_modelNumber || that_present_modelNumber) {
      if (!(this_present_modelNumber && that_present_modelNumber))
        return false;
      if (!this.modelNumber.equals(that.modelNumber))
        return false;
    }

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

    boolean this_present_freshCount = true;
    boolean that_present_freshCount = true;
    if (this_present_freshCount || that_present_freshCount) {
      if (!(this_present_freshCount && that_present_freshCount))
        return false;
      if (this.freshCount != that.freshCount)
        return false;
    }

    boolean this_present_oneToTwoCount = true;
    boolean that_present_oneToTwoCount = true;
    if (this_present_oneToTwoCount || that_present_oneToTwoCount) {
      if (!(this_present_oneToTwoCount && that_present_oneToTwoCount))
        return false;
      if (this.oneToTwoCount != that.oneToTwoCount)
        return false;
    }

    boolean this_present_TwoToThreeCount = true;
    boolean that_present_TwoToThreeCount = true;
    if (this_present_TwoToThreeCount || that_present_TwoToThreeCount) {
      if (!(this_present_TwoToThreeCount && that_present_TwoToThreeCount))
        return false;
      if (this.TwoToThreeCount != that.TwoToThreeCount)
        return false;
    }

    boolean this_present_ThreeToFourCount = true;
    boolean that_present_ThreeToFourCount = true;
    if (this_present_ThreeToFourCount || that_present_ThreeToFourCount) {
      if (!(this_present_ThreeToFourCount && that_present_ThreeToFourCount))
        return false;
      if (this.ThreeToFourCount != that.ThreeToFourCount)
        return false;
    }

    boolean this_present_FourPlusCount = true;
    boolean that_present_FourPlusCount = true;
    if (this_present_FourPlusCount || that_present_FourPlusCount) {
      if (!(this_present_FourPlusCount && that_present_FourPlusCount))
        return false;
      if (this.FourPlusCount != that.FourPlusCount)
        return false;
    }

    boolean this_present_threeMonthPlusCount = true;
    boolean that_present_threeMonthPlusCount = true;
    if (this_present_threeMonthPlusCount || that_present_threeMonthPlusCount) {
      if (!(this_present_threeMonthPlusCount && that_present_threeMonthPlusCount))
        return false;
      if (this.threeMonthPlusCount != that.threeMonthPlusCount)
        return false;
    }

    boolean this_present_sixMonthPlusCount = true;
    boolean that_present_sixMonthPlusCount = true;
    if (this_present_sixMonthPlusCount || that_present_sixMonthPlusCount) {
      if (!(this_present_sixMonthPlusCount && that_present_sixMonthPlusCount))
        return false;
      if (this.sixMonthPlusCount != that.sixMonthPlusCount)
        return false;
    }

    boolean this_present_ZeroPlusCount = true;
    boolean that_present_ZeroPlusCount = true;
    if (this_present_ZeroPlusCount || that_present_ZeroPlusCount) {
      if (!(this_present_ZeroPlusCount && that_present_ZeroPlusCount))
        return false;
      if (this.ZeroPlusCount != that.ZeroPlusCount)
        return false;
    }

    boolean this_present_OnePlusCount = true;
    boolean that_present_OnePlusCount = true;
    if (this_present_OnePlusCount || that_present_OnePlusCount) {
      if (!(this_present_OnePlusCount && that_present_OnePlusCount))
        return false;
      if (this.OnePlusCount != that.OnePlusCount)
        return false;
    }

    boolean this_present_ZeroPlusCost = true;
    boolean that_present_ZeroPlusCost = true;
    if (this_present_ZeroPlusCost || that_present_ZeroPlusCost) {
      if (!(this_present_ZeroPlusCost && that_present_ZeroPlusCost))
        return false;
      if (this.ZeroPlusCost != that.ZeroPlusCost)
        return false;
    }

    boolean this_present_OnePlusCost = true;
    boolean that_present_OnePlusCost = true;
    if (this_present_OnePlusCost || that_present_OnePlusCost) {
      if (!(this_present_OnePlusCost && that_present_OnePlusCost))
        return false;
      if (this.OnePlusCost != that.OnePlusCost)
        return false;
    }

    boolean this_present_category = true && this.isSetCategory();
    boolean that_present_category = true && that.isSetCategory();
    if (this_present_category || that_present_category) {
      if (!(this_present_category && that_present_category))
        return false;
      if (!this.category.equals(that.category))
        return false;
    }

    return true;
  }

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

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

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

    lastComparison = Boolean.valueOf(isSetItemId()).compareTo(typedOther.isSetItemId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetItemId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemId, typedOther.itemId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetBrand()).compareTo(typedOther.isSetBrand());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetBrand()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.brand, typedOther.brand);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetModelName()).compareTo(typedOther.isSetModelName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetModelName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.modelName, typedOther.modelName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetModelNumber()).compareTo(typedOther.isSetModelNumber());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetModelNumber()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.modelNumber, typedOther.modelNumber);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetColor()).compareTo(typedOther.isSetColor());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetColor()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.color, typedOther.color);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetFreshCount()).compareTo(typedOther.isSetFreshCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFreshCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.freshCount, typedOther.freshCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOneToTwoCount()).compareTo(typedOther.isSetOneToTwoCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOneToTwoCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.oneToTwoCount, typedOther.oneToTwoCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTwoToThreeCount()).compareTo(typedOther.isSetTwoToThreeCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTwoToThreeCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.TwoToThreeCount, typedOther.TwoToThreeCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetThreeToFourCount()).compareTo(typedOther.isSetThreeToFourCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetThreeToFourCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ThreeToFourCount, typedOther.ThreeToFourCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetFourPlusCount()).compareTo(typedOther.isSetFourPlusCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFourPlusCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.FourPlusCount, typedOther.FourPlusCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetThreeMonthPlusCount()).compareTo(typedOther.isSetThreeMonthPlusCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetThreeMonthPlusCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.threeMonthPlusCount, typedOther.threeMonthPlusCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetSixMonthPlusCount()).compareTo(typedOther.isSetSixMonthPlusCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSixMonthPlusCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sixMonthPlusCount, typedOther.sixMonthPlusCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetZeroPlusCount()).compareTo(typedOther.isSetZeroPlusCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetZeroPlusCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ZeroPlusCount, typedOther.ZeroPlusCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOnePlusCount()).compareTo(typedOther.isSetOnePlusCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOnePlusCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.OnePlusCount, typedOther.OnePlusCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetZeroPlusCost()).compareTo(typedOther.isSetZeroPlusCost());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetZeroPlusCost()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ZeroPlusCost, typedOther.ZeroPlusCost);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOnePlusCost()).compareTo(typedOther.isSetOnePlusCost());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOnePlusCost()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.OnePlusCost, typedOther.OnePlusCost);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCategory()).compareTo(typedOther.isSetCategory());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCategory()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.category, typedOther.category);
      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.itemId = iprot.readI64();
            setItemIdIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 2: // BRAND
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.brand = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 3: // MODEL_NAME
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.modelName = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 4: // MODEL_NUMBER
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.modelNumber = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 5: // COLOR
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.color = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 6: // FRESH_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.freshCount = iprot.readI64();
            setFreshCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 7: // ONE_TO_TWO_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.oneToTwoCount = iprot.readI64();
            setOneToTwoCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 8: // TWO_TO_THREE_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.TwoToThreeCount = iprot.readI64();
            setTwoToThreeCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 9: // THREE_TO_FOUR_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.ThreeToFourCount = iprot.readI64();
            setThreeToFourCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 10: // FOUR_PLUS_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.FourPlusCount = iprot.readI64();
            setFourPlusCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 11: // THREE_MONTH_PLUS_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.threeMonthPlusCount = iprot.readI64();
            setThreeMonthPlusCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 12: // SIX_MONTH_PLUS_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.sixMonthPlusCount = iprot.readI64();
            setSixMonthPlusCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 13: // ZERO_PLUS_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.ZeroPlusCount = iprot.readI64();
            setZeroPlusCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 14: // ONE_PLUS_COUNT
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.OnePlusCount = iprot.readI64();
            setOnePlusCountIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 15: // ZERO_PLUS_COST
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.ZeroPlusCost = iprot.readI64();
            setZeroPlusCostIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 16: // ONE_PLUS_COST
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.OnePlusCost = iprot.readI64();
            setOnePlusCostIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 17: // CATEGORY
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.category = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        default:
          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
      }
      iprot.readFieldEnd();
    }
    iprot.readStructEnd();
    validate();
  }

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

    oprot.writeStructBegin(STRUCT_DESC);
    oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
    oprot.writeI64(this.itemId);
    oprot.writeFieldEnd();
    if (this.brand != null) {
      oprot.writeFieldBegin(BRAND_FIELD_DESC);
      oprot.writeString(this.brand);
      oprot.writeFieldEnd();
    }
    if (this.modelName != null) {
      oprot.writeFieldBegin(MODEL_NAME_FIELD_DESC);
      oprot.writeString(this.modelName);
      oprot.writeFieldEnd();
    }
    if (this.modelNumber != null) {
      oprot.writeFieldBegin(MODEL_NUMBER_FIELD_DESC);
      oprot.writeString(this.modelNumber);
      oprot.writeFieldEnd();
    }
    if (this.color != null) {
      oprot.writeFieldBegin(COLOR_FIELD_DESC);
      oprot.writeString(this.color);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(FRESH_COUNT_FIELD_DESC);
    oprot.writeI64(this.freshCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(ONE_TO_TWO_COUNT_FIELD_DESC);
    oprot.writeI64(this.oneToTwoCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(TWO_TO_THREE_COUNT_FIELD_DESC);
    oprot.writeI64(this.TwoToThreeCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(THREE_TO_FOUR_COUNT_FIELD_DESC);
    oprot.writeI64(this.ThreeToFourCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(FOUR_PLUS_COUNT_FIELD_DESC);
    oprot.writeI64(this.FourPlusCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(THREE_MONTH_PLUS_COUNT_FIELD_DESC);
    oprot.writeI64(this.threeMonthPlusCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(SIX_MONTH_PLUS_COUNT_FIELD_DESC);
    oprot.writeI64(this.sixMonthPlusCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(ZERO_PLUS_COUNT_FIELD_DESC);
    oprot.writeI64(this.ZeroPlusCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(ONE_PLUS_COUNT_FIELD_DESC);
    oprot.writeI64(this.OnePlusCount);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(ZERO_PLUS_COST_FIELD_DESC);
    oprot.writeI64(this.ZeroPlusCost);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(ONE_PLUS_COST_FIELD_DESC);
    oprot.writeI64(this.OnePlusCost);
    oprot.writeFieldEnd();
    if (this.category != null) {
      oprot.writeFieldBegin(CATEGORY_FIELD_DESC);
      oprot.writeString(this.category);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

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

    sb.append("itemId:");
    sb.append(this.itemId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("brand:");
    if (this.brand == null) {
      sb.append("null");
    } else {
      sb.append(this.brand);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("modelName:");
    if (this.modelName == null) {
      sb.append("null");
    } else {
      sb.append(this.modelName);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("modelNumber:");
    if (this.modelNumber == null) {
      sb.append("null");
    } else {
      sb.append(this.modelNumber);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("color:");
    if (this.color == null) {
      sb.append("null");
    } else {
      sb.append(this.color);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("freshCount:");
    sb.append(this.freshCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("oneToTwoCount:");
    sb.append(this.oneToTwoCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("TwoToThreeCount:");
    sb.append(this.TwoToThreeCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("ThreeToFourCount:");
    sb.append(this.ThreeToFourCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("FourPlusCount:");
    sb.append(this.FourPlusCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("threeMonthPlusCount:");
    sb.append(this.threeMonthPlusCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("sixMonthPlusCount:");
    sb.append(this.sixMonthPlusCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("ZeroPlusCount:");
    sb.append(this.ZeroPlusCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("OnePlusCount:");
    sb.append(this.OnePlusCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("ZeroPlusCost:");
    sb.append(this.ZeroPlusCost);
    first = false;
    if (!first) sb.append(", ");
    sb.append("OnePlusCost:");
    sb.append(this.OnePlusCost);
    first = false;
    if (!first) sb.append(", ");
    sb.append("category:");
    if (this.category == null) {
      sb.append("null");
    } else {
      sb.append(this.category);
    }
    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);
    }
  }

}