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

org.apache.airavata.model.workspace.Gateway Maven / Gradle / Ivy

/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * Autogenerated by Thrift Compiler (0.9.3)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package org.apache.airavata.model.workspace;

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"})
@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-07-13")
public class Gateway 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("Gateway");

  private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)1);
  private static final org.apache.thrift.protocol.TField GATEWAY_APPROVAL_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayApprovalStatus", org.apache.thrift.protocol.TType.I32, (short)2);
  private static final org.apache.thrift.protocol.TField GATEWAY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayName", org.apache.thrift.protocol.TType.STRING, (short)3);
  private static final org.apache.thrift.protocol.TField DOMAIN_FIELD_DESC = new org.apache.thrift.protocol.TField("domain", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField EMAIL_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("emailAddress", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField GATEWAY_ACRONYM_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayAcronym", org.apache.thrift.protocol.TType.STRING, (short)6);
  private static final org.apache.thrift.protocol.TField GATEWAY_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayURL", org.apache.thrift.protocol.TType.STRING, (short)7);
  private static final org.apache.thrift.protocol.TField GATEWAY_PUBLIC_ABSTRACT_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayPublicAbstract", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField REVIEW_PROPOSAL_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("reviewProposalDescription", org.apache.thrift.protocol.TType.STRING, (short)9);
  private static final org.apache.thrift.protocol.TField GATEWAY_ADMIN_FIRST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayAdminFirstName", org.apache.thrift.protocol.TType.STRING, (short)10);
  private static final org.apache.thrift.protocol.TField GATEWAY_ADMIN_LAST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayAdminLastName", org.apache.thrift.protocol.TType.STRING, (short)11);
  private static final org.apache.thrift.protocol.TField GATEWAY_ADMIN_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayAdminEmail", org.apache.thrift.protocol.TType.STRING, (short)12);
  private static final org.apache.thrift.protocol.TField IDENTITY_SERVER_USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("identityServerUserName", org.apache.thrift.protocol.TType.STRING, (short)13);
  private static final org.apache.thrift.protocol.TField IDENTITY_SERVER_PASSWORD_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("identityServerPasswordToken", org.apache.thrift.protocol.TType.STRING, (short)14);

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

  private String gatewayId; // required
  private GatewayApprovalStatus gatewayApprovalStatus; // required
  private String gatewayName; // optional
  private String domain; // optional
  private String emailAddress; // optional
  private String gatewayAcronym; // optional
  private String gatewayURL; // optional
  private String gatewayPublicAbstract; // optional
  private String reviewProposalDescription; // optional
  private String gatewayAdminFirstName; // optional
  private String gatewayAdminLastName; // optional
  private String gatewayAdminEmail; // optional
  private String identityServerUserName; // optional
  private String identityServerPasswordToken; // 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 {
    GATEWAY_ID((short)1, "gatewayId"),
    /**
     * 
     * @see GatewayApprovalStatus
     */
    GATEWAY_APPROVAL_STATUS((short)2, "gatewayApprovalStatus"),
    GATEWAY_NAME((short)3, "gatewayName"),
    DOMAIN((short)4, "domain"),
    EMAIL_ADDRESS((short)5, "emailAddress"),
    GATEWAY_ACRONYM((short)6, "gatewayAcronym"),
    GATEWAY_URL((short)7, "gatewayURL"),
    GATEWAY_PUBLIC_ABSTRACT((short)8, "gatewayPublicAbstract"),
    REVIEW_PROPOSAL_DESCRIPTION((short)9, "reviewProposalDescription"),
    GATEWAY_ADMIN_FIRST_NAME((short)10, "gatewayAdminFirstName"),
    GATEWAY_ADMIN_LAST_NAME((short)11, "gatewayAdminLastName"),
    GATEWAY_ADMIN_EMAIL((short)12, "gatewayAdminEmail"),
    IDENTITY_SERVER_USER_NAME((short)13, "identityServerUserName"),
    IDENTITY_SERVER_PASSWORD_TOKEN((short)14, "identityServerPasswordToken");

    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: // GATEWAY_ID
          return GATEWAY_ID;
        case 2: // GATEWAY_APPROVAL_STATUS
          return GATEWAY_APPROVAL_STATUS;
        case 3: // GATEWAY_NAME
          return GATEWAY_NAME;
        case 4: // DOMAIN
          return DOMAIN;
        case 5: // EMAIL_ADDRESS
          return EMAIL_ADDRESS;
        case 6: // GATEWAY_ACRONYM
          return GATEWAY_ACRONYM;
        case 7: // GATEWAY_URL
          return GATEWAY_URL;
        case 8: // GATEWAY_PUBLIC_ABSTRACT
          return GATEWAY_PUBLIC_ABSTRACT;
        case 9: // REVIEW_PROPOSAL_DESCRIPTION
          return REVIEW_PROPOSAL_DESCRIPTION;
        case 10: // GATEWAY_ADMIN_FIRST_NAME
          return GATEWAY_ADMIN_FIRST_NAME;
        case 11: // GATEWAY_ADMIN_LAST_NAME
          return GATEWAY_ADMIN_LAST_NAME;
        case 12: // GATEWAY_ADMIN_EMAIL
          return GATEWAY_ADMIN_EMAIL;
        case 13: // IDENTITY_SERVER_USER_NAME
          return IDENTITY_SERVER_USER_NAME;
        case 14: // IDENTITY_SERVER_PASSWORD_TOKEN
          return IDENTITY_SERVER_PASSWORD_TOKEN;
        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 _Fields optionals[] = {_Fields.GATEWAY_NAME,_Fields.DOMAIN,_Fields.EMAIL_ADDRESS,_Fields.GATEWAY_ACRONYM,_Fields.GATEWAY_URL,_Fields.GATEWAY_PUBLIC_ABSTRACT,_Fields.REVIEW_PROPOSAL_DESCRIPTION,_Fields.GATEWAY_ADMIN_FIRST_NAME,_Fields.GATEWAY_ADMIN_LAST_NAME,_Fields.GATEWAY_ADMIN_EMAIL,_Fields.IDENTITY_SERVER_USER_NAME,_Fields.IDENTITY_SERVER_PASSWORD_TOKEN};
  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.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.GATEWAY_APPROVAL_STATUS, new org.apache.thrift.meta_data.FieldMetaData("gatewayApprovalStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, GatewayApprovalStatus.class)));
    tmpMap.put(_Fields.GATEWAY_NAME, new org.apache.thrift.meta_data.FieldMetaData("gatewayName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.DOMAIN, new org.apache.thrift.meta_data.FieldMetaData("domain", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.EMAIL_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("emailAddress", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.GATEWAY_ACRONYM, new org.apache.thrift.meta_data.FieldMetaData("gatewayAcronym", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.GATEWAY_URL, new org.apache.thrift.meta_data.FieldMetaData("gatewayURL", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.GATEWAY_PUBLIC_ABSTRACT, new org.apache.thrift.meta_data.FieldMetaData("gatewayPublicAbstract", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.REVIEW_PROPOSAL_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("reviewProposalDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.GATEWAY_ADMIN_FIRST_NAME, new org.apache.thrift.meta_data.FieldMetaData("gatewayAdminFirstName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.GATEWAY_ADMIN_LAST_NAME, new org.apache.thrift.meta_data.FieldMetaData("gatewayAdminLastName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.GATEWAY_ADMIN_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("gatewayAdminEmail", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.IDENTITY_SERVER_USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("identityServerUserName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.IDENTITY_SERVER_PASSWORD_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("identityServerPasswordToken", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Gateway.class, metaDataMap);
  }

  public Gateway() {
  }

  public Gateway(
    String gatewayId,
    GatewayApprovalStatus gatewayApprovalStatus)
  {
    this();
    this.gatewayId = gatewayId;
    this.gatewayApprovalStatus = gatewayApprovalStatus;
  }

  /**
   * Performs a deep copy on other.
   */
  public Gateway(Gateway other) {
    if (other.isSetGatewayId()) {
      this.gatewayId = other.gatewayId;
    }
    if (other.isSetGatewayApprovalStatus()) {
      this.gatewayApprovalStatus = other.gatewayApprovalStatus;
    }
    if (other.isSetGatewayName()) {
      this.gatewayName = other.gatewayName;
    }
    if (other.isSetDomain()) {
      this.domain = other.domain;
    }
    if (other.isSetEmailAddress()) {
      this.emailAddress = other.emailAddress;
    }
    if (other.isSetGatewayAcronym()) {
      this.gatewayAcronym = other.gatewayAcronym;
    }
    if (other.isSetGatewayURL()) {
      this.gatewayURL = other.gatewayURL;
    }
    if (other.isSetGatewayPublicAbstract()) {
      this.gatewayPublicAbstract = other.gatewayPublicAbstract;
    }
    if (other.isSetReviewProposalDescription()) {
      this.reviewProposalDescription = other.reviewProposalDescription;
    }
    if (other.isSetGatewayAdminFirstName()) {
      this.gatewayAdminFirstName = other.gatewayAdminFirstName;
    }
    if (other.isSetGatewayAdminLastName()) {
      this.gatewayAdminLastName = other.gatewayAdminLastName;
    }
    if (other.isSetGatewayAdminEmail()) {
      this.gatewayAdminEmail = other.gatewayAdminEmail;
    }
    if (other.isSetIdentityServerUserName()) {
      this.identityServerUserName = other.identityServerUserName;
    }
    if (other.isSetIdentityServerPasswordToken()) {
      this.identityServerPasswordToken = other.identityServerPasswordToken;
    }
  }

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

  @Override
  public void clear() {
    this.gatewayId = null;
    this.gatewayApprovalStatus = null;
    this.gatewayName = null;
    this.domain = null;
    this.emailAddress = null;
    this.gatewayAcronym = null;
    this.gatewayURL = null;
    this.gatewayPublicAbstract = null;
    this.reviewProposalDescription = null;
    this.gatewayAdminFirstName = null;
    this.gatewayAdminLastName = null;
    this.gatewayAdminEmail = null;
    this.identityServerUserName = null;
    this.identityServerPasswordToken = null;
  }

  public String getGatewayId() {
    return this.gatewayId;
  }

  public void setGatewayId(String gatewayId) {
    this.gatewayId = gatewayId;
  }

  public void unsetGatewayId() {
    this.gatewayId = null;
  }

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

  public void setGatewayIdIsSet(boolean value) {
    if (!value) {
      this.gatewayId = null;
    }
  }

  /**
   * 
   * @see GatewayApprovalStatus
   */
  public GatewayApprovalStatus getGatewayApprovalStatus() {
    return this.gatewayApprovalStatus;
  }

  /**
   * 
   * @see GatewayApprovalStatus
   */
  public void setGatewayApprovalStatus(GatewayApprovalStatus gatewayApprovalStatus) {
    this.gatewayApprovalStatus = gatewayApprovalStatus;
  }

  public void unsetGatewayApprovalStatus() {
    this.gatewayApprovalStatus = null;
  }

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

  public void setGatewayApprovalStatusIsSet(boolean value) {
    if (!value) {
      this.gatewayApprovalStatus = null;
    }
  }

  public String getGatewayName() {
    return this.gatewayName;
  }

  public void setGatewayName(String gatewayName) {
    this.gatewayName = gatewayName;
  }

  public void unsetGatewayName() {
    this.gatewayName = null;
  }

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

  public void setGatewayNameIsSet(boolean value) {
    if (!value) {
      this.gatewayName = null;
    }
  }

  public String getDomain() {
    return this.domain;
  }

  public void setDomain(String domain) {
    this.domain = domain;
  }

  public void unsetDomain() {
    this.domain = null;
  }

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

  public void setDomainIsSet(boolean value) {
    if (!value) {
      this.domain = null;
    }
  }

  public String getEmailAddress() {
    return this.emailAddress;
  }

  public void setEmailAddress(String emailAddress) {
    this.emailAddress = emailAddress;
  }

  public void unsetEmailAddress() {
    this.emailAddress = null;
  }

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

  public void setEmailAddressIsSet(boolean value) {
    if (!value) {
      this.emailAddress = null;
    }
  }

  public String getGatewayAcronym() {
    return this.gatewayAcronym;
  }

  public void setGatewayAcronym(String gatewayAcronym) {
    this.gatewayAcronym = gatewayAcronym;
  }

  public void unsetGatewayAcronym() {
    this.gatewayAcronym = null;
  }

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

  public void setGatewayAcronymIsSet(boolean value) {
    if (!value) {
      this.gatewayAcronym = null;
    }
  }

  public String getGatewayURL() {
    return this.gatewayURL;
  }

  public void setGatewayURL(String gatewayURL) {
    this.gatewayURL = gatewayURL;
  }

  public void unsetGatewayURL() {
    this.gatewayURL = null;
  }

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

  public void setGatewayURLIsSet(boolean value) {
    if (!value) {
      this.gatewayURL = null;
    }
  }

  public String getGatewayPublicAbstract() {
    return this.gatewayPublicAbstract;
  }

  public void setGatewayPublicAbstract(String gatewayPublicAbstract) {
    this.gatewayPublicAbstract = gatewayPublicAbstract;
  }

  public void unsetGatewayPublicAbstract() {
    this.gatewayPublicAbstract = null;
  }

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

  public void setGatewayPublicAbstractIsSet(boolean value) {
    if (!value) {
      this.gatewayPublicAbstract = null;
    }
  }

  public String getReviewProposalDescription() {
    return this.reviewProposalDescription;
  }

  public void setReviewProposalDescription(String reviewProposalDescription) {
    this.reviewProposalDescription = reviewProposalDescription;
  }

  public void unsetReviewProposalDescription() {
    this.reviewProposalDescription = null;
  }

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

  public void setReviewProposalDescriptionIsSet(boolean value) {
    if (!value) {
      this.reviewProposalDescription = null;
    }
  }

  public String getGatewayAdminFirstName() {
    return this.gatewayAdminFirstName;
  }

  public void setGatewayAdminFirstName(String gatewayAdminFirstName) {
    this.gatewayAdminFirstName = gatewayAdminFirstName;
  }

  public void unsetGatewayAdminFirstName() {
    this.gatewayAdminFirstName = null;
  }

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

  public void setGatewayAdminFirstNameIsSet(boolean value) {
    if (!value) {
      this.gatewayAdminFirstName = null;
    }
  }

  public String getGatewayAdminLastName() {
    return this.gatewayAdminLastName;
  }

  public void setGatewayAdminLastName(String gatewayAdminLastName) {
    this.gatewayAdminLastName = gatewayAdminLastName;
  }

  public void unsetGatewayAdminLastName() {
    this.gatewayAdminLastName = null;
  }

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

  public void setGatewayAdminLastNameIsSet(boolean value) {
    if (!value) {
      this.gatewayAdminLastName = null;
    }
  }

  public String getGatewayAdminEmail() {
    return this.gatewayAdminEmail;
  }

  public void setGatewayAdminEmail(String gatewayAdminEmail) {
    this.gatewayAdminEmail = gatewayAdminEmail;
  }

  public void unsetGatewayAdminEmail() {
    this.gatewayAdminEmail = null;
  }

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

  public void setGatewayAdminEmailIsSet(boolean value) {
    if (!value) {
      this.gatewayAdminEmail = null;
    }
  }

  public String getIdentityServerUserName() {
    return this.identityServerUserName;
  }

  public void setIdentityServerUserName(String identityServerUserName) {
    this.identityServerUserName = identityServerUserName;
  }

  public void unsetIdentityServerUserName() {
    this.identityServerUserName = null;
  }

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

  public void setIdentityServerUserNameIsSet(boolean value) {
    if (!value) {
      this.identityServerUserName = null;
    }
  }

  public String getIdentityServerPasswordToken() {
    return this.identityServerPasswordToken;
  }

  public void setIdentityServerPasswordToken(String identityServerPasswordToken) {
    this.identityServerPasswordToken = identityServerPasswordToken;
  }

  public void unsetIdentityServerPasswordToken() {
    this.identityServerPasswordToken = null;
  }

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

  public void setIdentityServerPasswordTokenIsSet(boolean value) {
    if (!value) {
      this.identityServerPasswordToken = null;
    }
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case GATEWAY_ID:
      if (value == null) {
        unsetGatewayId();
      } else {
        setGatewayId((String)value);
      }
      break;

    case GATEWAY_APPROVAL_STATUS:
      if (value == null) {
        unsetGatewayApprovalStatus();
      } else {
        setGatewayApprovalStatus((GatewayApprovalStatus)value);
      }
      break;

    case GATEWAY_NAME:
      if (value == null) {
        unsetGatewayName();
      } else {
        setGatewayName((String)value);
      }
      break;

    case DOMAIN:
      if (value == null) {
        unsetDomain();
      } else {
        setDomain((String)value);
      }
      break;

    case EMAIL_ADDRESS:
      if (value == null) {
        unsetEmailAddress();
      } else {
        setEmailAddress((String)value);
      }
      break;

    case GATEWAY_ACRONYM:
      if (value == null) {
        unsetGatewayAcronym();
      } else {
        setGatewayAcronym((String)value);
      }
      break;

    case GATEWAY_URL:
      if (value == null) {
        unsetGatewayURL();
      } else {
        setGatewayURL((String)value);
      }
      break;

    case GATEWAY_PUBLIC_ABSTRACT:
      if (value == null) {
        unsetGatewayPublicAbstract();
      } else {
        setGatewayPublicAbstract((String)value);
      }
      break;

    case REVIEW_PROPOSAL_DESCRIPTION:
      if (value == null) {
        unsetReviewProposalDescription();
      } else {
        setReviewProposalDescription((String)value);
      }
      break;

    case GATEWAY_ADMIN_FIRST_NAME:
      if (value == null) {
        unsetGatewayAdminFirstName();
      } else {
        setGatewayAdminFirstName((String)value);
      }
      break;

    case GATEWAY_ADMIN_LAST_NAME:
      if (value == null) {
        unsetGatewayAdminLastName();
      } else {
        setGatewayAdminLastName((String)value);
      }
      break;

    case GATEWAY_ADMIN_EMAIL:
      if (value == null) {
        unsetGatewayAdminEmail();
      } else {
        setGatewayAdminEmail((String)value);
      }
      break;

    case IDENTITY_SERVER_USER_NAME:
      if (value == null) {
        unsetIdentityServerUserName();
      } else {
        setIdentityServerUserName((String)value);
      }
      break;

    case IDENTITY_SERVER_PASSWORD_TOKEN:
      if (value == null) {
        unsetIdentityServerPasswordToken();
      } else {
        setIdentityServerPasswordToken((String)value);
      }
      break;

    }
  }

  public Object getFieldValue(_Fields field) {
    switch (field) {
    case GATEWAY_ID:
      return getGatewayId();

    case GATEWAY_APPROVAL_STATUS:
      return getGatewayApprovalStatus();

    case GATEWAY_NAME:
      return getGatewayName();

    case DOMAIN:
      return getDomain();

    case EMAIL_ADDRESS:
      return getEmailAddress();

    case GATEWAY_ACRONYM:
      return getGatewayAcronym();

    case GATEWAY_URL:
      return getGatewayURL();

    case GATEWAY_PUBLIC_ABSTRACT:
      return getGatewayPublicAbstract();

    case REVIEW_PROPOSAL_DESCRIPTION:
      return getReviewProposalDescription();

    case GATEWAY_ADMIN_FIRST_NAME:
      return getGatewayAdminFirstName();

    case GATEWAY_ADMIN_LAST_NAME:
      return getGatewayAdminLastName();

    case GATEWAY_ADMIN_EMAIL:
      return getGatewayAdminEmail();

    case IDENTITY_SERVER_USER_NAME:
      return getIdentityServerUserName();

    case IDENTITY_SERVER_PASSWORD_TOKEN:
      return getIdentityServerPasswordToken();

    }
    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 GATEWAY_ID:
      return isSetGatewayId();
    case GATEWAY_APPROVAL_STATUS:
      return isSetGatewayApprovalStatus();
    case GATEWAY_NAME:
      return isSetGatewayName();
    case DOMAIN:
      return isSetDomain();
    case EMAIL_ADDRESS:
      return isSetEmailAddress();
    case GATEWAY_ACRONYM:
      return isSetGatewayAcronym();
    case GATEWAY_URL:
      return isSetGatewayURL();
    case GATEWAY_PUBLIC_ABSTRACT:
      return isSetGatewayPublicAbstract();
    case REVIEW_PROPOSAL_DESCRIPTION:
      return isSetReviewProposalDescription();
    case GATEWAY_ADMIN_FIRST_NAME:
      return isSetGatewayAdminFirstName();
    case GATEWAY_ADMIN_LAST_NAME:
      return isSetGatewayAdminLastName();
    case GATEWAY_ADMIN_EMAIL:
      return isSetGatewayAdminEmail();
    case IDENTITY_SERVER_USER_NAME:
      return isSetIdentityServerUserName();
    case IDENTITY_SERVER_PASSWORD_TOKEN:
      return isSetIdentityServerPasswordToken();
    }
    throw new IllegalStateException();
  }

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

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

    boolean this_present_gatewayId = true && this.isSetGatewayId();
    boolean that_present_gatewayId = true && that.isSetGatewayId();
    if (this_present_gatewayId || that_present_gatewayId) {
      if (!(this_present_gatewayId && that_present_gatewayId))
        return false;
      if (!this.gatewayId.equals(that.gatewayId))
        return false;
    }

    boolean this_present_gatewayApprovalStatus = true && this.isSetGatewayApprovalStatus();
    boolean that_present_gatewayApprovalStatus = true && that.isSetGatewayApprovalStatus();
    if (this_present_gatewayApprovalStatus || that_present_gatewayApprovalStatus) {
      if (!(this_present_gatewayApprovalStatus && that_present_gatewayApprovalStatus))
        return false;
      if (!this.gatewayApprovalStatus.equals(that.gatewayApprovalStatus))
        return false;
    }

    boolean this_present_gatewayName = true && this.isSetGatewayName();
    boolean that_present_gatewayName = true && that.isSetGatewayName();
    if (this_present_gatewayName || that_present_gatewayName) {
      if (!(this_present_gatewayName && that_present_gatewayName))
        return false;
      if (!this.gatewayName.equals(that.gatewayName))
        return false;
    }

    boolean this_present_domain = true && this.isSetDomain();
    boolean that_present_domain = true && that.isSetDomain();
    if (this_present_domain || that_present_domain) {
      if (!(this_present_domain && that_present_domain))
        return false;
      if (!this.domain.equals(that.domain))
        return false;
    }

    boolean this_present_emailAddress = true && this.isSetEmailAddress();
    boolean that_present_emailAddress = true && that.isSetEmailAddress();
    if (this_present_emailAddress || that_present_emailAddress) {
      if (!(this_present_emailAddress && that_present_emailAddress))
        return false;
      if (!this.emailAddress.equals(that.emailAddress))
        return false;
    }

    boolean this_present_gatewayAcronym = true && this.isSetGatewayAcronym();
    boolean that_present_gatewayAcronym = true && that.isSetGatewayAcronym();
    if (this_present_gatewayAcronym || that_present_gatewayAcronym) {
      if (!(this_present_gatewayAcronym && that_present_gatewayAcronym))
        return false;
      if (!this.gatewayAcronym.equals(that.gatewayAcronym))
        return false;
    }

    boolean this_present_gatewayURL = true && this.isSetGatewayURL();
    boolean that_present_gatewayURL = true && that.isSetGatewayURL();
    if (this_present_gatewayURL || that_present_gatewayURL) {
      if (!(this_present_gatewayURL && that_present_gatewayURL))
        return false;
      if (!this.gatewayURL.equals(that.gatewayURL))
        return false;
    }

    boolean this_present_gatewayPublicAbstract = true && this.isSetGatewayPublicAbstract();
    boolean that_present_gatewayPublicAbstract = true && that.isSetGatewayPublicAbstract();
    if (this_present_gatewayPublicAbstract || that_present_gatewayPublicAbstract) {
      if (!(this_present_gatewayPublicAbstract && that_present_gatewayPublicAbstract))
        return false;
      if (!this.gatewayPublicAbstract.equals(that.gatewayPublicAbstract))
        return false;
    }

    boolean this_present_reviewProposalDescription = true && this.isSetReviewProposalDescription();
    boolean that_present_reviewProposalDescription = true && that.isSetReviewProposalDescription();
    if (this_present_reviewProposalDescription || that_present_reviewProposalDescription) {
      if (!(this_present_reviewProposalDescription && that_present_reviewProposalDescription))
        return false;
      if (!this.reviewProposalDescription.equals(that.reviewProposalDescription))
        return false;
    }

    boolean this_present_gatewayAdminFirstName = true && this.isSetGatewayAdminFirstName();
    boolean that_present_gatewayAdminFirstName = true && that.isSetGatewayAdminFirstName();
    if (this_present_gatewayAdminFirstName || that_present_gatewayAdminFirstName) {
      if (!(this_present_gatewayAdminFirstName && that_present_gatewayAdminFirstName))
        return false;
      if (!this.gatewayAdminFirstName.equals(that.gatewayAdminFirstName))
        return false;
    }

    boolean this_present_gatewayAdminLastName = true && this.isSetGatewayAdminLastName();
    boolean that_present_gatewayAdminLastName = true && that.isSetGatewayAdminLastName();
    if (this_present_gatewayAdminLastName || that_present_gatewayAdminLastName) {
      if (!(this_present_gatewayAdminLastName && that_present_gatewayAdminLastName))
        return false;
      if (!this.gatewayAdminLastName.equals(that.gatewayAdminLastName))
        return false;
    }

    boolean this_present_gatewayAdminEmail = true && this.isSetGatewayAdminEmail();
    boolean that_present_gatewayAdminEmail = true && that.isSetGatewayAdminEmail();
    if (this_present_gatewayAdminEmail || that_present_gatewayAdminEmail) {
      if (!(this_present_gatewayAdminEmail && that_present_gatewayAdminEmail))
        return false;
      if (!this.gatewayAdminEmail.equals(that.gatewayAdminEmail))
        return false;
    }

    boolean this_present_identityServerUserName = true && this.isSetIdentityServerUserName();
    boolean that_present_identityServerUserName = true && that.isSetIdentityServerUserName();
    if (this_present_identityServerUserName || that_present_identityServerUserName) {
      if (!(this_present_identityServerUserName && that_present_identityServerUserName))
        return false;
      if (!this.identityServerUserName.equals(that.identityServerUserName))
        return false;
    }

    boolean this_present_identityServerPasswordToken = true && this.isSetIdentityServerPasswordToken();
    boolean that_present_identityServerPasswordToken = true && that.isSetIdentityServerPasswordToken();
    if (this_present_identityServerPasswordToken || that_present_identityServerPasswordToken) {
      if (!(this_present_identityServerPasswordToken && that_present_identityServerPasswordToken))
        return false;
      if (!this.identityServerPasswordToken.equals(that.identityServerPasswordToken))
        return false;
    }

    return true;
  }

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

    boolean present_gatewayId = true && (isSetGatewayId());
    list.add(present_gatewayId);
    if (present_gatewayId)
      list.add(gatewayId);

    boolean present_gatewayApprovalStatus = true && (isSetGatewayApprovalStatus());
    list.add(present_gatewayApprovalStatus);
    if (present_gatewayApprovalStatus)
      list.add(gatewayApprovalStatus.getValue());

    boolean present_gatewayName = true && (isSetGatewayName());
    list.add(present_gatewayName);
    if (present_gatewayName)
      list.add(gatewayName);

    boolean present_domain = true && (isSetDomain());
    list.add(present_domain);
    if (present_domain)
      list.add(domain);

    boolean present_emailAddress = true && (isSetEmailAddress());
    list.add(present_emailAddress);
    if (present_emailAddress)
      list.add(emailAddress);

    boolean present_gatewayAcronym = true && (isSetGatewayAcronym());
    list.add(present_gatewayAcronym);
    if (present_gatewayAcronym)
      list.add(gatewayAcronym);

    boolean present_gatewayURL = true && (isSetGatewayURL());
    list.add(present_gatewayURL);
    if (present_gatewayURL)
      list.add(gatewayURL);

    boolean present_gatewayPublicAbstract = true && (isSetGatewayPublicAbstract());
    list.add(present_gatewayPublicAbstract);
    if (present_gatewayPublicAbstract)
      list.add(gatewayPublicAbstract);

    boolean present_reviewProposalDescription = true && (isSetReviewProposalDescription());
    list.add(present_reviewProposalDescription);
    if (present_reviewProposalDescription)
      list.add(reviewProposalDescription);

    boolean present_gatewayAdminFirstName = true && (isSetGatewayAdminFirstName());
    list.add(present_gatewayAdminFirstName);
    if (present_gatewayAdminFirstName)
      list.add(gatewayAdminFirstName);

    boolean present_gatewayAdminLastName = true && (isSetGatewayAdminLastName());
    list.add(present_gatewayAdminLastName);
    if (present_gatewayAdminLastName)
      list.add(gatewayAdminLastName);

    boolean present_gatewayAdminEmail = true && (isSetGatewayAdminEmail());
    list.add(present_gatewayAdminEmail);
    if (present_gatewayAdminEmail)
      list.add(gatewayAdminEmail);

    boolean present_identityServerUserName = true && (isSetIdentityServerUserName());
    list.add(present_identityServerUserName);
    if (present_identityServerUserName)
      list.add(identityServerUserName);

    boolean present_identityServerPasswordToken = true && (isSetIdentityServerPasswordToken());
    list.add(present_identityServerPasswordToken);
    if (present_identityServerPasswordToken)
      list.add(identityServerPasswordToken);

    return list.hashCode();
  }

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

    int lastComparison = 0;

    lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGatewayApprovalStatus()).compareTo(other.isSetGatewayApprovalStatus());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayApprovalStatus()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayApprovalStatus, other.gatewayApprovalStatus);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGatewayName()).compareTo(other.isSetGatewayName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayName, other.gatewayName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDomain()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domain, other.domain);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetEmailAddress()).compareTo(other.isSetEmailAddress());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetEmailAddress()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.emailAddress, other.emailAddress);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGatewayAcronym()).compareTo(other.isSetGatewayAcronym());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayAcronym()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayAcronym, other.gatewayAcronym);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGatewayURL()).compareTo(other.isSetGatewayURL());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayURL()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayURL, other.gatewayURL);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGatewayPublicAbstract()).compareTo(other.isSetGatewayPublicAbstract());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayPublicAbstract()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayPublicAbstract, other.gatewayPublicAbstract);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetReviewProposalDescription()).compareTo(other.isSetReviewProposalDescription());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetReviewProposalDescription()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reviewProposalDescription, other.reviewProposalDescription);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGatewayAdminFirstName()).compareTo(other.isSetGatewayAdminFirstName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayAdminFirstName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayAdminFirstName, other.gatewayAdminFirstName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGatewayAdminLastName()).compareTo(other.isSetGatewayAdminLastName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayAdminLastName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayAdminLastName, other.gatewayAdminLastName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGatewayAdminEmail()).compareTo(other.isSetGatewayAdminEmail());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGatewayAdminEmail()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayAdminEmail, other.gatewayAdminEmail);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetIdentityServerUserName()).compareTo(other.isSetIdentityServerUserName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIdentityServerUserName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.identityServerUserName, other.identityServerUserName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetIdentityServerPasswordToken()).compareTo(other.isSetIdentityServerPasswordToken());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIdentityServerPasswordToken()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.identityServerPasswordToken, other.identityServerPasswordToken);
      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("Gateway(");
    boolean first = true;

    sb.append("gatewayId:");
    if (this.gatewayId == null) {
      sb.append("null");
    } else {
      sb.append(this.gatewayId);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("gatewayApprovalStatus:");
    if (this.gatewayApprovalStatus == null) {
      sb.append("null");
    } else {
      sb.append(this.gatewayApprovalStatus);
    }
    first = false;
    if (isSetGatewayName()) {
      if (!first) sb.append(", ");
      sb.append("gatewayName:");
      if (this.gatewayName == null) {
        sb.append("null");
      } else {
        sb.append(this.gatewayName);
      }
      first = false;
    }
    if (isSetDomain()) {
      if (!first) sb.append(", ");
      sb.append("domain:");
      if (this.domain == null) {
        sb.append("null");
      } else {
        sb.append(this.domain);
      }
      first = false;
    }
    if (isSetEmailAddress()) {
      if (!first) sb.append(", ");
      sb.append("emailAddress:");
      if (this.emailAddress == null) {
        sb.append("null");
      } else {
        sb.append(this.emailAddress);
      }
      first = false;
    }
    if (isSetGatewayAcronym()) {
      if (!first) sb.append(", ");
      sb.append("gatewayAcronym:");
      if (this.gatewayAcronym == null) {
        sb.append("null");
      } else {
        sb.append(this.gatewayAcronym);
      }
      first = false;
    }
    if (isSetGatewayURL()) {
      if (!first) sb.append(", ");
      sb.append("gatewayURL:");
      if (this.gatewayURL == null) {
        sb.append("null");
      } else {
        sb.append(this.gatewayURL);
      }
      first = false;
    }
    if (isSetGatewayPublicAbstract()) {
      if (!first) sb.append(", ");
      sb.append("gatewayPublicAbstract:");
      if (this.gatewayPublicAbstract == null) {
        sb.append("null");
      } else {
        sb.append(this.gatewayPublicAbstract);
      }
      first = false;
    }
    if (isSetReviewProposalDescription()) {
      if (!first) sb.append(", ");
      sb.append("reviewProposalDescription:");
      if (this.reviewProposalDescription == null) {
        sb.append("null");
      } else {
        sb.append(this.reviewProposalDescription);
      }
      first = false;
    }
    if (isSetGatewayAdminFirstName()) {
      if (!first) sb.append(", ");
      sb.append("gatewayAdminFirstName:");
      if (this.gatewayAdminFirstName == null) {
        sb.append("null");
      } else {
        sb.append(this.gatewayAdminFirstName);
      }
      first = false;
    }
    if (isSetGatewayAdminLastName()) {
      if (!first) sb.append(", ");
      sb.append("gatewayAdminLastName:");
      if (this.gatewayAdminLastName == null) {
        sb.append("null");
      } else {
        sb.append(this.gatewayAdminLastName);
      }
      first = false;
    }
    if (isSetGatewayAdminEmail()) {
      if (!first) sb.append(", ");
      sb.append("gatewayAdminEmail:");
      if (this.gatewayAdminEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.gatewayAdminEmail);
      }
      first = false;
    }
    if (isSetIdentityServerUserName()) {
      if (!first) sb.append(", ");
      sb.append("identityServerUserName:");
      if (this.identityServerUserName == null) {
        sb.append("null");
      } else {
        sb.append(this.identityServerUserName);
      }
      first = false;
    }
    if (isSetIdentityServerPasswordToken()) {
      if (!first) sb.append(", ");
      sb.append("identityServerPasswordToken:");
      if (this.identityServerPasswordToken == null) {
        sb.append("null");
      } else {
        sb.append(this.identityServerPasswordToken);
      }
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    if (!isSetGatewayId()) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' is unset! Struct:" + toString());
    }

    if (!isSetGatewayApprovalStatus()) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayApprovalStatus' is unset! Struct:" + toString());
    }

    // 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 {
      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 GatewayStandardSchemeFactory implements SchemeFactory {
    public GatewayStandardScheme getScheme() {
      return new GatewayStandardScheme();
    }
  }

  private static class GatewayStandardScheme extends StandardScheme {

    public void read(org.apache.thrift.protocol.TProtocol iprot, Gateway 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: // GATEWAY_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.gatewayId = iprot.readString();
              struct.setGatewayIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // GATEWAY_APPROVAL_STATUS
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.gatewayApprovalStatus = org.apache.airavata.model.workspace.GatewayApprovalStatus.findByValue(iprot.readI32());
              struct.setGatewayApprovalStatusIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // GATEWAY_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.gatewayName = iprot.readString();
              struct.setGatewayNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // DOMAIN
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.domain = iprot.readString();
              struct.setDomainIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // EMAIL_ADDRESS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.emailAddress = iprot.readString();
              struct.setEmailAddressIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // GATEWAY_ACRONYM
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.gatewayAcronym = iprot.readString();
              struct.setGatewayAcronymIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // GATEWAY_URL
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.gatewayURL = iprot.readString();
              struct.setGatewayURLIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // GATEWAY_PUBLIC_ABSTRACT
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.gatewayPublicAbstract = iprot.readString();
              struct.setGatewayPublicAbstractIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // REVIEW_PROPOSAL_DESCRIPTION
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.reviewProposalDescription = iprot.readString();
              struct.setReviewProposalDescriptionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // GATEWAY_ADMIN_FIRST_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.gatewayAdminFirstName = iprot.readString();
              struct.setGatewayAdminFirstNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // GATEWAY_ADMIN_LAST_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.gatewayAdminLastName = iprot.readString();
              struct.setGatewayAdminLastNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // GATEWAY_ADMIN_EMAIL
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.gatewayAdminEmail = iprot.readString();
              struct.setGatewayAdminEmailIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // IDENTITY_SERVER_USER_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.identityServerUserName = iprot.readString();
              struct.setIdentityServerUserNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // IDENTITY_SERVER_PASSWORD_TOKEN
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.identityServerPasswordToken = iprot.readString();
              struct.setIdentityServerPasswordTokenIsSet(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();
      struct.validate();
    }

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

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.gatewayId != null) {
        oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
        oprot.writeString(struct.gatewayId);
        oprot.writeFieldEnd();
      }
      if (struct.gatewayApprovalStatus != null) {
        oprot.writeFieldBegin(GATEWAY_APPROVAL_STATUS_FIELD_DESC);
        oprot.writeI32(struct.gatewayApprovalStatus.getValue());
        oprot.writeFieldEnd();
      }
      if (struct.gatewayName != null) {
        if (struct.isSetGatewayName()) {
          oprot.writeFieldBegin(GATEWAY_NAME_FIELD_DESC);
          oprot.writeString(struct.gatewayName);
          oprot.writeFieldEnd();
        }
      }
      if (struct.domain != null) {
        if (struct.isSetDomain()) {
          oprot.writeFieldBegin(DOMAIN_FIELD_DESC);
          oprot.writeString(struct.domain);
          oprot.writeFieldEnd();
        }
      }
      if (struct.emailAddress != null) {
        if (struct.isSetEmailAddress()) {
          oprot.writeFieldBegin(EMAIL_ADDRESS_FIELD_DESC);
          oprot.writeString(struct.emailAddress);
          oprot.writeFieldEnd();
        }
      }
      if (struct.gatewayAcronym != null) {
        if (struct.isSetGatewayAcronym()) {
          oprot.writeFieldBegin(GATEWAY_ACRONYM_FIELD_DESC);
          oprot.writeString(struct.gatewayAcronym);
          oprot.writeFieldEnd();
        }
      }
      if (struct.gatewayURL != null) {
        if (struct.isSetGatewayURL()) {
          oprot.writeFieldBegin(GATEWAY_URL_FIELD_DESC);
          oprot.writeString(struct.gatewayURL);
          oprot.writeFieldEnd();
        }
      }
      if (struct.gatewayPublicAbstract != null) {
        if (struct.isSetGatewayPublicAbstract()) {
          oprot.writeFieldBegin(GATEWAY_PUBLIC_ABSTRACT_FIELD_DESC);
          oprot.writeString(struct.gatewayPublicAbstract);
          oprot.writeFieldEnd();
        }
      }
      if (struct.reviewProposalDescription != null) {
        if (struct.isSetReviewProposalDescription()) {
          oprot.writeFieldBegin(REVIEW_PROPOSAL_DESCRIPTION_FIELD_DESC);
          oprot.writeString(struct.reviewProposalDescription);
          oprot.writeFieldEnd();
        }
      }
      if (struct.gatewayAdminFirstName != null) {
        if (struct.isSetGatewayAdminFirstName()) {
          oprot.writeFieldBegin(GATEWAY_ADMIN_FIRST_NAME_FIELD_DESC);
          oprot.writeString(struct.gatewayAdminFirstName);
          oprot.writeFieldEnd();
        }
      }
      if (struct.gatewayAdminLastName != null) {
        if (struct.isSetGatewayAdminLastName()) {
          oprot.writeFieldBegin(GATEWAY_ADMIN_LAST_NAME_FIELD_DESC);
          oprot.writeString(struct.gatewayAdminLastName);
          oprot.writeFieldEnd();
        }
      }
      if (struct.gatewayAdminEmail != null) {
        if (struct.isSetGatewayAdminEmail()) {
          oprot.writeFieldBegin(GATEWAY_ADMIN_EMAIL_FIELD_DESC);
          oprot.writeString(struct.gatewayAdminEmail);
          oprot.writeFieldEnd();
        }
      }
      if (struct.identityServerUserName != null) {
        if (struct.isSetIdentityServerUserName()) {
          oprot.writeFieldBegin(IDENTITY_SERVER_USER_NAME_FIELD_DESC);
          oprot.writeString(struct.identityServerUserName);
          oprot.writeFieldEnd();
        }
      }
      if (struct.identityServerPasswordToken != null) {
        if (struct.isSetIdentityServerPasswordToken()) {
          oprot.writeFieldBegin(IDENTITY_SERVER_PASSWORD_TOKEN_FIELD_DESC);
          oprot.writeString(struct.identityServerPasswordToken);
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class GatewayTupleSchemeFactory implements SchemeFactory {
    public GatewayTupleScheme getScheme() {
      return new GatewayTupleScheme();
    }
  }

  private static class GatewayTupleScheme extends TupleScheme {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, Gateway struct) throws org.apache.thrift.TException {
      TTupleProtocol oprot = (TTupleProtocol) prot;
      oprot.writeString(struct.gatewayId);
      oprot.writeI32(struct.gatewayApprovalStatus.getValue());
      BitSet optionals = new BitSet();
      if (struct.isSetGatewayName()) {
        optionals.set(0);
      }
      if (struct.isSetDomain()) {
        optionals.set(1);
      }
      if (struct.isSetEmailAddress()) {
        optionals.set(2);
      }
      if (struct.isSetGatewayAcronym()) {
        optionals.set(3);
      }
      if (struct.isSetGatewayURL()) {
        optionals.set(4);
      }
      if (struct.isSetGatewayPublicAbstract()) {
        optionals.set(5);
      }
      if (struct.isSetReviewProposalDescription()) {
        optionals.set(6);
      }
      if (struct.isSetGatewayAdminFirstName()) {
        optionals.set(7);
      }
      if (struct.isSetGatewayAdminLastName()) {
        optionals.set(8);
      }
      if (struct.isSetGatewayAdminEmail()) {
        optionals.set(9);
      }
      if (struct.isSetIdentityServerUserName()) {
        optionals.set(10);
      }
      if (struct.isSetIdentityServerPasswordToken()) {
        optionals.set(11);
      }
      oprot.writeBitSet(optionals, 12);
      if (struct.isSetGatewayName()) {
        oprot.writeString(struct.gatewayName);
      }
      if (struct.isSetDomain()) {
        oprot.writeString(struct.domain);
      }
      if (struct.isSetEmailAddress()) {
        oprot.writeString(struct.emailAddress);
      }
      if (struct.isSetGatewayAcronym()) {
        oprot.writeString(struct.gatewayAcronym);
      }
      if (struct.isSetGatewayURL()) {
        oprot.writeString(struct.gatewayURL);
      }
      if (struct.isSetGatewayPublicAbstract()) {
        oprot.writeString(struct.gatewayPublicAbstract);
      }
      if (struct.isSetReviewProposalDescription()) {
        oprot.writeString(struct.reviewProposalDescription);
      }
      if (struct.isSetGatewayAdminFirstName()) {
        oprot.writeString(struct.gatewayAdminFirstName);
      }
      if (struct.isSetGatewayAdminLastName()) {
        oprot.writeString(struct.gatewayAdminLastName);
      }
      if (struct.isSetGatewayAdminEmail()) {
        oprot.writeString(struct.gatewayAdminEmail);
      }
      if (struct.isSetIdentityServerUserName()) {
        oprot.writeString(struct.identityServerUserName);
      }
      if (struct.isSetIdentityServerPasswordToken()) {
        oprot.writeString(struct.identityServerPasswordToken);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, Gateway struct) throws org.apache.thrift.TException {
      TTupleProtocol iprot = (TTupleProtocol) prot;
      struct.gatewayId = iprot.readString();
      struct.setGatewayIdIsSet(true);
      struct.gatewayApprovalStatus = org.apache.airavata.model.workspace.GatewayApprovalStatus.findByValue(iprot.readI32());
      struct.setGatewayApprovalStatusIsSet(true);
      BitSet incoming = iprot.readBitSet(12);
      if (incoming.get(0)) {
        struct.gatewayName = iprot.readString();
        struct.setGatewayNameIsSet(true);
      }
      if (incoming.get(1)) {
        struct.domain = iprot.readString();
        struct.setDomainIsSet(true);
      }
      if (incoming.get(2)) {
        struct.emailAddress = iprot.readString();
        struct.setEmailAddressIsSet(true);
      }
      if (incoming.get(3)) {
        struct.gatewayAcronym = iprot.readString();
        struct.setGatewayAcronymIsSet(true);
      }
      if (incoming.get(4)) {
        struct.gatewayURL = iprot.readString();
        struct.setGatewayURLIsSet(true);
      }
      if (incoming.get(5)) {
        struct.gatewayPublicAbstract = iprot.readString();
        struct.setGatewayPublicAbstractIsSet(true);
      }
      if (incoming.get(6)) {
        struct.reviewProposalDescription = iprot.readString();
        struct.setReviewProposalDescriptionIsSet(true);
      }
      if (incoming.get(7)) {
        struct.gatewayAdminFirstName = iprot.readString();
        struct.setGatewayAdminFirstNameIsSet(true);
      }
      if (incoming.get(8)) {
        struct.gatewayAdminLastName = iprot.readString();
        struct.setGatewayAdminLastNameIsSet(true);
      }
      if (incoming.get(9)) {
        struct.gatewayAdminEmail = iprot.readString();
        struct.setGatewayAdminEmailIsSet(true);
      }
      if (incoming.get(10)) {
        struct.identityServerUserName = iprot.readString();
        struct.setIdentityServerUserNameIsSet(true);
      }
      if (incoming.get(11)) {
        struct.identityServerPasswordToken = iprot.readString();
        struct.setIdentityServerPasswordTokenIsSet(true);
      }
    }
  }

}