All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xiaomi.infra.galaxy.emq.thrift.CreateQueueResponse Maven / Gradle / Ivy

The newest version!
/**
 * Autogenerated by Thrift Compiler (0.9.2)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package com.xiaomi.infra.galaxy.emq.thrift;

import libthrift091.scheme.IScheme;
import libthrift091.scheme.SchemeFactory;
import libthrift091.scheme.StandardScheme;

import libthrift091.scheme.TupleScheme;
import libthrift091.protocol.TTupleProtocol;
import libthrift091.protocol.TProtocolException;
import libthrift091.EncodingUtils;
import libthrift091.TException;
import libthrift091.async.AsyncMethodCallback;
import libthrift091.server.AbstractNonblockingServer.*;
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 javax.annotation.Generated;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2017-9-13")
public class CreateQueueResponse implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable {
  private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("CreateQueueResponse");

  private static final libthrift091.protocol.TField QUEUE_NAME_FIELD_DESC = new libthrift091.protocol.TField("queueName", libthrift091.protocol.TType.STRING, (short)1);
  private static final libthrift091.protocol.TField QUEUE_ATTRIBUTE_FIELD_DESC = new libthrift091.protocol.TField("queueAttribute", libthrift091.protocol.TType.STRUCT, (short)2);
  private static final libthrift091.protocol.TField QUEUE_QUOTA_FIELD_DESC = new libthrift091.protocol.TField("queueQuota", libthrift091.protocol.TType.STRUCT, (short)3);
  private static final libthrift091.protocol.TField DEAD_LETTER_QUEUE_FIELD_DESC = new libthrift091.protocol.TField("deadLetterQueue", libthrift091.protocol.TType.BOOL, (short)4);
  private static final libthrift091.protocol.TField ENABLE_PRIORITY_FIELD_DESC = new libthrift091.protocol.TField("enablePriority", libthrift091.protocol.TType.BOOL, (short)5);
  private static final libthrift091.protocol.TField TOPIC_QUEUE_FIELD_DESC = new libthrift091.protocol.TField("topicQueue", libthrift091.protocol.TType.BOOL, (short)6);
  private static final libthrift091.protocol.TField DELETE_MESSAGE_FORCE_FIELD_DESC = new libthrift091.protocol.TField("deleteMessageForce", libthrift091.protocol.TType.BOOL, (short)7);
  private static final libthrift091.protocol.TField DEFAULT_TAG_NAME_FIELD_DESC = new libthrift091.protocol.TField("defaultTagName", libthrift091.protocol.TType.STRING, (short)8);
  private static final libthrift091.protocol.TField REDRIVE_POLICY_FIELD_DESC = new libthrift091.protocol.TField("redrivePolicy", libthrift091.protocol.TType.STRUCT, (short)9);

  private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
  static {
    schemes.put(StandardScheme.class, new CreateQueueResponseStandardSchemeFactory());
    schemes.put(TupleScheme.class, new CreateQueueResponseTupleSchemeFactory());
  }

  /**
   * The queue name;
   * The name returned here may be a little different from user set in request (with developerId as prefix).
   * So the user should use the name returned by this response for those following operations
   * 
   */
  public String queueName; // required
  /**
   * The queue attribute;
   * 
   */
  public QueueAttribute queueAttribute; // required
  /**
   * The queue quota;
   * 
   */
  public QueueQuota queueQuota; // optional
  /**
   * The queue is a dead letter queue or not;
   * 
   */
  public boolean deadLetterQueue; // optional
  /**
   * The queue is using priority of not;
   * 
   */
  public boolean enablePriority; // optional
  /**
   * Set the queue be a topic queue or not;
   * 
   */
  public boolean topicQueue; // optional
  /**
   * Purge expired messages even if they have not been received by users
   * 
   */
  public boolean deleteMessageForce; // optional
  public String defaultTagName; // optional
  public RedrivePolicy redrivePolicy; // optional

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements libthrift091.TFieldIdEnum {
    /**
     * The queue name;
     * The name returned here may be a little different from user set in request (with developerId as prefix).
     * So the user should use the name returned by this response for those following operations
     * 
     */
    QUEUE_NAME((short)1, "queueName"),
    /**
     * The queue attribute;
     * 
     */
    QUEUE_ATTRIBUTE((short)2, "queueAttribute"),
    /**
     * The queue quota;
     * 
     */
    QUEUE_QUOTA((short)3, "queueQuota"),
    /**
     * The queue is a dead letter queue or not;
     * 
     */
    DEAD_LETTER_QUEUE((short)4, "deadLetterQueue"),
    /**
     * The queue is using priority of not;
     * 
     */
    ENABLE_PRIORITY((short)5, "enablePriority"),
    /**
     * Set the queue be a topic queue or not;
     * 
     */
    TOPIC_QUEUE((short)6, "topicQueue"),
    /**
     * Purge expired messages even if they have not been received by users
     * 
     */
    DELETE_MESSAGE_FORCE((short)7, "deleteMessageForce"),
    DEFAULT_TAG_NAME((short)8, "defaultTagName"),
    REDRIVE_POLICY((short)9, "redrivePolicy");

    private static final Map byName = new HashMap();

    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: // QUEUE_NAME
          return QUEUE_NAME;
        case 2: // QUEUE_ATTRIBUTE
          return QUEUE_ATTRIBUTE;
        case 3: // QUEUE_QUOTA
          return QUEUE_QUOTA;
        case 4: // DEAD_LETTER_QUEUE
          return DEAD_LETTER_QUEUE;
        case 5: // ENABLE_PRIORITY
          return ENABLE_PRIORITY;
        case 6: // TOPIC_QUEUE
          return TOPIC_QUEUE;
        case 7: // DELETE_MESSAGE_FORCE
          return DELETE_MESSAGE_FORCE;
        case 8: // DEFAULT_TAG_NAME
          return DEFAULT_TAG_NAME;
        case 9: // REDRIVE_POLICY
          return REDRIVE_POLICY;
        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 __DEADLETTERQUEUE_ISSET_ID = 0;
  private static final int __ENABLEPRIORITY_ISSET_ID = 1;
  private static final int __TOPICQUEUE_ISSET_ID = 2;
  private static final int __DELETEMESSAGEFORCE_ISSET_ID = 3;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.QUEUE_QUOTA,_Fields.DEAD_LETTER_QUEUE,_Fields.ENABLE_PRIORITY,_Fields.TOPIC_QUEUE,_Fields.DELETE_MESSAGE_FORCE,_Fields.DEFAULT_TAG_NAME,_Fields.REDRIVE_POLICY};
  public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
  static {
    Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
    tmpMap.put(_Fields.QUEUE_NAME, new libthrift091.meta_data.FieldMetaData("queueName", libthrift091.TFieldRequirementType.REQUIRED, 
        new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
    tmpMap.put(_Fields.QUEUE_ATTRIBUTE, new libthrift091.meta_data.FieldMetaData("queueAttribute", libthrift091.TFieldRequirementType.REQUIRED, 
        new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, QueueAttribute.class)));
    tmpMap.put(_Fields.QUEUE_QUOTA, new libthrift091.meta_data.FieldMetaData("queueQuota", libthrift091.TFieldRequirementType.OPTIONAL, 
        new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, QueueQuota.class)));
    tmpMap.put(_Fields.DEAD_LETTER_QUEUE, new libthrift091.meta_data.FieldMetaData("deadLetterQueue", libthrift091.TFieldRequirementType.OPTIONAL, 
        new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.BOOL)));
    tmpMap.put(_Fields.ENABLE_PRIORITY, new libthrift091.meta_data.FieldMetaData("enablePriority", libthrift091.TFieldRequirementType.OPTIONAL, 
        new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.BOOL)));
    tmpMap.put(_Fields.TOPIC_QUEUE, new libthrift091.meta_data.FieldMetaData("topicQueue", libthrift091.TFieldRequirementType.OPTIONAL, 
        new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.BOOL)));
    tmpMap.put(_Fields.DELETE_MESSAGE_FORCE, new libthrift091.meta_data.FieldMetaData("deleteMessageForce", libthrift091.TFieldRequirementType.OPTIONAL, 
        new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.BOOL)));
    tmpMap.put(_Fields.DEFAULT_TAG_NAME, new libthrift091.meta_data.FieldMetaData("defaultTagName", libthrift091.TFieldRequirementType.OPTIONAL, 
        new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
    tmpMap.put(_Fields.REDRIVE_POLICY, new libthrift091.meta_data.FieldMetaData("redrivePolicy", libthrift091.TFieldRequirementType.OPTIONAL, 
        new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT        , "RedrivePolicy")));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(CreateQueueResponse.class, metaDataMap);
  }

  public CreateQueueResponse() {
  }

  public CreateQueueResponse(
    String queueName,
    QueueAttribute queueAttribute)
  {
    this();
    this.queueName = queueName;
    this.queueAttribute = queueAttribute;
  }

  /**
   * Performs a deep copy on other.
   */
  public CreateQueueResponse(CreateQueueResponse other) {
    __isset_bitfield = other.__isset_bitfield;
    if (other.isSetQueueName()) {
      this.queueName = other.queueName;
    }
    if (other.isSetQueueAttribute()) {
      this.queueAttribute = new QueueAttribute(other.queueAttribute);
    }
    if (other.isSetQueueQuota()) {
      this.queueQuota = new QueueQuota(other.queueQuota);
    }
    this.deadLetterQueue = other.deadLetterQueue;
    this.enablePriority = other.enablePriority;
    this.topicQueue = other.topicQueue;
    this.deleteMessageForce = other.deleteMessageForce;
    if (other.isSetDefaultTagName()) {
      this.defaultTagName = other.defaultTagName;
    }
    if (other.isSetRedrivePolicy()) {
      this.redrivePolicy = other.redrivePolicy;
    }
  }

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

  @Override
  public void clear() {
    this.queueName = null;
    this.queueAttribute = null;
    this.queueQuota = null;
    setDeadLetterQueueIsSet(false);
    this.deadLetterQueue = false;
    setEnablePriorityIsSet(false);
    this.enablePriority = false;
    setTopicQueueIsSet(false);
    this.topicQueue = false;
    setDeleteMessageForceIsSet(false);
    this.deleteMessageForce = false;
    this.defaultTagName = null;
    this.redrivePolicy = null;
  }

  /**
   * The queue name;
   * The name returned here may be a little different from user set in request (with developerId as prefix).
   * So the user should use the name returned by this response for those following operations
   * 
   */
  public String getQueueName() {
    return this.queueName;
  }

  /**
   * The queue name;
   * The name returned here may be a little different from user set in request (with developerId as prefix).
   * So the user should use the name returned by this response for those following operations
   * 
   */
  public CreateQueueResponse setQueueName(String queueName) {
    this.queueName = queueName;
    return this;
  }

  public void unsetQueueName() {
    this.queueName = null;
  }

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

  public void setQueueNameIsSet(boolean value) {
    if (!value) {
      this.queueName = null;
    }
  }

  /**
   * The queue attribute;
   * 
   */
  public QueueAttribute getQueueAttribute() {
    return this.queueAttribute;
  }

  /**
   * The queue attribute;
   * 
   */
  public CreateQueueResponse setQueueAttribute(QueueAttribute queueAttribute) {
    this.queueAttribute = queueAttribute;
    return this;
  }

  public void unsetQueueAttribute() {
    this.queueAttribute = null;
  }

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

  public void setQueueAttributeIsSet(boolean value) {
    if (!value) {
      this.queueAttribute = null;
    }
  }

  /**
   * The queue quota;
   * 
   */
  public QueueQuota getQueueQuota() {
    return this.queueQuota;
  }

  /**
   * The queue quota;
   * 
   */
  public CreateQueueResponse setQueueQuota(QueueQuota queueQuota) {
    this.queueQuota = queueQuota;
    return this;
  }

  public void unsetQueueQuota() {
    this.queueQuota = null;
  }

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

  public void setQueueQuotaIsSet(boolean value) {
    if (!value) {
      this.queueQuota = null;
    }
  }

  /**
   * The queue is a dead letter queue or not;
   * 
   */
  public boolean isDeadLetterQueue() {
    return this.deadLetterQueue;
  }

  /**
   * The queue is a dead letter queue or not;
   * 
   */
  public CreateQueueResponse setDeadLetterQueue(boolean deadLetterQueue) {
    this.deadLetterQueue = deadLetterQueue;
    setDeadLetterQueueIsSet(true);
    return this;
  }

  public void unsetDeadLetterQueue() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEADLETTERQUEUE_ISSET_ID);
  }

  /** Returns true if field deadLetterQueue is set (has been assigned a value) and false otherwise */
  public boolean isSetDeadLetterQueue() {
    return EncodingUtils.testBit(__isset_bitfield, __DEADLETTERQUEUE_ISSET_ID);
  }

  public void setDeadLetterQueueIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEADLETTERQUEUE_ISSET_ID, value);
  }

  /**
   * The queue is using priority of not;
   * 
   */
  public boolean isEnablePriority() {
    return this.enablePriority;
  }

  /**
   * The queue is using priority of not;
   * 
   */
  public CreateQueueResponse setEnablePriority(boolean enablePriority) {
    this.enablePriority = enablePriority;
    setEnablePriorityIsSet(true);
    return this;
  }

  public void unsetEnablePriority() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ENABLEPRIORITY_ISSET_ID);
  }

  /** Returns true if field enablePriority is set (has been assigned a value) and false otherwise */
  public boolean isSetEnablePriority() {
    return EncodingUtils.testBit(__isset_bitfield, __ENABLEPRIORITY_ISSET_ID);
  }

  public void setEnablePriorityIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ENABLEPRIORITY_ISSET_ID, value);
  }

  /**
   * Set the queue be a topic queue or not;
   * 
   */
  public boolean isTopicQueue() {
    return this.topicQueue;
  }

  /**
   * Set the queue be a topic queue or not;
   * 
   */
  public CreateQueueResponse setTopicQueue(boolean topicQueue) {
    this.topicQueue = topicQueue;
    setTopicQueueIsSet(true);
    return this;
  }

  public void unsetTopicQueue() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TOPICQUEUE_ISSET_ID);
  }

  /** Returns true if field topicQueue is set (has been assigned a value) and false otherwise */
  public boolean isSetTopicQueue() {
    return EncodingUtils.testBit(__isset_bitfield, __TOPICQUEUE_ISSET_ID);
  }

  public void setTopicQueueIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TOPICQUEUE_ISSET_ID, value);
  }

  /**
   * Purge expired messages even if they have not been received by users
   * 
   */
  public boolean isDeleteMessageForce() {
    return this.deleteMessageForce;
  }

  /**
   * Purge expired messages even if they have not been received by users
   * 
   */
  public CreateQueueResponse setDeleteMessageForce(boolean deleteMessageForce) {
    this.deleteMessageForce = deleteMessageForce;
    setDeleteMessageForceIsSet(true);
    return this;
  }

  public void unsetDeleteMessageForce() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DELETEMESSAGEFORCE_ISSET_ID);
  }

  /** Returns true if field deleteMessageForce is set (has been assigned a value) and false otherwise */
  public boolean isSetDeleteMessageForce() {
    return EncodingUtils.testBit(__isset_bitfield, __DELETEMESSAGEFORCE_ISSET_ID);
  }

  public void setDeleteMessageForceIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DELETEMESSAGEFORCE_ISSET_ID, value);
  }

  public String getDefaultTagName() {
    return this.defaultTagName;
  }

  public CreateQueueResponse setDefaultTagName(String defaultTagName) {
    this.defaultTagName = defaultTagName;
    return this;
  }

  public void unsetDefaultTagName() {
    this.defaultTagName = null;
  }

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

  public void setDefaultTagNameIsSet(boolean value) {
    if (!value) {
      this.defaultTagName = null;
    }
  }

  public RedrivePolicy getRedrivePolicy() {
    return this.redrivePolicy;
  }

  public CreateQueueResponse setRedrivePolicy(RedrivePolicy redrivePolicy) {
    this.redrivePolicy = redrivePolicy;
    return this;
  }

  public void unsetRedrivePolicy() {
    this.redrivePolicy = null;
  }

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

  public void setRedrivePolicyIsSet(boolean value) {
    if (!value) {
      this.redrivePolicy = null;
    }
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case QUEUE_NAME:
      if (value == null) {
        unsetQueueName();
      } else {
        setQueueName((String)value);
      }
      break;

    case QUEUE_ATTRIBUTE:
      if (value == null) {
        unsetQueueAttribute();
      } else {
        setQueueAttribute((QueueAttribute)value);
      }
      break;

    case QUEUE_QUOTA:
      if (value == null) {
        unsetQueueQuota();
      } else {
        setQueueQuota((QueueQuota)value);
      }
      break;

    case DEAD_LETTER_QUEUE:
      if (value == null) {
        unsetDeadLetterQueue();
      } else {
        setDeadLetterQueue((Boolean)value);
      }
      break;

    case ENABLE_PRIORITY:
      if (value == null) {
        unsetEnablePriority();
      } else {
        setEnablePriority((Boolean)value);
      }
      break;

    case TOPIC_QUEUE:
      if (value == null) {
        unsetTopicQueue();
      } else {
        setTopicQueue((Boolean)value);
      }
      break;

    case DELETE_MESSAGE_FORCE:
      if (value == null) {
        unsetDeleteMessageForce();
      } else {
        setDeleteMessageForce((Boolean)value);
      }
      break;

    case DEFAULT_TAG_NAME:
      if (value == null) {
        unsetDefaultTagName();
      } else {
        setDefaultTagName((String)value);
      }
      break;

    case REDRIVE_POLICY:
      if (value == null) {
        unsetRedrivePolicy();
      } else {
        setRedrivePolicy((RedrivePolicy)value);
      }
      break;

    }
  }

  public Object getFieldValue(_Fields field) {
    switch (field) {
    case QUEUE_NAME:
      return getQueueName();

    case QUEUE_ATTRIBUTE:
      return getQueueAttribute();

    case QUEUE_QUOTA:
      return getQueueQuota();

    case DEAD_LETTER_QUEUE:
      return Boolean.valueOf(isDeadLetterQueue());

    case ENABLE_PRIORITY:
      return Boolean.valueOf(isEnablePriority());

    case TOPIC_QUEUE:
      return Boolean.valueOf(isTopicQueue());

    case DELETE_MESSAGE_FORCE:
      return Boolean.valueOf(isDeleteMessageForce());

    case DEFAULT_TAG_NAME:
      return getDefaultTagName();

    case REDRIVE_POLICY:
      return getRedrivePolicy();

    }
    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 QUEUE_NAME:
      return isSetQueueName();
    case QUEUE_ATTRIBUTE:
      return isSetQueueAttribute();
    case QUEUE_QUOTA:
      return isSetQueueQuota();
    case DEAD_LETTER_QUEUE:
      return isSetDeadLetterQueue();
    case ENABLE_PRIORITY:
      return isSetEnablePriority();
    case TOPIC_QUEUE:
      return isSetTopicQueue();
    case DELETE_MESSAGE_FORCE:
      return isSetDeleteMessageForce();
    case DEFAULT_TAG_NAME:
      return isSetDefaultTagName();
    case REDRIVE_POLICY:
      return isSetRedrivePolicy();
    }
    throw new IllegalStateException();
  }

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

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

    boolean this_present_queueName = true && this.isSetQueueName();
    boolean that_present_queueName = true && that.isSetQueueName();
    if (this_present_queueName || that_present_queueName) {
      if (!(this_present_queueName && that_present_queueName))
        return false;
      if (!this.queueName.equals(that.queueName))
        return false;
    }

    boolean this_present_queueAttribute = true && this.isSetQueueAttribute();
    boolean that_present_queueAttribute = true && that.isSetQueueAttribute();
    if (this_present_queueAttribute || that_present_queueAttribute) {
      if (!(this_present_queueAttribute && that_present_queueAttribute))
        return false;
      if (!this.queueAttribute.equals(that.queueAttribute))
        return false;
    }

    boolean this_present_queueQuota = true && this.isSetQueueQuota();
    boolean that_present_queueQuota = true && that.isSetQueueQuota();
    if (this_present_queueQuota || that_present_queueQuota) {
      if (!(this_present_queueQuota && that_present_queueQuota))
        return false;
      if (!this.queueQuota.equals(that.queueQuota))
        return false;
    }

    boolean this_present_deadLetterQueue = true && this.isSetDeadLetterQueue();
    boolean that_present_deadLetterQueue = true && that.isSetDeadLetterQueue();
    if (this_present_deadLetterQueue || that_present_deadLetterQueue) {
      if (!(this_present_deadLetterQueue && that_present_deadLetterQueue))
        return false;
      if (this.deadLetterQueue != that.deadLetterQueue)
        return false;
    }

    boolean this_present_enablePriority = true && this.isSetEnablePriority();
    boolean that_present_enablePriority = true && that.isSetEnablePriority();
    if (this_present_enablePriority || that_present_enablePriority) {
      if (!(this_present_enablePriority && that_present_enablePriority))
        return false;
      if (this.enablePriority != that.enablePriority)
        return false;
    }

    boolean this_present_topicQueue = true && this.isSetTopicQueue();
    boolean that_present_topicQueue = true && that.isSetTopicQueue();
    if (this_present_topicQueue || that_present_topicQueue) {
      if (!(this_present_topicQueue && that_present_topicQueue))
        return false;
      if (this.topicQueue != that.topicQueue)
        return false;
    }

    boolean this_present_deleteMessageForce = true && this.isSetDeleteMessageForce();
    boolean that_present_deleteMessageForce = true && that.isSetDeleteMessageForce();
    if (this_present_deleteMessageForce || that_present_deleteMessageForce) {
      if (!(this_present_deleteMessageForce && that_present_deleteMessageForce))
        return false;
      if (this.deleteMessageForce != that.deleteMessageForce)
        return false;
    }

    boolean this_present_defaultTagName = true && this.isSetDefaultTagName();
    boolean that_present_defaultTagName = true && that.isSetDefaultTagName();
    if (this_present_defaultTagName || that_present_defaultTagName) {
      if (!(this_present_defaultTagName && that_present_defaultTagName))
        return false;
      if (!this.defaultTagName.equals(that.defaultTagName))
        return false;
    }

    boolean this_present_redrivePolicy = true && this.isSetRedrivePolicy();
    boolean that_present_redrivePolicy = true && that.isSetRedrivePolicy();
    if (this_present_redrivePolicy || that_present_redrivePolicy) {
      if (!(this_present_redrivePolicy && that_present_redrivePolicy))
        return false;
      if (!this.redrivePolicy.equals(that.redrivePolicy))
        return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    List list = new ArrayList();

    boolean present_queueName = true && (isSetQueueName());
    list.add(present_queueName);
    if (present_queueName)
      list.add(queueName);

    boolean present_queueAttribute = true && (isSetQueueAttribute());
    list.add(present_queueAttribute);
    if (present_queueAttribute)
      list.add(queueAttribute);

    boolean present_queueQuota = true && (isSetQueueQuota());
    list.add(present_queueQuota);
    if (present_queueQuota)
      list.add(queueQuota);

    boolean present_deadLetterQueue = true && (isSetDeadLetterQueue());
    list.add(present_deadLetterQueue);
    if (present_deadLetterQueue)
      list.add(deadLetterQueue);

    boolean present_enablePriority = true && (isSetEnablePriority());
    list.add(present_enablePriority);
    if (present_enablePriority)
      list.add(enablePriority);

    boolean present_topicQueue = true && (isSetTopicQueue());
    list.add(present_topicQueue);
    if (present_topicQueue)
      list.add(topicQueue);

    boolean present_deleteMessageForce = true && (isSetDeleteMessageForce());
    list.add(present_deleteMessageForce);
    if (present_deleteMessageForce)
      list.add(deleteMessageForce);

    boolean present_defaultTagName = true && (isSetDefaultTagName());
    list.add(present_defaultTagName);
    if (present_defaultTagName)
      list.add(defaultTagName);

    boolean present_redrivePolicy = true && (isSetRedrivePolicy());
    list.add(present_redrivePolicy);
    if (present_redrivePolicy)
      list.add(redrivePolicy);

    return list.hashCode();
  }

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

    int lastComparison = 0;

    lastComparison = Boolean.valueOf(isSetQueueName()).compareTo(other.isSetQueueName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetQueueName()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.queueName, other.queueName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetQueueAttribute()).compareTo(other.isSetQueueAttribute());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetQueueAttribute()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.queueAttribute, other.queueAttribute);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetQueueQuota()).compareTo(other.isSetQueueQuota());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetQueueQuota()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.queueQuota, other.queueQuota);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDeadLetterQueue()).compareTo(other.isSetDeadLetterQueue());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDeadLetterQueue()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.deadLetterQueue, other.deadLetterQueue);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetEnablePriority()).compareTo(other.isSetEnablePriority());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetEnablePriority()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.enablePriority, other.enablePriority);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTopicQueue()).compareTo(other.isSetTopicQueue());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTopicQueue()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.topicQueue, other.topicQueue);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDeleteMessageForce()).compareTo(other.isSetDeleteMessageForce());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDeleteMessageForce()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.deleteMessageForce, other.deleteMessageForce);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDefaultTagName()).compareTo(other.isSetDefaultTagName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDefaultTagName()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.defaultTagName, other.defaultTagName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetRedrivePolicy()).compareTo(other.isSetRedrivePolicy());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRedrivePolicy()) {
      lastComparison = libthrift091.TBaseHelper.compareTo(this.redrivePolicy, other.redrivePolicy);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    return 0;
  }

  public _Fields fieldForId(int fieldId) {
    return _Fields.findByThriftId(fieldId);
  }

  public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
  }

  public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
  }

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

    sb.append("queueName:");
    if (this.queueName == null) {
      sb.append("null");
    } else {
      sb.append(this.queueName);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("queueAttribute:");
    if (this.queueAttribute == null) {
      sb.append("null");
    } else {
      sb.append(this.queueAttribute);
    }
    first = false;
    if (isSetQueueQuota()) {
      if (!first) sb.append(", ");
      sb.append("queueQuota:");
      if (this.queueQuota == null) {
        sb.append("null");
      } else {
        sb.append(this.queueQuota);
      }
      first = false;
    }
    if (isSetDeadLetterQueue()) {
      if (!first) sb.append(", ");
      sb.append("deadLetterQueue:");
      sb.append(this.deadLetterQueue);
      first = false;
    }
    if (isSetEnablePriority()) {
      if (!first) sb.append(", ");
      sb.append("enablePriority:");
      sb.append(this.enablePriority);
      first = false;
    }
    if (isSetTopicQueue()) {
      if (!first) sb.append(", ");
      sb.append("topicQueue:");
      sb.append(this.topicQueue);
      first = false;
    }
    if (isSetDeleteMessageForce()) {
      if (!first) sb.append(", ");
      sb.append("deleteMessageForce:");
      sb.append(this.deleteMessageForce);
      first = false;
    }
    if (isSetDefaultTagName()) {
      if (!first) sb.append(", ");
      sb.append("defaultTagName:");
      if (this.defaultTagName == null) {
        sb.append("null");
      } else {
        sb.append(this.defaultTagName);
      }
      first = false;
    }
    if (isSetRedrivePolicy()) {
      if (!first) sb.append(", ");
      sb.append("redrivePolicy:");
      if (this.redrivePolicy == null) {
        sb.append("null");
      } else {
        sb.append(this.redrivePolicy);
      }
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws libthrift091.TException {
    // check for required fields
    if (queueName == null) {
      throw new libthrift091.protocol.TProtocolException("Required field 'queueName' was not present! Struct: " + toString());
    }
    if (queueAttribute == null) {
      throw new libthrift091.protocol.TProtocolException("Required field 'queueAttribute' was not present! Struct: " + toString());
    }
    // check for sub-struct validity
    if (queueAttribute != null) {
      queueAttribute.validate();
    }
    if (queueQuota != null) {
      queueQuota.validate();
    }
  }

  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
    try {
      write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
    } catch (libthrift091.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_bitfield = 0;
      read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
    } catch (libthrift091.TException te) {
      throw new java.io.IOException(te);
    }
  }

  private static class CreateQueueResponseStandardSchemeFactory implements SchemeFactory {
    public CreateQueueResponseStandardScheme getScheme() {
      return new CreateQueueResponseStandardScheme();
    }
  }

  private static class CreateQueueResponseStandardScheme extends StandardScheme {

    public void read(libthrift091.protocol.TProtocol iprot, CreateQueueResponse struct) throws libthrift091.TException {
      libthrift091.protocol.TField schemeField;
      iprot.readStructBegin();
      while (true)
      {
        schemeField = iprot.readFieldBegin();
        if (schemeField.type == libthrift091.protocol.TType.STOP) { 
          break;
        }
        switch (schemeField.id) {
          case 1: // QUEUE_NAME
            if (schemeField.type == libthrift091.protocol.TType.STRING) {
              struct.queueName = iprot.readString();
              struct.setQueueNameIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // QUEUE_ATTRIBUTE
            if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
              struct.queueAttribute = new QueueAttribute();
              struct.queueAttribute.read(iprot);
              struct.setQueueAttributeIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // QUEUE_QUOTA
            if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
              struct.queueQuota = new QueueQuota();
              struct.queueQuota.read(iprot);
              struct.setQueueQuotaIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // DEAD_LETTER_QUEUE
            if (schemeField.type == libthrift091.protocol.TType.BOOL) {
              struct.deadLetterQueue = iprot.readBool();
              struct.setDeadLetterQueueIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // ENABLE_PRIORITY
            if (schemeField.type == libthrift091.protocol.TType.BOOL) {
              struct.enablePriority = iprot.readBool();
              struct.setEnablePriorityIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // TOPIC_QUEUE
            if (schemeField.type == libthrift091.protocol.TType.BOOL) {
              struct.topicQueue = iprot.readBool();
              struct.setTopicQueueIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // DELETE_MESSAGE_FORCE
            if (schemeField.type == libthrift091.protocol.TType.BOOL) {
              struct.deleteMessageForce = iprot.readBool();
              struct.setDeleteMessageForceIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // DEFAULT_TAG_NAME
            if (schemeField.type == libthrift091.protocol.TType.STRING) {
              struct.defaultTagName = iprot.readString();
              struct.setDefaultTagNameIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // REDRIVE_POLICY
            if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
              struct.redrivePolicy = new RedrivePolicy();
              struct.redrivePolicy.read(iprot);
              struct.setRedrivePolicyIsSet(true);
            } else { 
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          default:
            libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();

      // check for required fields of primitive type, which can't be checked in the validate method
      struct.validate();
    }

    public void write(libthrift091.protocol.TProtocol oprot, CreateQueueResponse struct) throws libthrift091.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.queueName != null) {
        oprot.writeFieldBegin(QUEUE_NAME_FIELD_DESC);
        oprot.writeString(struct.queueName);
        oprot.writeFieldEnd();
      }
      if (struct.queueAttribute != null) {
        oprot.writeFieldBegin(QUEUE_ATTRIBUTE_FIELD_DESC);
        struct.queueAttribute.write(oprot);
        oprot.writeFieldEnd();
      }
      if (struct.queueQuota != null) {
        if (struct.isSetQueueQuota()) {
          oprot.writeFieldBegin(QUEUE_QUOTA_FIELD_DESC);
          struct.queueQuota.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetDeadLetterQueue()) {
        oprot.writeFieldBegin(DEAD_LETTER_QUEUE_FIELD_DESC);
        oprot.writeBool(struct.deadLetterQueue);
        oprot.writeFieldEnd();
      }
      if (struct.isSetEnablePriority()) {
        oprot.writeFieldBegin(ENABLE_PRIORITY_FIELD_DESC);
        oprot.writeBool(struct.enablePriority);
        oprot.writeFieldEnd();
      }
      if (struct.isSetTopicQueue()) {
        oprot.writeFieldBegin(TOPIC_QUEUE_FIELD_DESC);
        oprot.writeBool(struct.topicQueue);
        oprot.writeFieldEnd();
      }
      if (struct.isSetDeleteMessageForce()) {
        oprot.writeFieldBegin(DELETE_MESSAGE_FORCE_FIELD_DESC);
        oprot.writeBool(struct.deleteMessageForce);
        oprot.writeFieldEnd();
      }
      if (struct.defaultTagName != null) {
        if (struct.isSetDefaultTagName()) {
          oprot.writeFieldBegin(DEFAULT_TAG_NAME_FIELD_DESC);
          oprot.writeString(struct.defaultTagName);
          oprot.writeFieldEnd();
        }
      }
      if (struct.redrivePolicy != null) {
        if (struct.isSetRedrivePolicy()) {
          oprot.writeFieldBegin(REDRIVE_POLICY_FIELD_DESC);
          struct.redrivePolicy.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class CreateQueueResponseTupleSchemeFactory implements SchemeFactory {
    public CreateQueueResponseTupleScheme getScheme() {
      return new CreateQueueResponseTupleScheme();
    }
  }

  private static class CreateQueueResponseTupleScheme extends TupleScheme {

    @Override
    public void write(libthrift091.protocol.TProtocol prot, CreateQueueResponse struct) throws libthrift091.TException {
      TTupleProtocol oprot = (TTupleProtocol) prot;
      oprot.writeString(struct.queueName);
      struct.queueAttribute.write(oprot);
      BitSet optionals = new BitSet();
      if (struct.isSetQueueQuota()) {
        optionals.set(0);
      }
      if (struct.isSetDeadLetterQueue()) {
        optionals.set(1);
      }
      if (struct.isSetEnablePriority()) {
        optionals.set(2);
      }
      if (struct.isSetTopicQueue()) {
        optionals.set(3);
      }
      if (struct.isSetDeleteMessageForce()) {
        optionals.set(4);
      }
      if (struct.isSetDefaultTagName()) {
        optionals.set(5);
      }
      if (struct.isSetRedrivePolicy()) {
        optionals.set(6);
      }
      oprot.writeBitSet(optionals, 7);
      if (struct.isSetQueueQuota()) {
        struct.queueQuota.write(oprot);
      }
      if (struct.isSetDeadLetterQueue()) {
        oprot.writeBool(struct.deadLetterQueue);
      }
      if (struct.isSetEnablePriority()) {
        oprot.writeBool(struct.enablePriority);
      }
      if (struct.isSetTopicQueue()) {
        oprot.writeBool(struct.topicQueue);
      }
      if (struct.isSetDeleteMessageForce()) {
        oprot.writeBool(struct.deleteMessageForce);
      }
      if (struct.isSetDefaultTagName()) {
        oprot.writeString(struct.defaultTagName);
      }
      if (struct.isSetRedrivePolicy()) {
        struct.redrivePolicy.write(oprot);
      }
    }

    @Override
    public void read(libthrift091.protocol.TProtocol prot, CreateQueueResponse struct) throws libthrift091.TException {
      TTupleProtocol iprot = (TTupleProtocol) prot;
      struct.queueName = iprot.readString();
      struct.setQueueNameIsSet(true);
      struct.queueAttribute = new QueueAttribute();
      struct.queueAttribute.read(iprot);
      struct.setQueueAttributeIsSet(true);
      BitSet incoming = iprot.readBitSet(7);
      if (incoming.get(0)) {
        struct.queueQuota = new QueueQuota();
        struct.queueQuota.read(iprot);
        struct.setQueueQuotaIsSet(true);
      }
      if (incoming.get(1)) {
        struct.deadLetterQueue = iprot.readBool();
        struct.setDeadLetterQueueIsSet(true);
      }
      if (incoming.get(2)) {
        struct.enablePriority = iprot.readBool();
        struct.setEnablePriorityIsSet(true);
      }
      if (incoming.get(3)) {
        struct.topicQueue = iprot.readBool();
        struct.setTopicQueueIsSet(true);
      }
      if (incoming.get(4)) {
        struct.deleteMessageForce = iprot.readBool();
        struct.setDeleteMessageForceIsSet(true);
      }
      if (incoming.get(5)) {
        struct.defaultTagName = iprot.readString();
        struct.setDefaultTagNameIsSet(true);
      }
      if (incoming.get(6)) {
        struct.redrivePolicy = new RedrivePolicy();
        struct.redrivePolicy.read(iprot);
        struct.setRedrivePolicyIsSet(true);
      }
    }
  }

}