TMCTable.java

/**
 * Autogenerated by Thrift Compiler (0.16.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package org.apache.doris.thrift;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.16.0)", date = "2026-05-14")
public class TMCTable implements org.apache.thrift.TBase<TMCTable, TMCTable._Fields>, java.io.Serializable, Cloneable, Comparable<TMCTable> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TMCTable");

  private static final org.apache.thrift.protocol.TField REGION_FIELD_DESC = new org.apache.thrift.protocol.TField("region", org.apache.thrift.protocol.TType.STRING, (short)1);
  private static final org.apache.thrift.protocol.TField PROJECT_FIELD_DESC = new org.apache.thrift.protocol.TField("project", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short)3);
  private static final org.apache.thrift.protocol.TField ACCESS_KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("access_key", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField SECRET_KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("secret_key", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField PUBLIC_ACCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("public_access", org.apache.thrift.protocol.TType.STRING, (short)6);
  private static final org.apache.thrift.protocol.TField ODPS_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("odps_url", org.apache.thrift.protocol.TType.STRING, (short)7);
  private static final org.apache.thrift.protocol.TField TUNNEL_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("tunnel_url", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField ENDPOINT_FIELD_DESC = new org.apache.thrift.protocol.TField("endpoint", org.apache.thrift.protocol.TType.STRING, (short)9);
  private static final org.apache.thrift.protocol.TField QUOTA_FIELD_DESC = new org.apache.thrift.protocol.TField("quota", org.apache.thrift.protocol.TType.STRING, (short)10);
  private static final org.apache.thrift.protocol.TField PROPERTIES_FIELD_DESC = new org.apache.thrift.protocol.TField("properties", org.apache.thrift.protocol.TType.MAP, (short)11);

  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TMCTableStandardSchemeFactory();
  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TMCTableTupleSchemeFactory();

  public @org.apache.thrift.annotation.Nullable java.lang.String region; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String project; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String table; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String access_key; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String secret_key; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String public_access; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String odps_url; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String tunnel_url; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String endpoint; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String quota; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties; // 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 {
    REGION((short)1, "region"),
    PROJECT((short)2, "project"),
    TABLE((short)3, "table"),
    ACCESS_KEY((short)4, "access_key"),
    SECRET_KEY((short)5, "secret_key"),
    PUBLIC_ACCESS((short)6, "public_access"),
    ODPS_URL((short)7, "odps_url"),
    TUNNEL_URL((short)8, "tunnel_url"),
    ENDPOINT((short)9, "endpoint"),
    QUOTA((short)10, "quota"),
    PROPERTIES((short)11, "properties");

    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

    static {
      for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
        byName.put(field.getFieldName(), field);
      }
    }

    /**
     * Find the _Fields constant that matches fieldId, or null if its not found.
     */
    @org.apache.thrift.annotation.Nullable
    public static _Fields findByThriftId(int fieldId) {
      switch(fieldId) {
        case 1: // REGION
          return REGION;
        case 2: // PROJECT
          return PROJECT;
        case 3: // TABLE
          return TABLE;
        case 4: // ACCESS_KEY
          return ACCESS_KEY;
        case 5: // SECRET_KEY
          return SECRET_KEY;
        case 6: // PUBLIC_ACCESS
          return PUBLIC_ACCESS;
        case 7: // ODPS_URL
          return ODPS_URL;
        case 8: // TUNNEL_URL
          return TUNNEL_URL;
        case 9: // ENDPOINT
          return ENDPOINT;
        case 10: // QUOTA
          return QUOTA;
        case 11: // PROPERTIES
          return PROPERTIES;
        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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
      return fields;
    }

    /**
     * Find the _Fields constant that matches name, or null if its not found.
     */
    @org.apache.thrift.annotation.Nullable
    public static _Fields findByName(java.lang.String name) {
      return byName.get(name);
    }

    private final short _thriftId;
    private final java.lang.String _fieldName;

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

    public short getThriftFieldId() {
      return _thriftId;
    }

    public java.lang.String getFieldName() {
      return _fieldName;
    }
  }

  // isset id assignments
  private static final _Fields optionals[] = {_Fields.REGION,_Fields.PROJECT,_Fields.TABLE,_Fields.ACCESS_KEY,_Fields.SECRET_KEY,_Fields.PUBLIC_ACCESS,_Fields.ODPS_URL,_Fields.TUNNEL_URL,_Fields.ENDPOINT,_Fields.QUOTA,_Fields.PROPERTIES};
  public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
  static {
    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
    tmpMap.put(_Fields.REGION, new org.apache.thrift.meta_data.FieldMetaData("region", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.PROJECT, new org.apache.thrift.meta_data.FieldMetaData("project", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.ACCESS_KEY, new org.apache.thrift.meta_data.FieldMetaData("access_key", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.SECRET_KEY, new org.apache.thrift.meta_data.FieldMetaData("secret_key", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.PUBLIC_ACCESS, new org.apache.thrift.meta_data.FieldMetaData("public_access", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.ODPS_URL, new org.apache.thrift.meta_data.FieldMetaData("odps_url", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TUNNEL_URL, new org.apache.thrift.meta_data.FieldMetaData("tunnel_url", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.ENDPOINT, new org.apache.thrift.meta_data.FieldMetaData("endpoint", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.QUOTA, new org.apache.thrift.meta_data.FieldMetaData("quota", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.PROPERTIES, new org.apache.thrift.meta_data.FieldMetaData("properties", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TMCTable.class, metaDataMap);
  }

  public TMCTable() {
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TMCTable(TMCTable other) {
    if (other.isSetRegion()) {
      this.region = other.region;
    }
    if (other.isSetProject()) {
      this.project = other.project;
    }
    if (other.isSetTable()) {
      this.table = other.table;
    }
    if (other.isSetAccessKey()) {
      this.access_key = other.access_key;
    }
    if (other.isSetSecretKey()) {
      this.secret_key = other.secret_key;
    }
    if (other.isSetPublicAccess()) {
      this.public_access = other.public_access;
    }
    if (other.isSetOdpsUrl()) {
      this.odps_url = other.odps_url;
    }
    if (other.isSetTunnelUrl()) {
      this.tunnel_url = other.tunnel_url;
    }
    if (other.isSetEndpoint()) {
      this.endpoint = other.endpoint;
    }
    if (other.isSetQuota()) {
      this.quota = other.quota;
    }
    if (other.isSetProperties()) {
      java.util.Map<java.lang.String,java.lang.String> __this__properties = new java.util.HashMap<java.lang.String,java.lang.String>(other.properties);
      this.properties = __this__properties;
    }
  }

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

  @Override
  public void clear() {
    this.region = null;
    this.project = null;
    this.table = null;
    this.access_key = null;
    this.secret_key = null;
    this.public_access = null;
    this.odps_url = null;
    this.tunnel_url = null;
    this.endpoint = null;
    this.quota = null;
    this.properties = null;
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getRegion() {
    return this.region;
  }

  public TMCTable setRegion(@org.apache.thrift.annotation.Nullable java.lang.String region) {
    this.region = region;
    return this;
  }

  public void unsetRegion() {
    this.region = null;
  }

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

  public void setRegionIsSet(boolean value) {
    if (!value) {
      this.region = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getProject() {
    return this.project;
  }

  public TMCTable setProject(@org.apache.thrift.annotation.Nullable java.lang.String project) {
    this.project = project;
    return this;
  }

  public void unsetProject() {
    this.project = null;
  }

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

  public void setProjectIsSet(boolean value) {
    if (!value) {
      this.project = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getTable() {
    return this.table;
  }

  public TMCTable setTable(@org.apache.thrift.annotation.Nullable java.lang.String table) {
    this.table = table;
    return this;
  }

  public void unsetTable() {
    this.table = null;
  }

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

  public void setTableIsSet(boolean value) {
    if (!value) {
      this.table = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getAccessKey() {
    return this.access_key;
  }

  public TMCTable setAccessKey(@org.apache.thrift.annotation.Nullable java.lang.String access_key) {
    this.access_key = access_key;
    return this;
  }

  public void unsetAccessKey() {
    this.access_key = null;
  }

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

  public void setAccessKeyIsSet(boolean value) {
    if (!value) {
      this.access_key = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getSecretKey() {
    return this.secret_key;
  }

  public TMCTable setSecretKey(@org.apache.thrift.annotation.Nullable java.lang.String secret_key) {
    this.secret_key = secret_key;
    return this;
  }

  public void unsetSecretKey() {
    this.secret_key = null;
  }

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

  public void setSecretKeyIsSet(boolean value) {
    if (!value) {
      this.secret_key = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getPublicAccess() {
    return this.public_access;
  }

  public TMCTable setPublicAccess(@org.apache.thrift.annotation.Nullable java.lang.String public_access) {
    this.public_access = public_access;
    return this;
  }

  public void unsetPublicAccess() {
    this.public_access = null;
  }

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

  public void setPublicAccessIsSet(boolean value) {
    if (!value) {
      this.public_access = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getOdpsUrl() {
    return this.odps_url;
  }

  public TMCTable setOdpsUrl(@org.apache.thrift.annotation.Nullable java.lang.String odps_url) {
    this.odps_url = odps_url;
    return this;
  }

  public void unsetOdpsUrl() {
    this.odps_url = null;
  }

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

  public void setOdpsUrlIsSet(boolean value) {
    if (!value) {
      this.odps_url = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getTunnelUrl() {
    return this.tunnel_url;
  }

  public TMCTable setTunnelUrl(@org.apache.thrift.annotation.Nullable java.lang.String tunnel_url) {
    this.tunnel_url = tunnel_url;
    return this;
  }

  public void unsetTunnelUrl() {
    this.tunnel_url = null;
  }

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

  public void setTunnelUrlIsSet(boolean value) {
    if (!value) {
      this.tunnel_url = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getEndpoint() {
    return this.endpoint;
  }

  public TMCTable setEndpoint(@org.apache.thrift.annotation.Nullable java.lang.String endpoint) {
    this.endpoint = endpoint;
    return this;
  }

  public void unsetEndpoint() {
    this.endpoint = null;
  }

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

  public void setEndpointIsSet(boolean value) {
    if (!value) {
      this.endpoint = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getQuota() {
    return this.quota;
  }

  public TMCTable setQuota(@org.apache.thrift.annotation.Nullable java.lang.String quota) {
    this.quota = quota;
    return this;
  }

  public void unsetQuota() {
    this.quota = null;
  }

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

  public void setQuotaIsSet(boolean value) {
    if (!value) {
      this.quota = null;
    }
  }

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

  public void putToProperties(java.lang.String key, java.lang.String val) {
    if (this.properties == null) {
      this.properties = new java.util.HashMap<java.lang.String,java.lang.String>();
    }
    this.properties.put(key, val);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<java.lang.String,java.lang.String> getProperties() {
    return this.properties;
  }

  public TMCTable setProperties(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties) {
    this.properties = properties;
    return this;
  }

  public void unsetProperties() {
    this.properties = null;
  }

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

  public void setPropertiesIsSet(boolean value) {
    if (!value) {
      this.properties = null;
    }
  }

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case REGION:
      if (value == null) {
        unsetRegion();
      } else {
        setRegion((java.lang.String)value);
      }
      break;

    case PROJECT:
      if (value == null) {
        unsetProject();
      } else {
        setProject((java.lang.String)value);
      }
      break;

    case TABLE:
      if (value == null) {
        unsetTable();
      } else {
        setTable((java.lang.String)value);
      }
      break;

    case ACCESS_KEY:
      if (value == null) {
        unsetAccessKey();
      } else {
        setAccessKey((java.lang.String)value);
      }
      break;

    case SECRET_KEY:
      if (value == null) {
        unsetSecretKey();
      } else {
        setSecretKey((java.lang.String)value);
      }
      break;

    case PUBLIC_ACCESS:
      if (value == null) {
        unsetPublicAccess();
      } else {
        setPublicAccess((java.lang.String)value);
      }
      break;

    case ODPS_URL:
      if (value == null) {
        unsetOdpsUrl();
      } else {
        setOdpsUrl((java.lang.String)value);
      }
      break;

    case TUNNEL_URL:
      if (value == null) {
        unsetTunnelUrl();
      } else {
        setTunnelUrl((java.lang.String)value);
      }
      break;

    case ENDPOINT:
      if (value == null) {
        unsetEndpoint();
      } else {
        setEndpoint((java.lang.String)value);
      }
      break;

    case QUOTA:
      if (value == null) {
        unsetQuota();
      } else {
        setQuota((java.lang.String)value);
      }
      break;

    case PROPERTIES:
      if (value == null) {
        unsetProperties();
      } else {
        setProperties((java.util.Map<java.lang.String,java.lang.String>)value);
      }
      break;

    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.Object getFieldValue(_Fields field) {
    switch (field) {
    case REGION:
      return getRegion();

    case PROJECT:
      return getProject();

    case TABLE:
      return getTable();

    case ACCESS_KEY:
      return getAccessKey();

    case SECRET_KEY:
      return getSecretKey();

    case PUBLIC_ACCESS:
      return getPublicAccess();

    case ODPS_URL:
      return getOdpsUrl();

    case TUNNEL_URL:
      return getTunnelUrl();

    case ENDPOINT:
      return getEndpoint();

    case QUOTA:
      return getQuota();

    case PROPERTIES:
      return getProperties();

    }
    throw new java.lang.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 java.lang.IllegalArgumentException();
    }

    switch (field) {
    case REGION:
      return isSetRegion();
    case PROJECT:
      return isSetProject();
    case TABLE:
      return isSetTable();
    case ACCESS_KEY:
      return isSetAccessKey();
    case SECRET_KEY:
      return isSetSecretKey();
    case PUBLIC_ACCESS:
      return isSetPublicAccess();
    case ODPS_URL:
      return isSetOdpsUrl();
    case TUNNEL_URL:
      return isSetTunnelUrl();
    case ENDPOINT:
      return isSetEndpoint();
    case QUOTA:
      return isSetQuota();
    case PROPERTIES:
      return isSetProperties();
    }
    throw new java.lang.IllegalStateException();
  }

  @Override
  public boolean equals(java.lang.Object that) {
    if (that instanceof TMCTable)
      return this.equals((TMCTable)that);
    return false;
  }

  public boolean equals(TMCTable that) {
    if (that == null)
      return false;
    if (this == that)
      return true;

    boolean this_present_region = true && this.isSetRegion();
    boolean that_present_region = true && that.isSetRegion();
    if (this_present_region || that_present_region) {
      if (!(this_present_region && that_present_region))
        return false;
      if (!this.region.equals(that.region))
        return false;
    }

    boolean this_present_project = true && this.isSetProject();
    boolean that_present_project = true && that.isSetProject();
    if (this_present_project || that_present_project) {
      if (!(this_present_project && that_present_project))
        return false;
      if (!this.project.equals(that.project))
        return false;
    }

    boolean this_present_table = true && this.isSetTable();
    boolean that_present_table = true && that.isSetTable();
    if (this_present_table || that_present_table) {
      if (!(this_present_table && that_present_table))
        return false;
      if (!this.table.equals(that.table))
        return false;
    }

    boolean this_present_access_key = true && this.isSetAccessKey();
    boolean that_present_access_key = true && that.isSetAccessKey();
    if (this_present_access_key || that_present_access_key) {
      if (!(this_present_access_key && that_present_access_key))
        return false;
      if (!this.access_key.equals(that.access_key))
        return false;
    }

    boolean this_present_secret_key = true && this.isSetSecretKey();
    boolean that_present_secret_key = true && that.isSetSecretKey();
    if (this_present_secret_key || that_present_secret_key) {
      if (!(this_present_secret_key && that_present_secret_key))
        return false;
      if (!this.secret_key.equals(that.secret_key))
        return false;
    }

    boolean this_present_public_access = true && this.isSetPublicAccess();
    boolean that_present_public_access = true && that.isSetPublicAccess();
    if (this_present_public_access || that_present_public_access) {
      if (!(this_present_public_access && that_present_public_access))
        return false;
      if (!this.public_access.equals(that.public_access))
        return false;
    }

    boolean this_present_odps_url = true && this.isSetOdpsUrl();
    boolean that_present_odps_url = true && that.isSetOdpsUrl();
    if (this_present_odps_url || that_present_odps_url) {
      if (!(this_present_odps_url && that_present_odps_url))
        return false;
      if (!this.odps_url.equals(that.odps_url))
        return false;
    }

    boolean this_present_tunnel_url = true && this.isSetTunnelUrl();
    boolean that_present_tunnel_url = true && that.isSetTunnelUrl();
    if (this_present_tunnel_url || that_present_tunnel_url) {
      if (!(this_present_tunnel_url && that_present_tunnel_url))
        return false;
      if (!this.tunnel_url.equals(that.tunnel_url))
        return false;
    }

    boolean this_present_endpoint = true && this.isSetEndpoint();
    boolean that_present_endpoint = true && that.isSetEndpoint();
    if (this_present_endpoint || that_present_endpoint) {
      if (!(this_present_endpoint && that_present_endpoint))
        return false;
      if (!this.endpoint.equals(that.endpoint))
        return false;
    }

    boolean this_present_quota = true && this.isSetQuota();
    boolean that_present_quota = true && that.isSetQuota();
    if (this_present_quota || that_present_quota) {
      if (!(this_present_quota && that_present_quota))
        return false;
      if (!this.quota.equals(that.quota))
        return false;
    }

    boolean this_present_properties = true && this.isSetProperties();
    boolean that_present_properties = true && that.isSetProperties();
    if (this_present_properties || that_present_properties) {
      if (!(this_present_properties && that_present_properties))
        return false;
      if (!this.properties.equals(that.properties))
        return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    int hashCode = 1;

    hashCode = hashCode * 8191 + ((isSetRegion()) ? 131071 : 524287);
    if (isSetRegion())
      hashCode = hashCode * 8191 + region.hashCode();

    hashCode = hashCode * 8191 + ((isSetProject()) ? 131071 : 524287);
    if (isSetProject())
      hashCode = hashCode * 8191 + project.hashCode();

    hashCode = hashCode * 8191 + ((isSetTable()) ? 131071 : 524287);
    if (isSetTable())
      hashCode = hashCode * 8191 + table.hashCode();

    hashCode = hashCode * 8191 + ((isSetAccessKey()) ? 131071 : 524287);
    if (isSetAccessKey())
      hashCode = hashCode * 8191 + access_key.hashCode();

    hashCode = hashCode * 8191 + ((isSetSecretKey()) ? 131071 : 524287);
    if (isSetSecretKey())
      hashCode = hashCode * 8191 + secret_key.hashCode();

    hashCode = hashCode * 8191 + ((isSetPublicAccess()) ? 131071 : 524287);
    if (isSetPublicAccess())
      hashCode = hashCode * 8191 + public_access.hashCode();

    hashCode = hashCode * 8191 + ((isSetOdpsUrl()) ? 131071 : 524287);
    if (isSetOdpsUrl())
      hashCode = hashCode * 8191 + odps_url.hashCode();

    hashCode = hashCode * 8191 + ((isSetTunnelUrl()) ? 131071 : 524287);
    if (isSetTunnelUrl())
      hashCode = hashCode * 8191 + tunnel_url.hashCode();

    hashCode = hashCode * 8191 + ((isSetEndpoint()) ? 131071 : 524287);
    if (isSetEndpoint())
      hashCode = hashCode * 8191 + endpoint.hashCode();

    hashCode = hashCode * 8191 + ((isSetQuota()) ? 131071 : 524287);
    if (isSetQuota())
      hashCode = hashCode * 8191 + quota.hashCode();

    hashCode = hashCode * 8191 + ((isSetProperties()) ? 131071 : 524287);
    if (isSetProperties())
      hashCode = hashCode * 8191 + properties.hashCode();

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetRegion(), other.isSetRegion());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRegion()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.region, other.region);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetProject(), other.isSetProject());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetProject()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.project, other.project);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTable(), other.isSetTable());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTable()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table, other.table);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetAccessKey(), other.isSetAccessKey());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetAccessKey()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.access_key, other.access_key);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSecretKey(), other.isSetSecretKey());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSecretKey()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.secret_key, other.secret_key);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPublicAccess(), other.isSetPublicAccess());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPublicAccess()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.public_access, other.public_access);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetOdpsUrl(), other.isSetOdpsUrl());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOdpsUrl()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.odps_url, other.odps_url);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTunnelUrl(), other.isSetTunnelUrl());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTunnelUrl()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tunnel_url, other.tunnel_url);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetEndpoint(), other.isSetEndpoint());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetEndpoint()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.endpoint, other.endpoint);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetQuota(), other.isSetQuota());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetQuota()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.quota, other.quota);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetProperties(), other.isSetProperties());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetProperties()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.properties, other.properties);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    return 0;
  }

  @org.apache.thrift.annotation.Nullable
  public _Fields fieldForId(int fieldId) {
    return _Fields.findByThriftId(fieldId);
  }

  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
    scheme(iprot).read(iprot, this);
  }

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

  @Override
  public java.lang.String toString() {
    java.lang.StringBuilder sb = new java.lang.StringBuilder("TMCTable(");
    boolean first = true;

    if (isSetRegion()) {
      sb.append("region:");
      if (this.region == null) {
        sb.append("null");
      } else {
        sb.append(this.region);
      }
      first = false;
    }
    if (isSetProject()) {
      if (!first) sb.append(", ");
      sb.append("project:");
      if (this.project == null) {
        sb.append("null");
      } else {
        sb.append(this.project);
      }
      first = false;
    }
    if (isSetTable()) {
      if (!first) sb.append(", ");
      sb.append("table:");
      if (this.table == null) {
        sb.append("null");
      } else {
        sb.append(this.table);
      }
      first = false;
    }
    if (isSetAccessKey()) {
      if (!first) sb.append(", ");
      sb.append("access_key:");
      if (this.access_key == null) {
        sb.append("null");
      } else {
        sb.append(this.access_key);
      }
      first = false;
    }
    if (isSetSecretKey()) {
      if (!first) sb.append(", ");
      sb.append("secret_key:");
      if (this.secret_key == null) {
        sb.append("null");
      } else {
        sb.append(this.secret_key);
      }
      first = false;
    }
    if (isSetPublicAccess()) {
      if (!first) sb.append(", ");
      sb.append("public_access:");
      if (this.public_access == null) {
        sb.append("null");
      } else {
        sb.append(this.public_access);
      }
      first = false;
    }
    if (isSetOdpsUrl()) {
      if (!first) sb.append(", ");
      sb.append("odps_url:");
      if (this.odps_url == null) {
        sb.append("null");
      } else {
        sb.append(this.odps_url);
      }
      first = false;
    }
    if (isSetTunnelUrl()) {
      if (!first) sb.append(", ");
      sb.append("tunnel_url:");
      if (this.tunnel_url == null) {
        sb.append("null");
      } else {
        sb.append(this.tunnel_url);
      }
      first = false;
    }
    if (isSetEndpoint()) {
      if (!first) sb.append(", ");
      sb.append("endpoint:");
      if (this.endpoint == null) {
        sb.append("null");
      } else {
        sb.append(this.endpoint);
      }
      first = false;
    }
    if (isSetQuota()) {
      if (!first) sb.append(", ");
      sb.append("quota:");
      if (this.quota == null) {
        sb.append("null");
      } else {
        sb.append(this.quota);
      }
      first = false;
    }
    if (isSetProperties()) {
      if (!first) sb.append(", ");
      sb.append("properties:");
      if (this.properties == null) {
        sb.append("null");
      } else {
        sb.append(this.properties);
      }
      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, java.lang.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 TMCTableStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TMCTableStandardScheme getScheme() {
      return new TMCTableStandardScheme();
    }
  }

  private static class TMCTableStandardScheme extends org.apache.thrift.scheme.StandardScheme<TMCTable> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TMCTable 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: // REGION
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.region = iprot.readString();
              struct.setRegionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // PROJECT
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.project = iprot.readString();
              struct.setProjectIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // TABLE
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.table = iprot.readString();
              struct.setTableIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // ACCESS_KEY
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.access_key = iprot.readString();
              struct.setAccessKeyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // SECRET_KEY
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.secret_key = iprot.readString();
              struct.setSecretKeyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // PUBLIC_ACCESS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.public_access = iprot.readString();
              struct.setPublicAccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // ODPS_URL
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.odps_url = iprot.readString();
              struct.setOdpsUrlIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // TUNNEL_URL
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.tunnel_url = iprot.readString();
              struct.setTunnelUrlIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // ENDPOINT
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.endpoint = iprot.readString();
              struct.setEndpointIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // QUOTA
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.quota = iprot.readString();
              struct.setQuotaIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // PROPERTIES
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map274 = iprot.readMapBegin();
                struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map274.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _key275;
                @org.apache.thrift.annotation.Nullable java.lang.String _val276;
                for (int _i277 = 0; _i277 < _map274.size; ++_i277)
                {
                  _key275 = iprot.readString();
                  _val276 = iprot.readString();
                  struct.properties.put(_key275, _val276);
                }
                iprot.readMapEnd();
              }
              struct.setPropertiesIsSet(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, TMCTable struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.region != null) {
        if (struct.isSetRegion()) {
          oprot.writeFieldBegin(REGION_FIELD_DESC);
          oprot.writeString(struct.region);
          oprot.writeFieldEnd();
        }
      }
      if (struct.project != null) {
        if (struct.isSetProject()) {
          oprot.writeFieldBegin(PROJECT_FIELD_DESC);
          oprot.writeString(struct.project);
          oprot.writeFieldEnd();
        }
      }
      if (struct.table != null) {
        if (struct.isSetTable()) {
          oprot.writeFieldBegin(TABLE_FIELD_DESC);
          oprot.writeString(struct.table);
          oprot.writeFieldEnd();
        }
      }
      if (struct.access_key != null) {
        if (struct.isSetAccessKey()) {
          oprot.writeFieldBegin(ACCESS_KEY_FIELD_DESC);
          oprot.writeString(struct.access_key);
          oprot.writeFieldEnd();
        }
      }
      if (struct.secret_key != null) {
        if (struct.isSetSecretKey()) {
          oprot.writeFieldBegin(SECRET_KEY_FIELD_DESC);
          oprot.writeString(struct.secret_key);
          oprot.writeFieldEnd();
        }
      }
      if (struct.public_access != null) {
        if (struct.isSetPublicAccess()) {
          oprot.writeFieldBegin(PUBLIC_ACCESS_FIELD_DESC);
          oprot.writeString(struct.public_access);
          oprot.writeFieldEnd();
        }
      }
      if (struct.odps_url != null) {
        if (struct.isSetOdpsUrl()) {
          oprot.writeFieldBegin(ODPS_URL_FIELD_DESC);
          oprot.writeString(struct.odps_url);
          oprot.writeFieldEnd();
        }
      }
      if (struct.tunnel_url != null) {
        if (struct.isSetTunnelUrl()) {
          oprot.writeFieldBegin(TUNNEL_URL_FIELD_DESC);
          oprot.writeString(struct.tunnel_url);
          oprot.writeFieldEnd();
        }
      }
      if (struct.endpoint != null) {
        if (struct.isSetEndpoint()) {
          oprot.writeFieldBegin(ENDPOINT_FIELD_DESC);
          oprot.writeString(struct.endpoint);
          oprot.writeFieldEnd();
        }
      }
      if (struct.quota != null) {
        if (struct.isSetQuota()) {
          oprot.writeFieldBegin(QUOTA_FIELD_DESC);
          oprot.writeString(struct.quota);
          oprot.writeFieldEnd();
        }
      }
      if (struct.properties != null) {
        if (struct.isSetProperties()) {
          oprot.writeFieldBegin(PROPERTIES_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.properties.size()));
            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter278 : struct.properties.entrySet())
            {
              oprot.writeString(_iter278.getKey());
              oprot.writeString(_iter278.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class TMCTableTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TMCTableTupleScheme getScheme() {
      return new TMCTableTupleScheme();
    }
  }

  private static class TMCTableTupleScheme extends org.apache.thrift.scheme.TupleScheme<TMCTable> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TMCTable struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetRegion()) {
        optionals.set(0);
      }
      if (struct.isSetProject()) {
        optionals.set(1);
      }
      if (struct.isSetTable()) {
        optionals.set(2);
      }
      if (struct.isSetAccessKey()) {
        optionals.set(3);
      }
      if (struct.isSetSecretKey()) {
        optionals.set(4);
      }
      if (struct.isSetPublicAccess()) {
        optionals.set(5);
      }
      if (struct.isSetOdpsUrl()) {
        optionals.set(6);
      }
      if (struct.isSetTunnelUrl()) {
        optionals.set(7);
      }
      if (struct.isSetEndpoint()) {
        optionals.set(8);
      }
      if (struct.isSetQuota()) {
        optionals.set(9);
      }
      if (struct.isSetProperties()) {
        optionals.set(10);
      }
      oprot.writeBitSet(optionals, 11);
      if (struct.isSetRegion()) {
        oprot.writeString(struct.region);
      }
      if (struct.isSetProject()) {
        oprot.writeString(struct.project);
      }
      if (struct.isSetTable()) {
        oprot.writeString(struct.table);
      }
      if (struct.isSetAccessKey()) {
        oprot.writeString(struct.access_key);
      }
      if (struct.isSetSecretKey()) {
        oprot.writeString(struct.secret_key);
      }
      if (struct.isSetPublicAccess()) {
        oprot.writeString(struct.public_access);
      }
      if (struct.isSetOdpsUrl()) {
        oprot.writeString(struct.odps_url);
      }
      if (struct.isSetTunnelUrl()) {
        oprot.writeString(struct.tunnel_url);
      }
      if (struct.isSetEndpoint()) {
        oprot.writeString(struct.endpoint);
      }
      if (struct.isSetQuota()) {
        oprot.writeString(struct.quota);
      }
      if (struct.isSetProperties()) {
        {
          oprot.writeI32(struct.properties.size());
          for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter279 : struct.properties.entrySet())
          {
            oprot.writeString(_iter279.getKey());
            oprot.writeString(_iter279.getValue());
          }
        }
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TMCTable struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(11);
      if (incoming.get(0)) {
        struct.region = iprot.readString();
        struct.setRegionIsSet(true);
      }
      if (incoming.get(1)) {
        struct.project = iprot.readString();
        struct.setProjectIsSet(true);
      }
      if (incoming.get(2)) {
        struct.table = iprot.readString();
        struct.setTableIsSet(true);
      }
      if (incoming.get(3)) {
        struct.access_key = iprot.readString();
        struct.setAccessKeyIsSet(true);
      }
      if (incoming.get(4)) {
        struct.secret_key = iprot.readString();
        struct.setSecretKeyIsSet(true);
      }
      if (incoming.get(5)) {
        struct.public_access = iprot.readString();
        struct.setPublicAccessIsSet(true);
      }
      if (incoming.get(6)) {
        struct.odps_url = iprot.readString();
        struct.setOdpsUrlIsSet(true);
      }
      if (incoming.get(7)) {
        struct.tunnel_url = iprot.readString();
        struct.setTunnelUrlIsSet(true);
      }
      if (incoming.get(8)) {
        struct.endpoint = iprot.readString();
        struct.setEndpointIsSet(true);
      }
      if (incoming.get(9)) {
        struct.quota = iprot.readString();
        struct.setQuotaIsSet(true);
      }
      if (incoming.get(10)) {
        {
          org.apache.thrift.protocol.TMap _map280 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
          struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map280.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _key281;
          @org.apache.thrift.annotation.Nullable java.lang.String _val282;
          for (int _i283 = 0; _i283 < _map280.size; ++_i283)
          {
            _key281 = iprot.readString();
            _val282 = iprot.readString();
            struct.properties.put(_key281, _val282);
          }
        }
        struct.setPropertiesIsSet(true);
      }
    }
  }

  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
  }
}