Subversion Repositories SmartDukaan

Rev

Rev 6524 | 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.logistics;

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

  private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)1);
  private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)2);
  private static final org.apache.thrift.protocol.TField DELIVERY_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("deliveryTime", org.apache.thrift.protocol.TType.I64, (short)3);
  private static final org.apache.thrift.protocol.TField AIRWAY_BILLNO_FIELD_DESC = new org.apache.thrift.protocol.TField("airway_billno", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField SHIPPING_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("shippingTime", org.apache.thrift.protocol.TType.I64, (short)5);
  private static final org.apache.thrift.protocol.TField COD_ALLOWED_FIELD_DESC = new org.apache.thrift.protocol.TField("codAllowed", org.apache.thrift.protocol.TType.BOOL, (short)6);
  private static final org.apache.thrift.protocol.TField FULFILMENT_WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fulfilmentWarehouseId", org.apache.thrift.protocol.TType.I64, (short)7);
  private static final org.apache.thrift.protocol.TField OTG_AVAILABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("otgAvailable", org.apache.thrift.protocol.TType.BOOL, (short)8);
  private static final org.apache.thrift.protocol.TField DELIVERY_DELAY_FIELD_DESC = new org.apache.thrift.protocol.TField("deliveryDelay", org.apache.thrift.protocol.TType.I64, (short)9);

  private long warehouseId; // required
  private long providerId; // required
  private long deliveryTime; // required
  private String airway_billno; // required
  private long shippingTime; // required
  private boolean codAllowed; // required
  private long fulfilmentWarehouseId; // required
  private boolean otgAvailable; // required
  private long deliveryDelay; // 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 {
    WAREHOUSE_ID((short)1, "warehouseId"),
    PROVIDER_ID((short)2, "providerId"),
    DELIVERY_TIME((short)3, "deliveryTime"),
    AIRWAY_BILLNO((short)4, "airway_billno"),
    SHIPPING_TIME((short)5, "shippingTime"),
    COD_ALLOWED((short)6, "codAllowed"),
    FULFILMENT_WAREHOUSE_ID((short)7, "fulfilmentWarehouseId"),
    OTG_AVAILABLE((short)8, "otgAvailable"),
    DELIVERY_DELAY((short)9, "deliveryDelay");

    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: // WAREHOUSE_ID
          return WAREHOUSE_ID;
        case 2: // PROVIDER_ID
          return PROVIDER_ID;
        case 3: // DELIVERY_TIME
          return DELIVERY_TIME;
        case 4: // AIRWAY_BILLNO
          return AIRWAY_BILLNO;
        case 5: // SHIPPING_TIME
          return SHIPPING_TIME;
        case 6: // COD_ALLOWED
          return COD_ALLOWED;
        case 7: // FULFILMENT_WAREHOUSE_ID
          return FULFILMENT_WAREHOUSE_ID;
        case 8: // OTG_AVAILABLE
          return OTG_AVAILABLE;
        case 9: // DELIVERY_DELAY
          return DELIVERY_DELAY;
        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 __WAREHOUSEID_ISSET_ID = 0;
  private static final int __PROVIDERID_ISSET_ID = 1;
  private static final int __DELIVERYTIME_ISSET_ID = 2;
  private static final int __SHIPPINGTIME_ISSET_ID = 3;
  private static final int __CODALLOWED_ISSET_ID = 4;
  private static final int __FULFILMENTWAREHOUSEID_ISSET_ID = 5;
  private static final int __OTGAVAILABLE_ISSET_ID = 6;
  private static final int __DELIVERYDELAY_ISSET_ID = 7;
  private BitSet __isset_bit_vector = new BitSet(8);

  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
  static {
    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
    tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.DELIVERY_TIME, new org.apache.thrift.meta_data.FieldMetaData("deliveryTime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.AIRWAY_BILLNO, new org.apache.thrift.meta_data.FieldMetaData("airway_billno", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.SHIPPING_TIME, new org.apache.thrift.meta_data.FieldMetaData("shippingTime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.COD_ALLOWED, new org.apache.thrift.meta_data.FieldMetaData("codAllowed", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.FULFILMENT_WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("fulfilmentWarehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.OTG_AVAILABLE, new org.apache.thrift.meta_data.FieldMetaData("otgAvailable", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.DELIVERY_DELAY, new org.apache.thrift.meta_data.FieldMetaData("deliveryDelay", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(LogisticsInfo.class, metaDataMap);
  }

  public LogisticsInfo() {
  }

  public LogisticsInfo(
    long warehouseId,
    long providerId,
    long deliveryTime,
    String airway_billno,
    long shippingTime,
    boolean codAllowed,
    long fulfilmentWarehouseId,
    boolean otgAvailable,
    long deliveryDelay)
  {
    this();
    this.warehouseId = warehouseId;
    setWarehouseIdIsSet(true);
    this.providerId = providerId;
    setProviderIdIsSet(true);
    this.deliveryTime = deliveryTime;
    setDeliveryTimeIsSet(true);
    this.airway_billno = airway_billno;
    this.shippingTime = shippingTime;
    setShippingTimeIsSet(true);
    this.codAllowed = codAllowed;
    setCodAllowedIsSet(true);
    this.fulfilmentWarehouseId = fulfilmentWarehouseId;
    setFulfilmentWarehouseIdIsSet(true);
    this.otgAvailable = otgAvailable;
    setOtgAvailableIsSet(true);
    this.deliveryDelay = deliveryDelay;
    setDeliveryDelayIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public LogisticsInfo(LogisticsInfo other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    this.warehouseId = other.warehouseId;
    this.providerId = other.providerId;
    this.deliveryTime = other.deliveryTime;
    if (other.isSetAirway_billno()) {
      this.airway_billno = other.airway_billno;
    }
    this.shippingTime = other.shippingTime;
    this.codAllowed = other.codAllowed;
    this.fulfilmentWarehouseId = other.fulfilmentWarehouseId;
    this.otgAvailable = other.otgAvailable;
    this.deliveryDelay = other.deliveryDelay;
  }

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

  @Override
  public void clear() {
    setWarehouseIdIsSet(false);
    this.warehouseId = 0;
    setProviderIdIsSet(false);
    this.providerId = 0;
    setDeliveryTimeIsSet(false);
    this.deliveryTime = 0;
    this.airway_billno = null;
    setShippingTimeIsSet(false);
    this.shippingTime = 0;
    setCodAllowedIsSet(false);
    this.codAllowed = false;
    setFulfilmentWarehouseIdIsSet(false);
    this.fulfilmentWarehouseId = 0;
    setOtgAvailableIsSet(false);
    this.otgAvailable = false;
    setDeliveryDelayIsSet(false);
    this.deliveryDelay = 0;
  }

  public long getWarehouseId() {
    return this.warehouseId;
  }

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

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

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

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

  public long getProviderId() {
    return this.providerId;
  }

  public void setProviderId(long providerId) {
    this.providerId = providerId;
    setProviderIdIsSet(true);
  }

  public void unsetProviderId() {
    __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
  }

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

  public void setProviderIdIsSet(boolean value) {
    __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
  }

  public long getDeliveryTime() {
    return this.deliveryTime;
  }

  public void setDeliveryTime(long deliveryTime) {
    this.deliveryTime = deliveryTime;
    setDeliveryTimeIsSet(true);
  }

  public void unsetDeliveryTime() {
    __isset_bit_vector.clear(__DELIVERYTIME_ISSET_ID);
  }

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

  public void setDeliveryTimeIsSet(boolean value) {
    __isset_bit_vector.set(__DELIVERYTIME_ISSET_ID, value);
  }

  public String getAirway_billno() {
    return this.airway_billno;
  }

  public void setAirway_billno(String airway_billno) {
    this.airway_billno = airway_billno;
  }

  public void unsetAirway_billno() {
    this.airway_billno = null;
  }

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

  public void setAirway_billnoIsSet(boolean value) {
    if (!value) {
      this.airway_billno = null;
    }
  }

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

  public void setShippingTime(long shippingTime) {
    this.shippingTime = shippingTime;
    setShippingTimeIsSet(true);
  }

  public void unsetShippingTime() {
    __isset_bit_vector.clear(__SHIPPINGTIME_ISSET_ID);
  }

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

  public void setShippingTimeIsSet(boolean value) {
    __isset_bit_vector.set(__SHIPPINGTIME_ISSET_ID, value);
  }

  public boolean isCodAllowed() {
    return this.codAllowed;
  }

  public void setCodAllowed(boolean codAllowed) {
    this.codAllowed = codAllowed;
    setCodAllowedIsSet(true);
  }

  public void unsetCodAllowed() {
    __isset_bit_vector.clear(__CODALLOWED_ISSET_ID);
  }

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

  public void setCodAllowedIsSet(boolean value) {
    __isset_bit_vector.set(__CODALLOWED_ISSET_ID, value);
  }

  public long getFulfilmentWarehouseId() {
    return this.fulfilmentWarehouseId;
  }

  public void setFulfilmentWarehouseId(long fulfilmentWarehouseId) {
    this.fulfilmentWarehouseId = fulfilmentWarehouseId;
    setFulfilmentWarehouseIdIsSet(true);
  }

  public void unsetFulfilmentWarehouseId() {
    __isset_bit_vector.clear(__FULFILMENTWAREHOUSEID_ISSET_ID);
  }

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

  public void setFulfilmentWarehouseIdIsSet(boolean value) {
    __isset_bit_vector.set(__FULFILMENTWAREHOUSEID_ISSET_ID, value);
  }

  public boolean isOtgAvailable() {
    return this.otgAvailable;
  }

  public void setOtgAvailable(boolean otgAvailable) {
    this.otgAvailable = otgAvailable;
    setOtgAvailableIsSet(true);
  }

  public void unsetOtgAvailable() {
    __isset_bit_vector.clear(__OTGAVAILABLE_ISSET_ID);
  }

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

  public void setOtgAvailableIsSet(boolean value) {
    __isset_bit_vector.set(__OTGAVAILABLE_ISSET_ID, value);
  }

  public long getDeliveryDelay() {
    return this.deliveryDelay;
  }

  public void setDeliveryDelay(long deliveryDelay) {
    this.deliveryDelay = deliveryDelay;
    setDeliveryDelayIsSet(true);
  }

  public void unsetDeliveryDelay() {
    __isset_bit_vector.clear(__DELIVERYDELAY_ISSET_ID);
  }

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

  public void setDeliveryDelayIsSet(boolean value) {
    __isset_bit_vector.set(__DELIVERYDELAY_ISSET_ID, value);
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case WAREHOUSE_ID:
      if (value == null) {
        unsetWarehouseId();
      } else {
        setWarehouseId((Long)value);
      }
      break;

    case PROVIDER_ID:
      if (value == null) {
        unsetProviderId();
      } else {
        setProviderId((Long)value);
      }
      break;

    case DELIVERY_TIME:
      if (value == null) {
        unsetDeliveryTime();
      } else {
        setDeliveryTime((Long)value);
      }
      break;

    case AIRWAY_BILLNO:
      if (value == null) {
        unsetAirway_billno();
      } else {
        setAirway_billno((String)value);
      }
      break;

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

    case COD_ALLOWED:
      if (value == null) {
        unsetCodAllowed();
      } else {
        setCodAllowed((Boolean)value);
      }
      break;

    case FULFILMENT_WAREHOUSE_ID:
      if (value == null) {
        unsetFulfilmentWarehouseId();
      } else {
        setFulfilmentWarehouseId((Long)value);
      }
      break;

    case OTG_AVAILABLE:
      if (value == null) {
        unsetOtgAvailable();
      } else {
        setOtgAvailable((Boolean)value);
      }
      break;

    case DELIVERY_DELAY:
      if (value == null) {
        unsetDeliveryDelay();
      } else {
        setDeliveryDelay((Long)value);
      }
      break;

    }
  }

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

    case PROVIDER_ID:
      return Long.valueOf(getProviderId());

    case DELIVERY_TIME:
      return Long.valueOf(getDeliveryTime());

    case AIRWAY_BILLNO:
      return getAirway_billno();

    case SHIPPING_TIME:
      return Long.valueOf(getShippingTime());

    case COD_ALLOWED:
      return Boolean.valueOf(isCodAllowed());

    case FULFILMENT_WAREHOUSE_ID:
      return Long.valueOf(getFulfilmentWarehouseId());

    case OTG_AVAILABLE:
      return Boolean.valueOf(isOtgAvailable());

    case DELIVERY_DELAY:
      return Long.valueOf(getDeliveryDelay());

    }
    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 WAREHOUSE_ID:
      return isSetWarehouseId();
    case PROVIDER_ID:
      return isSetProviderId();
    case DELIVERY_TIME:
      return isSetDeliveryTime();
    case AIRWAY_BILLNO:
      return isSetAirway_billno();
    case SHIPPING_TIME:
      return isSetShippingTime();
    case COD_ALLOWED:
      return isSetCodAllowed();
    case FULFILMENT_WAREHOUSE_ID:
      return isSetFulfilmentWarehouseId();
    case OTG_AVAILABLE:
      return isSetOtgAvailable();
    case DELIVERY_DELAY:
      return isSetDeliveryDelay();
    }
    throw new IllegalStateException();
  }

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

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

    boolean this_present_warehouseId = true;
    boolean that_present_warehouseId = true;
    if (this_present_warehouseId || that_present_warehouseId) {
      if (!(this_present_warehouseId && that_present_warehouseId))
        return false;
      if (this.warehouseId != that.warehouseId)
        return false;
    }

    boolean this_present_providerId = true;
    boolean that_present_providerId = true;
    if (this_present_providerId || that_present_providerId) {
      if (!(this_present_providerId && that_present_providerId))
        return false;
      if (this.providerId != that.providerId)
        return false;
    }

    boolean this_present_deliveryTime = true;
    boolean that_present_deliveryTime = true;
    if (this_present_deliveryTime || that_present_deliveryTime) {
      if (!(this_present_deliveryTime && that_present_deliveryTime))
        return false;
      if (this.deliveryTime != that.deliveryTime)
        return false;
    }

    boolean this_present_airway_billno = true && this.isSetAirway_billno();
    boolean that_present_airway_billno = true && that.isSetAirway_billno();
    if (this_present_airway_billno || that_present_airway_billno) {
      if (!(this_present_airway_billno && that_present_airway_billno))
        return false;
      if (!this.airway_billno.equals(that.airway_billno))
        return false;
    }

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

    boolean this_present_codAllowed = true;
    boolean that_present_codAllowed = true;
    if (this_present_codAllowed || that_present_codAllowed) {
      if (!(this_present_codAllowed && that_present_codAllowed))
        return false;
      if (this.codAllowed != that.codAllowed)
        return false;
    }

    boolean this_present_fulfilmentWarehouseId = true;
    boolean that_present_fulfilmentWarehouseId = true;
    if (this_present_fulfilmentWarehouseId || that_present_fulfilmentWarehouseId) {
      if (!(this_present_fulfilmentWarehouseId && that_present_fulfilmentWarehouseId))
        return false;
      if (this.fulfilmentWarehouseId != that.fulfilmentWarehouseId)
        return false;
    }

    boolean this_present_otgAvailable = true;
    boolean that_present_otgAvailable = true;
    if (this_present_otgAvailable || that_present_otgAvailable) {
      if (!(this_present_otgAvailable && that_present_otgAvailable))
        return false;
      if (this.otgAvailable != that.otgAvailable)
        return false;
    }

    boolean this_present_deliveryDelay = true;
    boolean that_present_deliveryDelay = true;
    if (this_present_deliveryDelay || that_present_deliveryDelay) {
      if (!(this_present_deliveryDelay && that_present_deliveryDelay))
        return false;
      if (this.deliveryDelay != that.deliveryDelay)
        return false;
    }

    return true;
  }

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

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

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

    lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetWarehouseId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetProviderId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDeliveryTime()).compareTo(typedOther.isSetDeliveryTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDeliveryTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deliveryTime, typedOther.deliveryTime);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetAirway_billno()).compareTo(typedOther.isSetAirway_billno());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetAirway_billno()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airway_billno, typedOther.airway_billno);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetShippingTime()).compareTo(typedOther.isSetShippingTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetShippingTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shippingTime, typedOther.shippingTime);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCodAllowed()).compareTo(typedOther.isSetCodAllowed());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCodAllowed()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.codAllowed, typedOther.codAllowed);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetFulfilmentWarehouseId()).compareTo(typedOther.isSetFulfilmentWarehouseId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFulfilmentWarehouseId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fulfilmentWarehouseId, typedOther.fulfilmentWarehouseId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOtgAvailable()).compareTo(typedOther.isSetOtgAvailable());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOtgAvailable()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.otgAvailable, typedOther.otgAvailable);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDeliveryDelay()).compareTo(typedOther.isSetDeliveryDelay());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDeliveryDelay()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deliveryDelay, typedOther.deliveryDelay);
      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: // WAREHOUSE_ID
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.warehouseId = iprot.readI64();
            setWarehouseIdIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 2: // PROVIDER_ID
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.providerId = iprot.readI64();
            setProviderIdIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 3: // DELIVERY_TIME
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.deliveryTime = iprot.readI64();
            setDeliveryTimeIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 4: // AIRWAY_BILLNO
          if (field.type == org.apache.thrift.protocol.TType.STRING) {
            this.airway_billno = iprot.readString();
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 5: // SHIPPING_TIME
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.shippingTime = iprot.readI64();
            setShippingTimeIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 6: // COD_ALLOWED
          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
            this.codAllowed = iprot.readBool();
            setCodAllowedIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 7: // FULFILMENT_WAREHOUSE_ID
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.fulfilmentWarehouseId = iprot.readI64();
            setFulfilmentWarehouseIdIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 8: // OTG_AVAILABLE
          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
            this.otgAvailable = iprot.readBool();
            setOtgAvailableIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        case 9: // DELIVERY_DELAY
          if (field.type == org.apache.thrift.protocol.TType.I64) {
            this.deliveryDelay = iprot.readI64();
            setDeliveryDelayIsSet(true);
          } else { 
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
          }
          break;
        default:
          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
      }
      iprot.readFieldEnd();
    }
    iprot.readStructEnd();
    validate();
  }

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

    oprot.writeStructBegin(STRUCT_DESC);
    oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
    oprot.writeI64(this.warehouseId);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
    oprot.writeI64(this.providerId);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(DELIVERY_TIME_FIELD_DESC);
    oprot.writeI64(this.deliveryTime);
    oprot.writeFieldEnd();
    if (this.airway_billno != null) {
      oprot.writeFieldBegin(AIRWAY_BILLNO_FIELD_DESC);
      oprot.writeString(this.airway_billno);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(SHIPPING_TIME_FIELD_DESC);
    oprot.writeI64(this.shippingTime);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(COD_ALLOWED_FIELD_DESC);
    oprot.writeBool(this.codAllowed);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(FULFILMENT_WAREHOUSE_ID_FIELD_DESC);
    oprot.writeI64(this.fulfilmentWarehouseId);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(OTG_AVAILABLE_FIELD_DESC);
    oprot.writeBool(this.otgAvailable);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(DELIVERY_DELAY_FIELD_DESC);
    oprot.writeI64(this.deliveryDelay);
    oprot.writeFieldEnd();
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

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

    sb.append("warehouseId:");
    sb.append(this.warehouseId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("providerId:");
    sb.append(this.providerId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("deliveryTime:");
    sb.append(this.deliveryTime);
    first = false;
    if (!first) sb.append(", ");
    sb.append("airway_billno:");
    if (this.airway_billno == null) {
      sb.append("null");
    } else {
      sb.append(this.airway_billno);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("shippingTime:");
    sb.append(this.shippingTime);
    first = false;
    if (!first) sb.append(", ");
    sb.append("codAllowed:");
    sb.append(this.codAllowed);
    first = false;
    if (!first) sb.append(", ");
    sb.append("fulfilmentWarehouseId:");
    sb.append(this.fulfilmentWarehouseId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("otgAvailable:");
    sb.append(this.otgAvailable);
    first = false;
    if (!first) sb.append(", ");
    sb.append("deliveryDelay:");
    sb.append(this.deliveryDelay);
    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);
    }
  }

}