Subversion Repositories SmartDukaan

Rev

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

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

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

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

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

  private static final TField ORDER_ID_FIELD_DESC = new TField("orderId", TType.I64, (short)1);
  private static final TField JACKET_NUMBER_FIELD_DESC = new TField("jacketNumber", TType.I64, (short)2);
  private static final TField INVOICE_NUMBER_FIELD_DESC = new TField("invoiceNumber", TType.STRING, (short)3);
  private static final TField ITEM_ID_FIELD_DESC = new TField("itemId", TType.I64, (short)4);
  private static final TField PRODUCT_GROUP_FIELD_DESC = new TField("productGroup", TType.STRING, (short)5);
  private static final TField BRAND_FIELD_DESC = new TField("brand", TType.STRING, (short)6);
  private static final TField MODEL_NUMBER_FIELD_DESC = new TField("modelNumber", TType.STRING, (short)7);
  private static final TField MODEL_NAME_FIELD_DESC = new TField("modelName", TType.STRING, (short)8);
  private static final TField COLOR_FIELD_DESC = new TField("color", TType.STRING, (short)9);
  private static final TField TOTAL_PRICE_FIELD_DESC = new TField("totalPrice", TType.DOUBLE, (short)10);
  private static final TField TRANSFER_PRICE_FIELD_DESC = new TField("transferPrice", TType.DOUBLE, (short)11);
  private static final TField PROCESSED_STATUS_FIELD_DESC = new TField("processedStatus", TType.BOOL, (short)12);
  private static final TField CREATED_AT_FIELD_DESC = new TField("createdAt", TType.I64, (short)13);
  private static final TField PROCESSED_AT_FIELD_DESC = new TField("processedAt", TType.I64, (short)14);

  private long orderId;
  private long jacketNumber;
  private String invoiceNumber;
  private long itemId;
  private String productGroup;
  private String brand;
  private String modelNumber;
  private String modelName;
  private String color;
  private double totalPrice;
  private double transferPrice;
  private boolean processedStatus;
  private long createdAt;
  private long processedAt;

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements TFieldIdEnum {
    ORDER_ID((short)1, "orderId"),
    JACKET_NUMBER((short)2, "jacketNumber"),
    INVOICE_NUMBER((short)3, "invoiceNumber"),
    ITEM_ID((short)4, "itemId"),
    PRODUCT_GROUP((short)5, "productGroup"),
    BRAND((short)6, "brand"),
    MODEL_NUMBER((short)7, "modelNumber"),
    MODEL_NAME((short)8, "modelName"),
    COLOR((short)9, "color"),
    TOTAL_PRICE((short)10, "totalPrice"),
    TRANSFER_PRICE((short)11, "transferPrice"),
    PROCESSED_STATUS((short)12, "processedStatus"),
    CREATED_AT((short)13, "createdAt"),
    PROCESSED_AT((short)14, "processedAt");

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

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

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

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

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

    private final short _thriftId;
    private final String _fieldName;

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

    public short getThriftFieldId() {
      return _thriftId;
    }

    public String getFieldName() {
      return _fieldName;
    }
  }

  // isset id assignments
  private static final int __ORDERID_ISSET_ID = 0;
  private static final int __JACKETNUMBER_ISSET_ID = 1;
  private static final int __ITEMID_ISSET_ID = 2;
  private static final int __TOTALPRICE_ISSET_ID = 3;
  private static final int __TRANSFERPRICE_ISSET_ID = 4;
  private static final int __PROCESSEDSTATUS_ISSET_ID = 5;
  private static final int __CREATEDAT_ISSET_ID = 6;
  private static final int __PROCESSEDAT_ISSET_ID = 7;
  private BitSet __isset_bit_vector = new BitSet(8);

  public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
    put(_Fields.ORDER_ID, new FieldMetaData("orderId", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.JACKET_NUMBER, new FieldMetaData("jacketNumber", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.INVOICE_NUMBER, new FieldMetaData("invoiceNumber", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.ITEM_ID, new FieldMetaData("itemId", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.PRODUCT_GROUP, new FieldMetaData("productGroup", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.BRAND, new FieldMetaData("brand", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.MODEL_NUMBER, new FieldMetaData("modelNumber", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.MODEL_NAME, new FieldMetaData("modelName", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.COLOR, new FieldMetaData("color", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    put(_Fields.TOTAL_PRICE, new FieldMetaData("totalPrice", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    put(_Fields.TRANSFER_PRICE, new FieldMetaData("transferPrice", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    put(_Fields.PROCESSED_STATUS, new FieldMetaData("processedStatus", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.BOOL)));
    put(_Fields.CREATED_AT, new FieldMetaData("createdAt", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
    put(_Fields.PROCESSED_AT, new FieldMetaData("processedAt", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I64)));
  }});

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

  public ReturnOrder() {
  }

  public ReturnOrder(
    long orderId,
    long jacketNumber,
    String invoiceNumber,
    long itemId,
    String productGroup,
    String brand,
    String modelNumber,
    String modelName,
    String color,
    double totalPrice,
    double transferPrice,
    boolean processedStatus,
    long createdAt,
    long processedAt)
  {
    this();
    this.orderId = orderId;
    setOrderIdIsSet(true);
    this.jacketNumber = jacketNumber;
    setJacketNumberIsSet(true);
    this.invoiceNumber = invoiceNumber;
    this.itemId = itemId;
    setItemIdIsSet(true);
    this.productGroup = productGroup;
    this.brand = brand;
    this.modelNumber = modelNumber;
    this.modelName = modelName;
    this.color = color;
    this.totalPrice = totalPrice;
    setTotalPriceIsSet(true);
    this.transferPrice = transferPrice;
    setTransferPriceIsSet(true);
    this.processedStatus = processedStatus;
    setProcessedStatusIsSet(true);
    this.createdAt = createdAt;
    setCreatedAtIsSet(true);
    this.processedAt = processedAt;
    setProcessedAtIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public ReturnOrder(ReturnOrder other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    this.orderId = other.orderId;
    this.jacketNumber = other.jacketNumber;
    if (other.isSetInvoiceNumber()) {
      this.invoiceNumber = other.invoiceNumber;
    }
    this.itemId = other.itemId;
    if (other.isSetProductGroup()) {
      this.productGroup = other.productGroup;
    }
    if (other.isSetBrand()) {
      this.brand = other.brand;
    }
    if (other.isSetModelNumber()) {
      this.modelNumber = other.modelNumber;
    }
    if (other.isSetModelName()) {
      this.modelName = other.modelName;
    }
    if (other.isSetColor()) {
      this.color = other.color;
    }
    this.totalPrice = other.totalPrice;
    this.transferPrice = other.transferPrice;
    this.processedStatus = other.processedStatus;
    this.createdAt = other.createdAt;
    this.processedAt = other.processedAt;
  }

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

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

  public long getOrderId() {
    return this.orderId;
  }

  public ReturnOrder setOrderId(long orderId) {
    this.orderId = orderId;
    setOrderIdIsSet(true);
    return this;
  }

  public void unsetOrderId() {
    __isset_bit_vector.clear(__ORDERID_ISSET_ID);
  }

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

  public void setOrderIdIsSet(boolean value) {
    __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
  }

  public long getJacketNumber() {
    return this.jacketNumber;
  }

  public ReturnOrder setJacketNumber(long jacketNumber) {
    this.jacketNumber = jacketNumber;
    setJacketNumberIsSet(true);
    return this;
  }

  public void unsetJacketNumber() {
    __isset_bit_vector.clear(__JACKETNUMBER_ISSET_ID);
  }

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

  public void setJacketNumberIsSet(boolean value) {
    __isset_bit_vector.set(__JACKETNUMBER_ISSET_ID, value);
  }

  public String getInvoiceNumber() {
    return this.invoiceNumber;
  }

  public ReturnOrder setInvoiceNumber(String invoiceNumber) {
    this.invoiceNumber = invoiceNumber;
    return this;
  }

  public void unsetInvoiceNumber() {
    this.invoiceNumber = null;
  }

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

  public void setInvoiceNumberIsSet(boolean value) {
    if (!value) {
      this.invoiceNumber = null;
    }
  }

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

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

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

  /** Returns true if field itemId is set (has been asigned 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 getProductGroup() {
    return this.productGroup;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public double getTotalPrice() {
    return this.totalPrice;
  }

  public ReturnOrder setTotalPrice(double totalPrice) {
    this.totalPrice = totalPrice;
    setTotalPriceIsSet(true);
    return this;
  }

  public void unsetTotalPrice() {
    __isset_bit_vector.clear(__TOTALPRICE_ISSET_ID);
  }

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

  public void setTotalPriceIsSet(boolean value) {
    __isset_bit_vector.set(__TOTALPRICE_ISSET_ID, value);
  }

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

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

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

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

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

  public boolean isProcessedStatus() {
    return this.processedStatus;
  }

  public ReturnOrder setProcessedStatus(boolean processedStatus) {
    this.processedStatus = processedStatus;
    setProcessedStatusIsSet(true);
    return this;
  }

  public void unsetProcessedStatus() {
    __isset_bit_vector.clear(__PROCESSEDSTATUS_ISSET_ID);
  }

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

  public void setProcessedStatusIsSet(boolean value) {
    __isset_bit_vector.set(__PROCESSEDSTATUS_ISSET_ID, value);
  }

  public long getCreatedAt() {
    return this.createdAt;
  }

  public ReturnOrder setCreatedAt(long createdAt) {
    this.createdAt = createdAt;
    setCreatedAtIsSet(true);
    return this;
  }

  public void unsetCreatedAt() {
    __isset_bit_vector.clear(__CREATEDAT_ISSET_ID);
  }

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

  public void setCreatedAtIsSet(boolean value) {
    __isset_bit_vector.set(__CREATEDAT_ISSET_ID, value);
  }

  public long getProcessedAt() {
    return this.processedAt;
  }

  public ReturnOrder setProcessedAt(long processedAt) {
    this.processedAt = processedAt;
    setProcessedAtIsSet(true);
    return this;
  }

  public void unsetProcessedAt() {
    __isset_bit_vector.clear(__PROCESSEDAT_ISSET_ID);
  }

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

  public void setProcessedAtIsSet(boolean value) {
    __isset_bit_vector.set(__PROCESSEDAT_ISSET_ID, value);
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case ORDER_ID:
      if (value == null) {
        unsetOrderId();
      } else {
        setOrderId((Long)value);
      }
      break;

    case JACKET_NUMBER:
      if (value == null) {
        unsetJacketNumber();
      } else {
        setJacketNumber((Long)value);
      }
      break;

    case INVOICE_NUMBER:
      if (value == null) {
        unsetInvoiceNumber();
      } else {
        setInvoiceNumber((String)value);
      }
      break;

    case ITEM_ID:
      if (value == null) {
        unsetItemId();
      } else {
        setItemId((Long)value);
      }
      break;

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

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

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

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

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

    case TOTAL_PRICE:
      if (value == null) {
        unsetTotalPrice();
      } else {
        setTotalPrice((Double)value);
      }
      break;

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

    case PROCESSED_STATUS:
      if (value == null) {
        unsetProcessedStatus();
      } else {
        setProcessedStatus((Boolean)value);
      }
      break;

    case CREATED_AT:
      if (value == null) {
        unsetCreatedAt();
      } else {
        setCreatedAt((Long)value);
      }
      break;

    case PROCESSED_AT:
      if (value == null) {
        unsetProcessedAt();
      } else {
        setProcessedAt((Long)value);
      }
      break;

    }
  }

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

  public Object getFieldValue(_Fields field) {
    switch (field) {
    case ORDER_ID:
      return new Long(getOrderId());

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

    case INVOICE_NUMBER:
      return getInvoiceNumber();

    case ITEM_ID:
      return new Long(getItemId());

    case PRODUCT_GROUP:
      return getProductGroup();

    case BRAND:
      return getBrand();

    case MODEL_NUMBER:
      return getModelNumber();

    case MODEL_NAME:
      return getModelName();

    case COLOR:
      return getColor();

    case TOTAL_PRICE:
      return new Double(getTotalPrice());

    case TRANSFER_PRICE:
      return new Double(getTransferPrice());

    case PROCESSED_STATUS:
      return new Boolean(isProcessedStatus());

    case CREATED_AT:
      return new Long(getCreatedAt());

    case PROCESSED_AT:
      return new Long(getProcessedAt());

    }
    throw new IllegalStateException();
  }

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

  /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
  public boolean isSet(_Fields field) {
    switch (field) {
    case ORDER_ID:
      return isSetOrderId();
    case JACKET_NUMBER:
      return isSetJacketNumber();
    case INVOICE_NUMBER:
      return isSetInvoiceNumber();
    case ITEM_ID:
      return isSetItemId();
    case PRODUCT_GROUP:
      return isSetProductGroup();
    case BRAND:
      return isSetBrand();
    case MODEL_NUMBER:
      return isSetModelNumber();
    case MODEL_NAME:
      return isSetModelName();
    case COLOR:
      return isSetColor();
    case TOTAL_PRICE:
      return isSetTotalPrice();
    case TRANSFER_PRICE:
      return isSetTransferPrice();
    case PROCESSED_STATUS:
      return isSetProcessedStatus();
    case CREATED_AT:
      return isSetCreatedAt();
    case PROCESSED_AT:
      return isSetProcessedAt();
    }
    throw new IllegalStateException();
  }

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

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

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

    boolean this_present_orderId = true;
    boolean that_present_orderId = true;
    if (this_present_orderId || that_present_orderId) {
      if (!(this_present_orderId && that_present_orderId))
        return false;
      if (this.orderId != that.orderId)
        return false;
    }

    boolean this_present_jacketNumber = true;
    boolean that_present_jacketNumber = true;
    if (this_present_jacketNumber || that_present_jacketNumber) {
      if (!(this_present_jacketNumber && that_present_jacketNumber))
        return false;
      if (this.jacketNumber != that.jacketNumber)
        return false;
    }

    boolean this_present_invoiceNumber = true && this.isSetInvoiceNumber();
    boolean that_present_invoiceNumber = true && that.isSetInvoiceNumber();
    if (this_present_invoiceNumber || that_present_invoiceNumber) {
      if (!(this_present_invoiceNumber && that_present_invoiceNumber))
        return false;
      if (!this.invoiceNumber.equals(that.invoiceNumber))
        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_productGroup = true && this.isSetProductGroup();
    boolean that_present_productGroup = true && that.isSetProductGroup();
    if (this_present_productGroup || that_present_productGroup) {
      if (!(this_present_productGroup && that_present_productGroup))
        return false;
      if (!this.productGroup.equals(that.productGroup))
        return false;
    }

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

    boolean this_present_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_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_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_totalPrice = true;
    boolean that_present_totalPrice = true;
    if (this_present_totalPrice || that_present_totalPrice) {
      if (!(this_present_totalPrice && that_present_totalPrice))
        return false;
      if (this.totalPrice != that.totalPrice)
        return false;
    }

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

    boolean this_present_processedStatus = true;
    boolean that_present_processedStatus = true;
    if (this_present_processedStatus || that_present_processedStatus) {
      if (!(this_present_processedStatus && that_present_processedStatus))
        return false;
      if (this.processedStatus != that.processedStatus)
        return false;
    }

    boolean this_present_createdAt = true;
    boolean that_present_createdAt = true;
    if (this_present_createdAt || that_present_createdAt) {
      if (!(this_present_createdAt && that_present_createdAt))
        return false;
      if (this.createdAt != that.createdAt)
        return false;
    }

    boolean this_present_processedAt = true;
    boolean that_present_processedAt = true;
    if (this_present_processedAt || that_present_processedAt) {
      if (!(this_present_processedAt && that_present_processedAt))
        return false;
      if (this.processedAt != that.processedAt)
        return false;
    }

    return true;
  }

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

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

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

    lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(isSetOrderId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(orderId, typedOther.orderId);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetJacketNumber()).compareTo(isSetJacketNumber());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(jacketNumber, typedOther.jacketNumber);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetInvoiceNumber()).compareTo(isSetInvoiceNumber());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(invoiceNumber, typedOther.invoiceNumber);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetItemId()).compareTo(isSetItemId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(itemId, typedOther.itemId);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetProductGroup()).compareTo(isSetProductGroup());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(productGroup, typedOther.productGroup);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetBrand()).compareTo(isSetBrand());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(brand, typedOther.brand);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetModelNumber()).compareTo(isSetModelNumber());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(modelNumber, typedOther.modelNumber);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetModelName()).compareTo(isSetModelName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(modelName, typedOther.modelName);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetColor()).compareTo(isSetColor());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(color, typedOther.color);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetTotalPrice()).compareTo(isSetTotalPrice());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(totalPrice, typedOther.totalPrice);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetTransferPrice()).compareTo(isSetTransferPrice());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(transferPrice, typedOther.transferPrice);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetProcessedStatus()).compareTo(isSetProcessedStatus());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(processedStatus, typedOther.processedStatus);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetCreatedAt()).compareTo(isSetCreatedAt());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(createdAt, typedOther.createdAt);
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetProcessedAt()).compareTo(isSetProcessedAt());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(processedAt, typedOther.processedAt);
    if (lastComparison != 0) {
      return lastComparison;
    }
    return 0;
  }

  public void read(TProtocol iprot) throws TException {
    TField field;
    iprot.readStructBegin();
    while (true)
    {
      field = iprot.readFieldBegin();
      if (field.type == TType.STOP) { 
        break;
      }
      _Fields fieldId = _Fields.findByThriftId(field.id);
      if (fieldId == null) {
        TProtocolUtil.skip(iprot, field.type);
      } else {
        switch (fieldId) {
          case ORDER_ID:
            if (field.type == TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case JACKET_NUMBER:
            if (field.type == TType.I64) {
              this.jacketNumber = iprot.readI64();
              setJacketNumberIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case INVOICE_NUMBER:
            if (field.type == TType.STRING) {
              this.invoiceNumber = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case ITEM_ID:
            if (field.type == TType.I64) {
              this.itemId = iprot.readI64();
              setItemIdIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case PRODUCT_GROUP:
            if (field.type == TType.STRING) {
              this.productGroup = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case BRAND:
            if (field.type == TType.STRING) {
              this.brand = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case MODEL_NUMBER:
            if (field.type == TType.STRING) {
              this.modelNumber = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case MODEL_NAME:
            if (field.type == TType.STRING) {
              this.modelName = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case COLOR:
            if (field.type == TType.STRING) {
              this.color = iprot.readString();
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case TOTAL_PRICE:
            if (field.type == TType.DOUBLE) {
              this.totalPrice = iprot.readDouble();
              setTotalPriceIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case TRANSFER_PRICE:
            if (field.type == TType.DOUBLE) {
              this.transferPrice = iprot.readDouble();
              setTransferPriceIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case PROCESSED_STATUS:
            if (field.type == TType.BOOL) {
              this.processedStatus = iprot.readBool();
              setProcessedStatusIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case CREATED_AT:
            if (field.type == TType.I64) {
              this.createdAt = iprot.readI64();
              setCreatedAtIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case PROCESSED_AT:
            if (field.type == TType.I64) {
              this.processedAt = iprot.readI64();
              setProcessedAtIsSet(true);
            } else { 
              TProtocolUtil.skip(iprot, field.type);
            }
            break;
        }
        iprot.readFieldEnd();
      }
    }
    iprot.readStructEnd();
    validate();
  }

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

    oprot.writeStructBegin(STRUCT_DESC);
    oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
    oprot.writeI64(this.orderId);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(JACKET_NUMBER_FIELD_DESC);
    oprot.writeI64(this.jacketNumber);
    oprot.writeFieldEnd();
    if (this.invoiceNumber != null) {
      oprot.writeFieldBegin(INVOICE_NUMBER_FIELD_DESC);
      oprot.writeString(this.invoiceNumber);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
    oprot.writeI64(this.itemId);
    oprot.writeFieldEnd();
    if (this.productGroup != null) {
      oprot.writeFieldBegin(PRODUCT_GROUP_FIELD_DESC);
      oprot.writeString(this.productGroup);
      oprot.writeFieldEnd();
    }
    if (this.brand != null) {
      oprot.writeFieldBegin(BRAND_FIELD_DESC);
      oprot.writeString(this.brand);
      oprot.writeFieldEnd();
    }
    if (this.modelNumber != null) {
      oprot.writeFieldBegin(MODEL_NUMBER_FIELD_DESC);
      oprot.writeString(this.modelNumber);
      oprot.writeFieldEnd();
    }
    if (this.modelName != null) {
      oprot.writeFieldBegin(MODEL_NAME_FIELD_DESC);
      oprot.writeString(this.modelName);
      oprot.writeFieldEnd();
    }
    if (this.color != null) {
      oprot.writeFieldBegin(COLOR_FIELD_DESC);
      oprot.writeString(this.color);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(TOTAL_PRICE_FIELD_DESC);
    oprot.writeDouble(this.totalPrice);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(TRANSFER_PRICE_FIELD_DESC);
    oprot.writeDouble(this.transferPrice);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(PROCESSED_STATUS_FIELD_DESC);
    oprot.writeBool(this.processedStatus);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(CREATED_AT_FIELD_DESC);
    oprot.writeI64(this.createdAt);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(PROCESSED_AT_FIELD_DESC);
    oprot.writeI64(this.processedAt);
    oprot.writeFieldEnd();
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

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

    sb.append("orderId:");
    sb.append(this.orderId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("jacketNumber:");
    sb.append(this.jacketNumber);
    first = false;
    if (!first) sb.append(", ");
    sb.append("invoiceNumber:");
    if (this.invoiceNumber == null) {
      sb.append("null");
    } else {
      sb.append(this.invoiceNumber);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("itemId:");
    sb.append(this.itemId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("productGroup:");
    if (this.productGroup == null) {
      sb.append("null");
    } else {
      sb.append(this.productGroup);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("brand:");
    if (this.brand == null) {
      sb.append("null");
    } else {
      sb.append(this.brand);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("modelNumber:");
    if (this.modelNumber == null) {
      sb.append("null");
    } else {
      sb.append(this.modelNumber);
    }
    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("color:");
    if (this.color == null) {
      sb.append("null");
    } else {
      sb.append(this.color);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("totalPrice:");
    sb.append(this.totalPrice);
    first = false;
    if (!first) sb.append(", ");
    sb.append("transferPrice:");
    sb.append(this.transferPrice);
    first = false;
    if (!first) sb.append(", ");
    sb.append("processedStatus:");
    sb.append(this.processedStatus);
    first = false;
    if (!first) sb.append(", ");
    sb.append("createdAt:");
    sb.append(this.createdAt);
    first = false;
    if (!first) sb.append(", ");
    sb.append("processedAt:");
    sb.append(this.processedAt);
    first = false;
    sb.append(")");
    return sb.toString();
  }

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

}