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

tech.aroma.thrift.service.DismissMessageRequest Maven / Gradle / Ivy

Go to download

Part of the Aroma Project. This project contains the Service and Model Definitions. From this the Server and Client interfaces are generated for the Aroma Service.

There is a newer version: 2.2
Show newest version
/**
 * Autogenerated by Thrift Compiler (0.9.3)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package tech.aroma.thrift.service;

import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;

import org.apache.thrift.scheme.TupleScheme;
import org.apache.thrift.protocol.TTupleProtocol;
import org.apache.thrift.protocol.TProtocolException;
import org.apache.thrift.EncodingUtils;
import org.apache.thrift.TException;
import org.apache.thrift.async.AsyncMethodCallback;
import org.apache.thrift.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"})
/**
 * Dismisses a Message. Dismissing is analogous to archiving
 * an email; it will no longer be visible to you, but will
 * still be visible to other subscribers.
 */
@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-10")
public class DismissMessageRequest implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DismissMessageRequest");

  private static final org.apache.thrift.protocol.TField TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("token", org.apache.thrift.protocol.TType.STRUCT, (short)1);
  private static final org.apache.thrift.protocol.TField MESSAGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("messageId", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField APPLICATION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationId", org.apache.thrift.protocol.TType.STRING, (short)3);
  private static final org.apache.thrift.protocol.TField MESSAGE_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("messageIds", org.apache.thrift.protocol.TType.LIST, (short)4);
  private static final org.apache.thrift.protocol.TField DISMISS_ALL_FIELD_DESC = new org.apache.thrift.protocol.TField("dismissAll", org.apache.thrift.protocol.TType.BOOL, (short)5);

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

  public tech.aroma.thrift.authentication.UserToken token; // required
  public String messageId; // required
  public String applicationId; // required
  /**
   * Use for Dismissing multiple Messages.
   */
  public List messageIds; // optional
  /**
   * Use for clearing the entire Inbox.
   * Note that this overrides other options.
   */
  public boolean dismissAll; // optional

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
    TOKEN((short)1, "token"),
    MESSAGE_ID((short)2, "messageId"),
    APPLICATION_ID((short)3, "applicationId"),
    /**
     * Use for Dismissing multiple Messages.
     */
    MESSAGE_IDS((short)4, "messageIds"),
    /**
     * Use for clearing the entire Inbox.
     * Note that this overrides other options.
     */
    DISMISS_ALL((short)5, "dismissAll");

    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: // TOKEN
          return TOKEN;
        case 2: // MESSAGE_ID
          return MESSAGE_ID;
        case 3: // APPLICATION_ID
          return APPLICATION_ID;
        case 4: // MESSAGE_IDS
          return MESSAGE_IDS;
        case 5: // DISMISS_ALL
          return DISMISS_ALL;
        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 __DISMISSALL_ISSET_ID = 0;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.MESSAGE_IDS,_Fields.DISMISS_ALL};
  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.TOKEN, new org.apache.thrift.meta_data.FieldMetaData("token", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT        , "UserToken")));
    tmpMap.put(_Fields.MESSAGE_ID, new org.apache.thrift.meta_data.FieldMetaData("messageId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , "uuid")));
    tmpMap.put(_Fields.APPLICATION_ID, new org.apache.thrift.meta_data.FieldMetaData("applicationId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , "uuid")));
    tmpMap.put(_Fields.MESSAGE_IDS, new org.apache.thrift.meta_data.FieldMetaData("messageIds", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , "uuid"))));
    tmpMap.put(_Fields.DISMISS_ALL, new org.apache.thrift.meta_data.FieldMetaData("dismissAll", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DismissMessageRequest.class, metaDataMap);
  }

  public DismissMessageRequest() {
    this.messageIds = new ArrayList();

    this.dismissAll = false;

  }

  public DismissMessageRequest(
    tech.aroma.thrift.authentication.UserToken token,
    String messageId,
    String applicationId)
  {
    this();
    this.token = token;
    this.messageId = messageId;
    this.applicationId = applicationId;
  }

  /**
   * Performs a deep copy on other.
   */
  public DismissMessageRequest(DismissMessageRequest other) {
    __isset_bitfield = other.__isset_bitfield;
    if (other.isSetToken()) {
      this.token = other.token;
    }
    if (other.isSetMessageId()) {
      this.messageId = other.messageId;
    }
    if (other.isSetApplicationId()) {
      this.applicationId = other.applicationId;
    }
    if (other.isSetMessageIds()) {
      List __this__messageIds = new ArrayList(other.messageIds.size());
      for (String other_element : other.messageIds) {
        __this__messageIds.add(other_element);
      }
      this.messageIds = __this__messageIds;
    }
    this.dismissAll = other.dismissAll;
  }

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

  @Override
  public void clear() {
    this.token = null;
    this.messageId = null;
    this.applicationId = null;
    this.messageIds = new ArrayList();

    this.dismissAll = false;

  }

  public tech.aroma.thrift.authentication.UserToken getToken() {
    return this.token;
  }

  public DismissMessageRequest setToken(tech.aroma.thrift.authentication.UserToken token) {
    this.token = token;
    return this;
  }

  public void unsetToken() {
    this.token = null;
  }

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

  public void setTokenIsSet(boolean value) {
    if (!value) {
      this.token = null;
    }
  }

  public String getMessageId() {
    return this.messageId;
  }

  public DismissMessageRequest setMessageId(String messageId) {
    this.messageId = messageId;
    return this;
  }

  public void unsetMessageId() {
    this.messageId = null;
  }

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

  public void setMessageIdIsSet(boolean value) {
    if (!value) {
      this.messageId = null;
    }
  }

  public String getApplicationId() {
    return this.applicationId;
  }

  public DismissMessageRequest setApplicationId(String applicationId) {
    this.applicationId = applicationId;
    return this;
  }

  public void unsetApplicationId() {
    this.applicationId = null;
  }

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

  public void setApplicationIdIsSet(boolean value) {
    if (!value) {
      this.applicationId = null;
    }
  }

  public int getMessageIdsSize() {
    return (this.messageIds == null) ? 0 : this.messageIds.size();
  }

  public java.util.Iterator getMessageIdsIterator() {
    return (this.messageIds == null) ? null : this.messageIds.iterator();
  }

  public void addToMessageIds(String elem) {
    if (this.messageIds == null) {
      this.messageIds = new ArrayList();
    }
    this.messageIds.add(elem);
  }

  /**
   * Use for Dismissing multiple Messages.
   */
  public List getMessageIds() {
    return this.messageIds;
  }

  /**
   * Use for Dismissing multiple Messages.
   */
  public DismissMessageRequest setMessageIds(List messageIds) {
    this.messageIds = messageIds;
    return this;
  }

  public void unsetMessageIds() {
    this.messageIds = null;
  }

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

  public void setMessageIdsIsSet(boolean value) {
    if (!value) {
      this.messageIds = null;
    }
  }

  /**
   * Use for clearing the entire Inbox.
   * Note that this overrides other options.
   */
  public boolean isDismissAll() {
    return this.dismissAll;
  }

  /**
   * Use for clearing the entire Inbox.
   * Note that this overrides other options.
   */
  public DismissMessageRequest setDismissAll(boolean dismissAll) {
    this.dismissAll = dismissAll;
    setDismissAllIsSet(true);
    return this;
  }

  public void unsetDismissAll() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DISMISSALL_ISSET_ID);
  }

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

  public void setDismissAllIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DISMISSALL_ISSET_ID, value);
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case TOKEN:
      if (value == null) {
        unsetToken();
      } else {
        setToken((tech.aroma.thrift.authentication.UserToken)value);
      }
      break;

    case MESSAGE_ID:
      if (value == null) {
        unsetMessageId();
      } else {
        setMessageId((String)value);
      }
      break;

    case APPLICATION_ID:
      if (value == null) {
        unsetApplicationId();
      } else {
        setApplicationId((String)value);
      }
      break;

    case MESSAGE_IDS:
      if (value == null) {
        unsetMessageIds();
      } else {
        setMessageIds((List)value);
      }
      break;

    case DISMISS_ALL:
      if (value == null) {
        unsetDismissAll();
      } else {
        setDismissAll((Boolean)value);
      }
      break;

    }
  }

  public Object getFieldValue(_Fields field) {
    switch (field) {
    case TOKEN:
      return getToken();

    case MESSAGE_ID:
      return getMessageId();

    case APPLICATION_ID:
      return getApplicationId();

    case MESSAGE_IDS:
      return getMessageIds();

    case DISMISS_ALL:
      return isDismissAll();

    }
    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 TOKEN:
      return isSetToken();
    case MESSAGE_ID:
      return isSetMessageId();
    case APPLICATION_ID:
      return isSetApplicationId();
    case MESSAGE_IDS:
      return isSetMessageIds();
    case DISMISS_ALL:
      return isSetDismissAll();
    }
    throw new IllegalStateException();
  }

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

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

    boolean this_present_token = true && this.isSetToken();
    boolean that_present_token = true && that.isSetToken();
    if (this_present_token || that_present_token) {
      if (!(this_present_token && that_present_token))
        return false;
      if (!this.token.equals(that.token))
        return false;
    }

    boolean this_present_messageId = true && this.isSetMessageId();
    boolean that_present_messageId = true && that.isSetMessageId();
    if (this_present_messageId || that_present_messageId) {
      if (!(this_present_messageId && that_present_messageId))
        return false;
      if (!this.messageId.equals(that.messageId))
        return false;
    }

    boolean this_present_applicationId = true && this.isSetApplicationId();
    boolean that_present_applicationId = true && that.isSetApplicationId();
    if (this_present_applicationId || that_present_applicationId) {
      if (!(this_present_applicationId && that_present_applicationId))
        return false;
      if (!this.applicationId.equals(that.applicationId))
        return false;
    }

    boolean this_present_messageIds = true && this.isSetMessageIds();
    boolean that_present_messageIds = true && that.isSetMessageIds();
    if (this_present_messageIds || that_present_messageIds) {
      if (!(this_present_messageIds && that_present_messageIds))
        return false;
      if (!this.messageIds.equals(that.messageIds))
        return false;
    }

    boolean this_present_dismissAll = true && this.isSetDismissAll();
    boolean that_present_dismissAll = true && that.isSetDismissAll();
    if (this_present_dismissAll || that_present_dismissAll) {
      if (!(this_present_dismissAll && that_present_dismissAll))
        return false;
      if (this.dismissAll != that.dismissAll)
        return false;
    }

    return true;
  }

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

    boolean present_token = true && (isSetToken());
    list.add(present_token);
    if (present_token)
      list.add(token);

    boolean present_messageId = true && (isSetMessageId());
    list.add(present_messageId);
    if (present_messageId)
      list.add(messageId);

    boolean present_applicationId = true && (isSetApplicationId());
    list.add(present_applicationId);
    if (present_applicationId)
      list.add(applicationId);

    boolean present_messageIds = true && (isSetMessageIds());
    list.add(present_messageIds);
    if (present_messageIds)
      list.add(messageIds);

    boolean present_dismissAll = true && (isSetDismissAll());
    list.add(present_dismissAll);
    if (present_dismissAll)
      list.add(dismissAll);

    return list.hashCode();
  }

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

    int lastComparison = 0;

    lastComparison = Boolean.valueOf(isSetToken()).compareTo(other.isSetToken());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetToken()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.token, other.token);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMessageId()).compareTo(other.isSetMessageId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMessageId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.messageId, other.messageId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetApplicationId()).compareTo(other.isSetApplicationId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetApplicationId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationId, other.applicationId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMessageIds()).compareTo(other.isSetMessageIds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMessageIds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.messageIds, other.messageIds);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDismissAll()).compareTo(other.isSetDismissAll());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDismissAll()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dismissAll, other.dismissAll);
      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 {
    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
  }

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

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

    sb.append("token:");
    if (this.token == null) {
      sb.append("null");
    } else {
      sb.append(this.token);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("messageId:");
    if (this.messageId == null) {
      sb.append("null");
    } else {
      sb.append(this.messageId);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("applicationId:");
    if (this.applicationId == null) {
      sb.append("null");
    } else {
      sb.append(this.applicationId);
    }
    first = false;
    if (isSetMessageIds()) {
      if (!first) sb.append(", ");
      sb.append("messageIds:");
      if (this.messageIds == null) {
        sb.append("null");
      } else {
        sb.append(this.messageIds);
      }
      first = false;
    }
    if (isSetDismissAll()) {
      if (!first) sb.append(", ");
      sb.append("dismissAll:");
      sb.append(this.dismissAll);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    // check for sub-struct validity
  }

  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_bitfield = 0;
      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);
    }
  }

  private static class DismissMessageRequestStandardSchemeFactory implements SchemeFactory {
    public DismissMessageRequestStandardScheme getScheme() {
      return new DismissMessageRequestStandardScheme();
    }
  }

  private static class DismissMessageRequestStandardScheme extends StandardScheme {

    public void read(org.apache.thrift.protocol.TProtocol iprot, DismissMessageRequest struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField schemeField;
      iprot.readStructBegin();
      while (true)
      {
        schemeField = iprot.readFieldBegin();
        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (schemeField.id) {
          case 1: // TOKEN
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.token = new tech.aroma.thrift.authentication.UserToken();
              struct.token.read(iprot);
              struct.setTokenIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // MESSAGE_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.messageId = iprot.readString();
              struct.setMessageIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // APPLICATION_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.applicationId = iprot.readString();
              struct.setApplicationIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // MESSAGE_IDS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                struct.messageIds = new ArrayList(_list16.size);
                String _elem17;
                for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                {
                  _elem17 = iprot.readString();
                  struct.messageIds.add(_elem17);
                }
                iprot.readListEnd();
              }
              struct.setMessageIdsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // DISMISS_ALL
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.dismissAll = iprot.readBool();
              struct.setDismissAllIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          default:
            org.apache.thrift.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(org.apache.thrift.protocol.TProtocol oprot, DismissMessageRequest struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.token != null) {
        oprot.writeFieldBegin(TOKEN_FIELD_DESC);
        struct.token.write(oprot);
        oprot.writeFieldEnd();
      }
      if (struct.messageId != null) {
        oprot.writeFieldBegin(MESSAGE_ID_FIELD_DESC);
        oprot.writeString(struct.messageId);
        oprot.writeFieldEnd();
      }
      if (struct.applicationId != null) {
        oprot.writeFieldBegin(APPLICATION_ID_FIELD_DESC);
        oprot.writeString(struct.applicationId);
        oprot.writeFieldEnd();
      }
      if (struct.messageIds != null) {
        if (struct.isSetMessageIds()) {
          oprot.writeFieldBegin(MESSAGE_IDS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.messageIds.size()));
            for (String _iter19 : struct.messageIds)
            {
              oprot.writeString(_iter19);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetDismissAll()) {
        oprot.writeFieldBegin(DISMISS_ALL_FIELD_DESC);
        oprot.writeBool(struct.dismissAll);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class DismissMessageRequestTupleSchemeFactory implements SchemeFactory {
    public DismissMessageRequestTupleScheme getScheme() {
      return new DismissMessageRequestTupleScheme();
    }
  }

  private static class DismissMessageRequestTupleScheme extends TupleScheme {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, DismissMessageRequest struct) throws org.apache.thrift.TException {
      TTupleProtocol oprot = (TTupleProtocol) prot;
      BitSet optionals = new BitSet();
      if (struct.isSetToken()) {
        optionals.set(0);
      }
      if (struct.isSetMessageId()) {
        optionals.set(1);
      }
      if (struct.isSetApplicationId()) {
        optionals.set(2);
      }
      if (struct.isSetMessageIds()) {
        optionals.set(3);
      }
      if (struct.isSetDismissAll()) {
        optionals.set(4);
      }
      oprot.writeBitSet(optionals, 5);
      if (struct.isSetToken()) {
        struct.token.write(oprot);
      }
      if (struct.isSetMessageId()) {
        oprot.writeString(struct.messageId);
      }
      if (struct.isSetApplicationId()) {
        oprot.writeString(struct.applicationId);
      }
      if (struct.isSetMessageIds()) {
        {
          oprot.writeI32(struct.messageIds.size());
          for (String _iter20 : struct.messageIds)
          {
            oprot.writeString(_iter20);
          }
        }
      }
      if (struct.isSetDismissAll()) {
        oprot.writeBool(struct.dismissAll);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, DismissMessageRequest struct) throws org.apache.thrift.TException {
      TTupleProtocol iprot = (TTupleProtocol) prot;
      BitSet incoming = iprot.readBitSet(5);
      if (incoming.get(0)) {
        struct.token = new tech.aroma.thrift.authentication.UserToken();
        struct.token.read(iprot);
        struct.setTokenIsSet(true);
      }
      if (incoming.get(1)) {
        struct.messageId = iprot.readString();
        struct.setMessageIdIsSet(true);
      }
      if (incoming.get(2)) {
        struct.applicationId = iprot.readString();
        struct.setApplicationIdIsSet(true);
      }
      if (incoming.get(3)) {
        {
          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
          struct.messageIds = new ArrayList(_list21.size);
          String _elem22;
          for (int _i23 = 0; _i23 < _list21.size; ++_i23)
          {
            _elem22 = iprot.readString();
            struct.messageIds.add(_elem22);
          }
        }
        struct.setMessageIdsIsSet(true);
      }
      if (incoming.get(4)) {
        struct.dismissAll = iprot.readBool();
        struct.setDismissAllIsSet(true);
      }
    }
  }

}