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

@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.20.0)", date = "2024-08-02")
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
public class AmoroTableMetastore {

  /**
   * replace TableContainer、AmoroTableItem
   * 
   */
  public interface Iface {

    public void ping() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public java.util.List<CatalogMeta> getCatalogs() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public CatalogMeta getCatalog(java.lang.String name) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public java.util.List<java.lang.String> getDatabases(java.lang.String catalogName) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void createDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void dropDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.NotSupportedException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void createTableMeta(TableMeta tableMeta) throws org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.api.InvalidObjectException, org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public java.util.List<TableMeta> listTables(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public TableMeta getTable(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void tableCommit(TableCommitMeta commit) throws org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public long allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public Blocker block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws org.apache.amoro.api.OperationConflictException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public long renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public java.util.List<Blocker> getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

  }

  public interface AsyncIface {

    public void ping(org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void getCatalogs(org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<CatalogMeta>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void getCatalog(java.lang.String name, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<CatalogMeta> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void getDatabases(java.lang.String catalogName, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void createDatabase(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void dropDatabase(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void createTableMeta(TableMeta tableMeta, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void listTables(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<TableMeta>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void getTable(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void tableCommit(TableCommitMeta commit, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

    public void getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException;

  }

  public static class Client extends org.apache.amoro.shade.thrift.org.apache.thrift.TServiceClient implements Iface {
    public static class Factory implements org.apache.amoro.shade.thrift.org.apache.thrift.TServiceClientFactory<Client> {
      public Factory() {}
      @Override
      public Client getClient(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) {
        return new Client(prot);
      }
      @Override
      public Client getClient(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

    public Client(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot)
    {
      super(prot, prot);
    }

    public Client(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot) {
      super(iprot, oprot);
    }

    @Override
    public void ping() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_ping();
      recv_ping();
    }

    public void send_ping() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      ping_args args = new ping_args();
      sendBase("ping", args);
    }

    public void recv_ping() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      ping_result result = new ping_result();
      receiveBase(result, "ping");
      return;
    }

    @Override
    public java.util.List<CatalogMeta> getCatalogs() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_getCatalogs();
      return recv_getCatalogs();
    }

    public void send_getCatalogs() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getCatalogs_args args = new getCatalogs_args();
      sendBase("getCatalogs", args);
    }

    public java.util.List<CatalogMeta> recv_getCatalogs() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getCatalogs_result result = new getCatalogs_result();
      receiveBase(result, "getCatalogs");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "getCatalogs failed: unknown result");
    }

    @Override
    public CatalogMeta getCatalog(java.lang.String name) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_getCatalog(name);
      return recv_getCatalog();
    }

    public void send_getCatalog(java.lang.String name) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getCatalog_args args = new getCatalog_args();
      args.setName(name);
      sendBase("getCatalog", args);
    }

    public CatalogMeta recv_getCatalog() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getCatalog_result result = new getCatalog_result();
      receiveBase(result, "getCatalog");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e1 != null) {
        throw result.e1;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "getCatalog failed: unknown result");
    }

    @Override
    public java.util.List<java.lang.String> getDatabases(java.lang.String catalogName) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_getDatabases(catalogName);
      return recv_getDatabases();
    }

    public void send_getDatabases(java.lang.String catalogName) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getDatabases_args args = new getDatabases_args();
      args.setCatalogName(catalogName);
      sendBase("getDatabases", args);
    }

    public java.util.List<java.lang.String> recv_getDatabases() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getDatabases_result result = new getDatabases_result();
      receiveBase(result, "getDatabases");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "getDatabases failed: unknown result");
    }

    @Override
    public void createDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_createDatabase(catalogName, database);
      recv_createDatabase();
    }

    public void send_createDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      createDatabase_args args = new createDatabase_args();
      args.setCatalogName(catalogName);
      args.setDatabase(database);
      sendBase("createDatabase", args);
    }

    public void recv_createDatabase() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      createDatabase_result result = new createDatabase_result();
      receiveBase(result, "createDatabase");
      if (result.e1 != null) {
        throw result.e1;
      }
      if (result.e2 != null) {
        throw result.e2;
      }
      return;
    }

    @Override
    public void dropDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.NotSupportedException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_dropDatabase(catalogName, database);
      recv_dropDatabase();
    }

    public void send_dropDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      dropDatabase_args args = new dropDatabase_args();
      args.setCatalogName(catalogName);
      args.setDatabase(database);
      sendBase("dropDatabase", args);
    }

    public void recv_dropDatabase() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.NotSupportedException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      dropDatabase_result result = new dropDatabase_result();
      receiveBase(result, "dropDatabase");
      if (result.e1 != null) {
        throw result.e1;
      }
      if (result.e2 != null) {
        throw result.e2;
      }
      return;
    }

    @Override
    public void createTableMeta(TableMeta tableMeta) throws org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.api.InvalidObjectException, org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_createTableMeta(tableMeta);
      recv_createTableMeta();
    }

    public void send_createTableMeta(TableMeta tableMeta) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      createTableMeta_args args = new createTableMeta_args();
      args.setTableMeta(tableMeta);
      sendBase("createTableMeta", args);
    }

    public void recv_createTableMeta() throws org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.api.InvalidObjectException, org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      createTableMeta_result result = new createTableMeta_result();
      receiveBase(result, "createTableMeta");
      if (result.e1 != null) {
        throw result.e1;
      }
      if (result.e2 != null) {
        throw result.e2;
      }
      if (result.e3 != null) {
        throw result.e3;
      }
      return;
    }

    @Override
    public java.util.List<TableMeta> listTables(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_listTables(catalogName, database);
      return recv_listTables();
    }

    public void send_listTables(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      listTables_args args = new listTables_args();
      args.setCatalogName(catalogName);
      args.setDatabase(database);
      sendBase("listTables", args);
    }

    public java.util.List<TableMeta> recv_listTables() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      listTables_result result = new listTables_result();
      receiveBase(result, "listTables");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "listTables failed: unknown result");
    }

    @Override
    public TableMeta getTable(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_getTable(tableIdentifier);
      return recv_getTable();
    }

    public void send_getTable(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getTable_args args = new getTable_args();
      args.setTableIdentifier(tableIdentifier);
      sendBase("getTable", args);
    }

    public TableMeta recv_getTable() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getTable_result result = new getTable_result();
      receiveBase(result, "getTable");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "getTable failed: unknown result");
    }

    @Override
    public void removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_removeTable(tableIdentifier, deleteData);
      recv_removeTable();
    }

    public void send_removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      removeTable_args args = new removeTable_args();
      args.setTableIdentifier(tableIdentifier);
      args.setDeleteData(deleteData);
      sendBase("removeTable", args);
    }

    public void recv_removeTable() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      removeTable_result result = new removeTable_result();
      receiveBase(result, "removeTable");
      if (result.e1 != null) {
        throw result.e1;
      }
      if (result.e2 != null) {
        throw result.e2;
      }
      return;
    }

    @Override
    public void tableCommit(TableCommitMeta commit) throws org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_tableCommit(commit);
      recv_tableCommit();
    }

    public void send_tableCommit(TableCommitMeta commit) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      tableCommit_args args = new tableCommit_args();
      args.setCommit(commit);
      sendBase("tableCommit", args);
    }

    public void recv_tableCommit() throws org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      tableCommit_result result = new tableCommit_result();
      receiveBase(result, "tableCommit");
      if (result.e1 != null) {
        throw result.e1;
      }
      return;
    }

    @Override
    public long allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_allocateTransactionId(tableIdentifier, transactionSignature);
      return recv_allocateTransactionId();
    }

    public void send_allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      allocateTransactionId_args args = new allocateTransactionId_args();
      args.setTableIdentifier(tableIdentifier);
      args.setTransactionSignature(transactionSignature);
      sendBase("allocateTransactionId", args);
    }

    public long recv_allocateTransactionId() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      allocateTransactionId_result result = new allocateTransactionId_result();
      receiveBase(result, "allocateTransactionId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "allocateTransactionId failed: unknown result");
    }

    @Override
    public Blocker block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws org.apache.amoro.api.OperationConflictException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_block(tableIdentifier, operations, properties);
      return recv_block();
    }

    public void send_block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      block_args args = new block_args();
      args.setTableIdentifier(tableIdentifier);
      args.setOperations(operations);
      args.setProperties(properties);
      sendBase("block", args);
    }

    public Blocker recv_block() throws org.apache.amoro.api.OperationConflictException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      block_result result = new block_result();
      receiveBase(result, "block");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e1 != null) {
        throw result.e1;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "block failed: unknown result");
    }

    @Override
    public void releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_releaseBlocker(tableIdentifier, blockerId);
      recv_releaseBlocker();
    }

    public void send_releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      releaseBlocker_args args = new releaseBlocker_args();
      args.setTableIdentifier(tableIdentifier);
      args.setBlockerId(blockerId);
      sendBase("releaseBlocker", args);
    }

    public void recv_releaseBlocker() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      releaseBlocker_result result = new releaseBlocker_result();
      receiveBase(result, "releaseBlocker");
      return;
    }

    @Override
    public long renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_renewBlocker(tableIdentifier, blockerId);
      return recv_renewBlocker();
    }

    public void send_renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      renewBlocker_args args = new renewBlocker_args();
      args.setTableIdentifier(tableIdentifier);
      args.setBlockerId(blockerId);
      sendBase("renewBlocker", args);
    }

    public long recv_renewBlocker() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      renewBlocker_result result = new renewBlocker_result();
      receiveBase(result, "renewBlocker");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "renewBlocker failed: unknown result");
    }

    @Override
    public java.util.List<Blocker> getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      send_getBlockers(tableIdentifier);
      return recv_getBlockers();
    }

    public void send_getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getBlockers_args args = new getBlockers_args();
      args.setTableIdentifier(tableIdentifier);
      sendBase("getBlockers", args);
    }

    public java.util.List<Blocker> recv_getBlockers() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException
    {
      getBlockers_result result = new getBlockers_result();
      receiveBase(result, "getBlockers");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.MISSING_RESULT, "getBlockers failed: unknown result");
    }

  }
  public static class AsyncClient extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient implements AsyncIface {
    public static class Factory implements org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
      private org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClientManager clientManager;
      private org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory;
      public Factory(org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }
    @Override
      public AsyncClient getAsyncClient(org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    @Override
    public void ping(org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      ping_call method_call = new ping_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class ping_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<Void> {
      public ping_call(org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("ping", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        ping_args args = new ping_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_ping();
        return null;
      }
    }

    @Override
    public void getCatalogs(org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<CatalogMeta>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      getCatalogs_call method_call = new getCatalogs_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCatalogs_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<java.util.List<CatalogMeta>> {
      public getCatalogs_call(org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<CatalogMeta>> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("getCatalogs", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCatalogs_args args = new getCatalogs_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.util.List<CatalogMeta> getResult() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCatalogs();
      }
    }

    @Override
    public void getCatalog(java.lang.String name, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<CatalogMeta> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      getCatalog_call method_call = new getCatalog_call(name, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCatalog_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<CatalogMeta> {
      private java.lang.String name;
      public getCatalog_call(java.lang.String name, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<CatalogMeta> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("getCatalog", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCatalog_args args = new getCatalog_args();
        args.setName(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public CatalogMeta getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCatalog();
      }
    }

    @Override
    public void getDatabases(java.lang.String catalogName, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      getDatabases_call method_call = new getDatabases_call(catalogName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getDatabases_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<java.util.List<java.lang.String>> {
      private java.lang.String catalogName;
      public getDatabases_call(java.lang.String catalogName, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.catalogName = catalogName;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("getDatabases", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        getDatabases_args args = new getDatabases_args();
        args.setCatalogName(catalogName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.util.List<java.lang.String> getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getDatabases();
      }
    }

    @Override
    public void createDatabase(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      createDatabase_call method_call = new createDatabase_call(catalogName, database, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createDatabase_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String catalogName;
      private java.lang.String database;
      public createDatabase_call(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.catalogName = catalogName;
        this.database = database;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("createDatabase", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        createDatabase_args args = new createDatabase_args();
        args.setCatalogName(catalogName);
        args.setDatabase(database);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_createDatabase();
        return null;
      }
    }

    @Override
    public void dropDatabase(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      dropDatabase_call method_call = new dropDatabase_call(catalogName, database, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class dropDatabase_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String catalogName;
      private java.lang.String database;
      public dropDatabase_call(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.catalogName = catalogName;
        this.database = database;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("dropDatabase", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        dropDatabase_args args = new dropDatabase_args();
        args.setCatalogName(catalogName);
        args.setDatabase(database);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.NotSupportedException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_dropDatabase();
        return null;
      }
    }

    @Override
    public void createTableMeta(TableMeta tableMeta, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      createTableMeta_call method_call = new createTableMeta_call(tableMeta, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createTableMeta_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<Void> {
      private TableMeta tableMeta;
      public createTableMeta_call(TableMeta tableMeta, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableMeta = tableMeta;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("createTableMeta", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        createTableMeta_args args = new createTableMeta_args();
        args.setTableMeta(tableMeta);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.api.InvalidObjectException, org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_createTableMeta();
        return null;
      }
    }

    @Override
    public void listTables(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<TableMeta>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      listTables_call method_call = new listTables_call(catalogName, database, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class listTables_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<java.util.List<TableMeta>> {
      private java.lang.String catalogName;
      private java.lang.String database;
      public listTables_call(java.lang.String catalogName, java.lang.String database, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<TableMeta>> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.catalogName = catalogName;
        this.database = database;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("listTables", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        listTables_args args = new listTables_args();
        args.setCatalogName(catalogName);
        args.setDatabase(database);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.util.List<TableMeta> getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_listTables();
      }
    }

    @Override
    public void getTable(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      getTable_call method_call = new getTable_call(tableIdentifier, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTable_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<TableMeta> {
      private org.apache.amoro.api.TableIdentifier tableIdentifier;
      public getTable_call(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableIdentifier = tableIdentifier;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("getTable", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        getTable_args args = new getTable_args();
        args.setTableIdentifier(tableIdentifier);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TableMeta getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTable();
      }
    }

    @Override
    public void removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      removeTable_call method_call = new removeTable_call(tableIdentifier, deleteData, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class removeTable_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<Void> {
      private org.apache.amoro.api.TableIdentifier tableIdentifier;
      private boolean deleteData;
      public removeTable_call(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableIdentifier = tableIdentifier;
        this.deleteData = deleteData;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("removeTable", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        removeTable_args args = new removeTable_args();
        args.setTableIdentifier(tableIdentifier);
        args.setDeleteData(deleteData);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_removeTable();
        return null;
      }
    }

    @Override
    public void tableCommit(TableCommitMeta commit, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      tableCommit_call method_call = new tableCommit_call(commit, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class tableCommit_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<Void> {
      private TableCommitMeta commit;
      public tableCommit_call(TableCommitMeta commit, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.commit = commit;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("tableCommit", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        tableCommit_args args = new tableCommit_args();
        args.setCommit(commit);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.amoro.api.MetaException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_tableCommit();
        return null;
      }
    }

    @Override
    public void allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      allocateTransactionId_call method_call = new allocateTransactionId_call(tableIdentifier, transactionSignature, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class allocateTransactionId_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<java.lang.Long> {
      private org.apache.amoro.api.TableIdentifier tableIdentifier;
      private java.lang.String transactionSignature;
      public allocateTransactionId_call(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableIdentifier = tableIdentifier;
        this.transactionSignature = transactionSignature;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("allocateTransactionId", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        allocateTransactionId_args args = new allocateTransactionId_args();
        args.setTableIdentifier(tableIdentifier);
        args.setTransactionSignature(transactionSignature);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.Long getResult() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_allocateTransactionId();
      }
    }

    @Override
    public void block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      block_call method_call = new block_call(tableIdentifier, operations, properties, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class block_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<Blocker> {
      private org.apache.amoro.api.TableIdentifier tableIdentifier;
      private java.util.List<BlockableOperation> operations;
      private java.util.Map<java.lang.String,java.lang.String> properties;
      public block_call(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableIdentifier = tableIdentifier;
        this.operations = operations;
        this.properties = properties;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("block", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        block_args args = new block_args();
        args.setTableIdentifier(tableIdentifier);
        args.setOperations(operations);
        args.setProperties(properties);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Blocker getResult() throws org.apache.amoro.api.OperationConflictException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_block();
      }
    }

    @Override
    public void releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      releaseBlocker_call method_call = new releaseBlocker_call(tableIdentifier, blockerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class releaseBlocker_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<Void> {
      private org.apache.amoro.api.TableIdentifier tableIdentifier;
      private java.lang.String blockerId;
      public releaseBlocker_call(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableIdentifier = tableIdentifier;
        this.blockerId = blockerId;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("releaseBlocker", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        releaseBlocker_args args = new releaseBlocker_args();
        args.setTableIdentifier(tableIdentifier);
        args.setBlockerId(blockerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_releaseBlocker();
        return null;
      }
    }

    @Override
    public void renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      renewBlocker_call method_call = new renewBlocker_call(tableIdentifier, blockerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class renewBlocker_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<java.lang.Long> {
      private org.apache.amoro.api.TableIdentifier tableIdentifier;
      private java.lang.String blockerId;
      public renewBlocker_call(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableIdentifier = tableIdentifier;
        this.blockerId = blockerId;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("renewBlocker", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        renewBlocker_args args = new renewBlocker_args();
        args.setTableIdentifier(tableIdentifier);
        args.setBlockerId(blockerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.Long getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_renewBlocker();
      }
    }

    @Override
    public void getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      checkReady();
      getBlockers_call method_call = new getBlockers_call(tableIdentifier, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getBlockers_call extends org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall<java.util.List<Blocker>> {
      private org.apache.amoro.api.TableIdentifier tableIdentifier;
      public getBlockers_call(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler, org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncClient client, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.amoro.shade.thrift.org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableIdentifier = tableIdentifier;
      }

      @Override
      public void write_args(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessage("getBlockers", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.CALL, 0));
        getBlockers_args args = new getBlockers_args();
        args.setTableIdentifier(tableIdentifier);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.util.List<Blocker> getResult() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        if (getState() != org.apache.amoro.shade.thrift.org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getBlockers();
      }
    }

  }

  public static class Processor<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.TBaseProcessor<I> implements org.apache.amoro.shade.thrift.org.apache.thrift.TProcessor {
    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
    public Processor(I iface) {
      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, ? extends org.apache.amoro.shade.thrift.org.apache.thrift.TBase>>()));
    }

    protected Processor(I iface, java.util.Map<java.lang.String, org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, ? extends org.apache.amoro.shade.thrift.org.apache.thrift.TBase>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, ? extends org.apache.amoro.shade.thrift.org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, ? extends  org.apache.amoro.shade.thrift.org.apache.thrift.TBase>> processMap) {
      processMap.put("ping", new ping());
      processMap.put("getCatalogs", new getCatalogs());
      processMap.put("getCatalog", new getCatalog());
      processMap.put("getDatabases", new getDatabases());
      processMap.put("createDatabase", new createDatabase());
      processMap.put("dropDatabase", new dropDatabase());
      processMap.put("createTableMeta", new createTableMeta());
      processMap.put("listTables", new listTables());
      processMap.put("getTable", new getTable());
      processMap.put("removeTable", new removeTable());
      processMap.put("tableCommit", new tableCommit());
      processMap.put("allocateTransactionId", new allocateTransactionId());
      processMap.put("block", new block());
      processMap.put("releaseBlocker", new releaseBlocker());
      processMap.put("renewBlocker", new renewBlocker());
      processMap.put("getBlockers", new getBlockers());
      return processMap;
    }

    public static class ping<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, ping_args> {
      public ping() {
        super("ping");
      }

      @Override
      public ping_args getEmptyArgsInstance() {
        return new ping_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public ping_result getResult(I iface, ping_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        ping_result result = new ping_result();
        iface.ping();
        return result;
      }
    }

    public static class getCatalogs<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, getCatalogs_args> {
      public getCatalogs() {
        super("getCatalogs");
      }

      @Override
      public getCatalogs_args getEmptyArgsInstance() {
        return new getCatalogs_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getCatalogs_result getResult(I iface, getCatalogs_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        getCatalogs_result result = new getCatalogs_result();
        result.success = iface.getCatalogs();
        return result;
      }
    }

    public static class getCatalog<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, getCatalog_args> {
      public getCatalog() {
        super("getCatalog");
      }

      @Override
      public getCatalog_args getEmptyArgsInstance() {
        return new getCatalog_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getCatalog_result getResult(I iface, getCatalog_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        getCatalog_result result = new getCatalog_result();
        try {
          result.success = iface.getCatalog(args.name);
        } catch (org.apache.amoro.api.NoSuchObjectException e1) {
          result.e1 = e1;
        }
        return result;
      }
    }

    public static class getDatabases<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, getDatabases_args> {
      public getDatabases() {
        super("getDatabases");
      }

      @Override
      public getDatabases_args getEmptyArgsInstance() {
        return new getDatabases_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getDatabases_result getResult(I iface, getDatabases_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        getDatabases_result result = new getDatabases_result();
        try {
          result.success = iface.getDatabases(args.catalogName);
        } catch (org.apache.amoro.api.NoSuchObjectException e) {
          result.e = e;
        }
        return result;
      }
    }

    public static class createDatabase<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, createDatabase_args> {
      public createDatabase() {
        super("createDatabase");
      }

      @Override
      public createDatabase_args getEmptyArgsInstance() {
        return new createDatabase_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public createDatabase_result getResult(I iface, createDatabase_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        createDatabase_result result = new createDatabase_result();
        try {
          iface.createDatabase(args.catalogName, args.database);
        } catch (org.apache.amoro.api.NoSuchObjectException e1) {
          result.e1 = e1;
        } catch (org.apache.amoro.api.AlreadyExistsException e2) {
          result.e2 = e2;
        }
        return result;
      }
    }

    public static class dropDatabase<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, dropDatabase_args> {
      public dropDatabase() {
        super("dropDatabase");
      }

      @Override
      public dropDatabase_args getEmptyArgsInstance() {
        return new dropDatabase_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public dropDatabase_result getResult(I iface, dropDatabase_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        dropDatabase_result result = new dropDatabase_result();
        try {
          iface.dropDatabase(args.catalogName, args.database);
        } catch (org.apache.amoro.api.NoSuchObjectException e1) {
          result.e1 = e1;
        } catch (org.apache.amoro.api.NotSupportedException e2) {
          result.e2 = e2;
        }
        return result;
      }
    }

    public static class createTableMeta<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, createTableMeta_args> {
      public createTableMeta() {
        super("createTableMeta");
      }

      @Override
      public createTableMeta_args getEmptyArgsInstance() {
        return new createTableMeta_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public createTableMeta_result getResult(I iface, createTableMeta_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        createTableMeta_result result = new createTableMeta_result();
        try {
          iface.createTableMeta(args.tableMeta);
        } catch (org.apache.amoro.api.AlreadyExistsException e1) {
          result.e1 = e1;
        } catch (org.apache.amoro.api.InvalidObjectException e2) {
          result.e2 = e2;
        } catch (org.apache.amoro.api.MetaException e3) {
          result.e3 = e3;
        }
        return result;
      }
    }

    public static class listTables<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, listTables_args> {
      public listTables() {
        super("listTables");
      }

      @Override
      public listTables_args getEmptyArgsInstance() {
        return new listTables_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public listTables_result getResult(I iface, listTables_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        listTables_result result = new listTables_result();
        try {
          result.success = iface.listTables(args.catalogName, args.database);
        } catch (org.apache.amoro.api.NoSuchObjectException e) {
          result.e = e;
        }
        return result;
      }
    }

    public static class getTable<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, getTable_args> {
      public getTable() {
        super("getTable");
      }

      @Override
      public getTable_args getEmptyArgsInstance() {
        return new getTable_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTable_result getResult(I iface, getTable_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        getTable_result result = new getTable_result();
        try {
          result.success = iface.getTable(args.tableIdentifier);
        } catch (org.apache.amoro.api.NoSuchObjectException e) {
          result.e = e;
        }
        return result;
      }
    }

    public static class removeTable<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, removeTable_args> {
      public removeTable() {
        super("removeTable");
      }

      @Override
      public removeTable_args getEmptyArgsInstance() {
        return new removeTable_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public removeTable_result getResult(I iface, removeTable_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        removeTable_result result = new removeTable_result();
        try {
          iface.removeTable(args.tableIdentifier, args.deleteData);
        } catch (org.apache.amoro.api.NoSuchObjectException e1) {
          result.e1 = e1;
        } catch (org.apache.amoro.api.MetaException e2) {
          result.e2 = e2;
        }
        return result;
      }
    }

    public static class tableCommit<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, tableCommit_args> {
      public tableCommit() {
        super("tableCommit");
      }

      @Override
      public tableCommit_args getEmptyArgsInstance() {
        return new tableCommit_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public tableCommit_result getResult(I iface, tableCommit_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        tableCommit_result result = new tableCommit_result();
        try {
          iface.tableCommit(args.commit);
        } catch (org.apache.amoro.api.MetaException e1) {
          result.e1 = e1;
        }
        return result;
      }
    }

    public static class allocateTransactionId<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, allocateTransactionId_args> {
      public allocateTransactionId() {
        super("allocateTransactionId");
      }

      @Override
      public allocateTransactionId_args getEmptyArgsInstance() {
        return new allocateTransactionId_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public allocateTransactionId_result getResult(I iface, allocateTransactionId_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        allocateTransactionId_result result = new allocateTransactionId_result();
        result.success = iface.allocateTransactionId(args.tableIdentifier, args.transactionSignature);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    public static class block<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, block_args> {
      public block() {
        super("block");
      }

      @Override
      public block_args getEmptyArgsInstance() {
        return new block_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public block_result getResult(I iface, block_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        block_result result = new block_result();
        try {
          result.success = iface.block(args.tableIdentifier, args.operations, args.properties);
        } catch (org.apache.amoro.api.OperationConflictException e1) {
          result.e1 = e1;
        }
        return result;
      }
    }

    public static class releaseBlocker<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, releaseBlocker_args> {
      public releaseBlocker() {
        super("releaseBlocker");
      }

      @Override
      public releaseBlocker_args getEmptyArgsInstance() {
        return new releaseBlocker_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public releaseBlocker_result getResult(I iface, releaseBlocker_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        releaseBlocker_result result = new releaseBlocker_result();
        iface.releaseBlocker(args.tableIdentifier, args.blockerId);
        return result;
      }
    }

    public static class renewBlocker<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, renewBlocker_args> {
      public renewBlocker() {
        super("renewBlocker");
      }

      @Override
      public renewBlocker_args getEmptyArgsInstance() {
        return new renewBlocker_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public renewBlocker_result getResult(I iface, renewBlocker_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        renewBlocker_result result = new renewBlocker_result();
        try {
          result.success = iface.renewBlocker(args.tableIdentifier, args.blockerId);
          result.setSuccessIsSet(true);
        } catch (org.apache.amoro.api.NoSuchObjectException e) {
          result.e = e;
        }
        return result;
      }
    }

    public static class getBlockers<I extends Iface> extends org.apache.amoro.shade.thrift.org.apache.thrift.ProcessFunction<I, getBlockers_args> {
      public getBlockers() {
        super("getBlockers");
      }

      @Override
      public getBlockers_args getEmptyArgsInstance() {
        return new getBlockers_args();
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getBlockers_result getResult(I iface, getBlockers_args args) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        getBlockers_result result = new getBlockers_result();
        result.success = iface.getBlockers(args.tableIdentifier);
        return result;
      }
    }

  }

  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.TBaseAsyncProcessor<I> {
    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
    public AsyncProcessor(I iface) {
      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.amoro.shade.thrift.org.apache.thrift.TBase, ?>>()));
    }

    protected AsyncProcessor(I iface, java.util.Map<java.lang.String,  org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.amoro.shade.thrift.org.apache.thrift.TBase, ?>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.amoro.shade.thrift.org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.amoro.shade.thrift.org.apache.thrift.TBase, ?>> processMap) {
      processMap.put("ping", new ping());
      processMap.put("getCatalogs", new getCatalogs());
      processMap.put("getCatalog", new getCatalog());
      processMap.put("getDatabases", new getDatabases());
      processMap.put("createDatabase", new createDatabase());
      processMap.put("dropDatabase", new dropDatabase());
      processMap.put("createTableMeta", new createTableMeta());
      processMap.put("listTables", new listTables());
      processMap.put("getTable", new getTable());
      processMap.put("removeTable", new removeTable());
      processMap.put("tableCommit", new tableCommit());
      processMap.put("allocateTransactionId", new allocateTransactionId());
      processMap.put("block", new block());
      processMap.put("releaseBlocker", new releaseBlocker());
      processMap.put("renewBlocker", new renewBlocker());
      processMap.put("getBlockers", new getBlockers());
      return processMap;
    }

    public static class ping<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, ping_args, Void> {
      public ping() {
        super("ping");
      }

      @Override
      public ping_args getEmptyArgsInstance() {
        return new ping_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            ping_result result = new ping_result();
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            ping_result result = new ping_result();
            if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, ping_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.ping(resultHandler);
      }
    }

    public static class getCatalogs<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, getCatalogs_args, java.util.List<CatalogMeta>> {
      public getCatalogs() {
        super("getCatalogs");
      }

      @Override
      public getCatalogs_args getEmptyArgsInstance() {
        return new getCatalogs_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<CatalogMeta>> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<CatalogMeta>>() { 
          @Override
          public void onComplete(java.util.List<CatalogMeta> o) {
            getCatalogs_result result = new getCatalogs_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            getCatalogs_result result = new getCatalogs_result();
            if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, getCatalogs_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<CatalogMeta>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.getCatalogs(resultHandler);
      }
    }

    public static class getCatalog<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, getCatalog_args, CatalogMeta> {
      public getCatalog() {
        super("getCatalog");
      }

      @Override
      public getCatalog_args getEmptyArgsInstance() {
        return new getCatalog_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<CatalogMeta> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<CatalogMeta>() { 
          @Override
          public void onComplete(CatalogMeta o) {
            getCatalog_result result = new getCatalog_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            getCatalog_result result = new getCatalog_result();
            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
              result.e1 = (org.apache.amoro.api.NoSuchObjectException) e;
              result.setE1IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, getCatalog_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<CatalogMeta> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.getCatalog(args.name,resultHandler);
      }
    }

    public static class getDatabases<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, getDatabases_args, java.util.List<java.lang.String>> {
      public getDatabases() {
        super("getDatabases");
      }

      @Override
      public getDatabases_args getEmptyArgsInstance() {
        return new getDatabases_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
          @Override
          public void onComplete(java.util.List<java.lang.String> o) {
            getDatabases_result result = new getDatabases_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            getDatabases_result result = new getDatabases_result();
            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
              result.e = (org.apache.amoro.api.NoSuchObjectException) e;
              result.setEIsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, getDatabases_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.getDatabases(args.catalogName,resultHandler);
      }
    }

    public static class createDatabase<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, createDatabase_args, Void> {
      public createDatabase() {
        super("createDatabase");
      }

      @Override
      public createDatabase_args getEmptyArgsInstance() {
        return new createDatabase_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            createDatabase_result result = new createDatabase_result();
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            createDatabase_result result = new createDatabase_result();
            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
              result.e1 = (org.apache.amoro.api.NoSuchObjectException) e;
              result.setE1IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.api.AlreadyExistsException) {
              result.e2 = (org.apache.amoro.api.AlreadyExistsException) e;
              result.setE2IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, createDatabase_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.createDatabase(args.catalogName, args.database,resultHandler);
      }
    }

    public static class dropDatabase<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, dropDatabase_args, Void> {
      public dropDatabase() {
        super("dropDatabase");
      }

      @Override
      public dropDatabase_args getEmptyArgsInstance() {
        return new dropDatabase_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            dropDatabase_result result = new dropDatabase_result();
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            dropDatabase_result result = new dropDatabase_result();
            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
              result.e1 = (org.apache.amoro.api.NoSuchObjectException) e;
              result.setE1IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.api.NotSupportedException) {
              result.e2 = (org.apache.amoro.api.NotSupportedException) e;
              result.setE2IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, dropDatabase_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.dropDatabase(args.catalogName, args.database,resultHandler);
      }
    }

    public static class createTableMeta<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, createTableMeta_args, Void> {
      public createTableMeta() {
        super("createTableMeta");
      }

      @Override
      public createTableMeta_args getEmptyArgsInstance() {
        return new createTableMeta_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            createTableMeta_result result = new createTableMeta_result();
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            createTableMeta_result result = new createTableMeta_result();
            if (e instanceof org.apache.amoro.api.AlreadyExistsException) {
              result.e1 = (org.apache.amoro.api.AlreadyExistsException) e;
              result.setE1IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.api.InvalidObjectException) {
              result.e2 = (org.apache.amoro.api.InvalidObjectException) e;
              result.setE2IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.api.MetaException) {
              result.e3 = (org.apache.amoro.api.MetaException) e;
              result.setE3IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, createTableMeta_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.createTableMeta(args.tableMeta,resultHandler);
      }
    }

    public static class listTables<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, listTables_args, java.util.List<TableMeta>> {
      public listTables() {
        super("listTables");
      }

      @Override
      public listTables_args getEmptyArgsInstance() {
        return new listTables_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<TableMeta>> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<TableMeta>>() { 
          @Override
          public void onComplete(java.util.List<TableMeta> o) {
            listTables_result result = new listTables_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            listTables_result result = new listTables_result();
            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
              result.e = (org.apache.amoro.api.NoSuchObjectException) e;
              result.setEIsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, listTables_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<TableMeta>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.listTables(args.catalogName, args.database,resultHandler);
      }
    }

    public static class getTable<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, getTable_args, TableMeta> {
      public getTable() {
        super("getTable");
      }

      @Override
      public getTable_args getEmptyArgsInstance() {
        return new getTable_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<TableMeta> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<TableMeta>() { 
          @Override
          public void onComplete(TableMeta o) {
            getTable_result result = new getTable_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            getTable_result result = new getTable_result();
            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
              result.e = (org.apache.amoro.api.NoSuchObjectException) e;
              result.setEIsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, getTable_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.getTable(args.tableIdentifier,resultHandler);
      }
    }

    public static class removeTable<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, removeTable_args, Void> {
      public removeTable() {
        super("removeTable");
      }

      @Override
      public removeTable_args getEmptyArgsInstance() {
        return new removeTable_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            removeTable_result result = new removeTable_result();
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            removeTable_result result = new removeTable_result();
            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
              result.e1 = (org.apache.amoro.api.NoSuchObjectException) e;
              result.setE1IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.api.MetaException) {
              result.e2 = (org.apache.amoro.api.MetaException) e;
              result.setE2IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, removeTable_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.removeTable(args.tableIdentifier, args.deleteData,resultHandler);
      }
    }

    public static class tableCommit<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, tableCommit_args, Void> {
      public tableCommit() {
        super("tableCommit");
      }

      @Override
      public tableCommit_args getEmptyArgsInstance() {
        return new tableCommit_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            tableCommit_result result = new tableCommit_result();
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            tableCommit_result result = new tableCommit_result();
            if (e instanceof org.apache.amoro.api.MetaException) {
              result.e1 = (org.apache.amoro.api.MetaException) e;
              result.setE1IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, tableCommit_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.tableCommit(args.commit,resultHandler);
      }
    }

    public static class allocateTransactionId<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, allocateTransactionId_args, java.lang.Long> {
      public allocateTransactionId() {
        super("allocateTransactionId");
      }

      @Override
      public allocateTransactionId_args getEmptyArgsInstance() {
        return new allocateTransactionId_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long>() { 
          @Override
          public void onComplete(java.lang.Long o) {
            allocateTransactionId_result result = new allocateTransactionId_result();
            result.success = o;
            result.setSuccessIsSet(true);
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            allocateTransactionId_result result = new allocateTransactionId_result();
            if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, allocateTransactionId_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.allocateTransactionId(args.tableIdentifier, args.transactionSignature,resultHandler);
      }
    }

    public static class block<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, block_args, Blocker> {
      public block() {
        super("block");
      }

      @Override
      public block_args getEmptyArgsInstance() {
        return new block_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Blocker> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Blocker>() { 
          @Override
          public void onComplete(Blocker o) {
            block_result result = new block_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            block_result result = new block_result();
            if (e instanceof org.apache.amoro.api.OperationConflictException) {
              result.e1 = (org.apache.amoro.api.OperationConflictException) e;
              result.setE1IsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, block_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.block(args.tableIdentifier, args.operations, args.properties,resultHandler);
      }
    }

    public static class releaseBlocker<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, releaseBlocker_args, Void> {
      public releaseBlocker() {
        super("releaseBlocker");
      }

      @Override
      public releaseBlocker_args getEmptyArgsInstance() {
        return new releaseBlocker_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            releaseBlocker_result result = new releaseBlocker_result();
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            releaseBlocker_result result = new releaseBlocker_result();
            if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, releaseBlocker_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.releaseBlocker(args.tableIdentifier, args.blockerId,resultHandler);
      }
    }

    public static class renewBlocker<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, renewBlocker_args, java.lang.Long> {
      public renewBlocker() {
        super("renewBlocker");
      }

      @Override
      public renewBlocker_args getEmptyArgsInstance() {
        return new renewBlocker_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long>() { 
          @Override
          public void onComplete(java.lang.Long o) {
            renewBlocker_result result = new renewBlocker_result();
            result.success = o;
            result.setSuccessIsSet(true);
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            renewBlocker_result result = new renewBlocker_result();
            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
              result.e = (org.apache.amoro.api.NoSuchObjectException) e;
              result.setEIsSet(true);
              msg = result;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, renewBlocker_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.renewBlocker(args.tableIdentifier, args.blockerId,resultHandler);
      }
    }

    public static class getBlockers<I extends AsyncIface> extends org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction<I, getBlockers_args, java.util.List<Blocker>> {
      public getBlockers() {
        super("getBlockers");
      }

      @Override
      public getBlockers_args getEmptyArgsInstance() {
        return new getBlockers_args();
      }

      @Override
      public org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> getResultHandler(final org.apache.amoro.shade.thrift.org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.amoro.shade.thrift.org.apache.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>>() { 
          @Override
          public void onComplete(java.util.List<Blocker> o) {
            getBlockers_result result = new getBlockers_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.amoro.shade.thrift.org.apache.thrift.TSerializable msg;
            getBlockers_result result = new getBlockers_result();
            if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException(org.apache.amoro.shade.thrift.org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

      @Override
      protected boolean isOneway() {
        return false;
      }

      @Override
      public void start(I iface, getBlockers_args args, org.apache.amoro.shade.thrift.org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        iface.getBlockers(args.tableIdentifier,resultHandler);
      }
    }

  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class ping_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<ping_args, ping_args._Fields>, java.io.Serializable, Cloneable, Comparable<ping_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("ping_args");


    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ping_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ping_argsTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
;

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ping_args.class, metaDataMap);
    }

    public ping_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public ping_args(ping_args other) {
    }

    @Override
    public ping_args deepCopy() {
      return new ping_args(this);
    }

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      return true;
    }

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

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

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

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

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

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

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class ping_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public ping_argsStandardScheme getScheme() {
        return new ping_argsStandardScheme();
      }
    }

    private static class ping_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<ping_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, ping_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, ping_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class ping_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public ping_argsTupleScheme getScheme() {
        return new ping_argsTupleScheme();
      }
    }

    private static class ping_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<ping_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, ping_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, ping_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class ping_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<ping_result, ping_result._Fields>, java.io.Serializable, Cloneable, Comparable<ping_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("ping_result");


    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ping_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ping_resultTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
;

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ping_result.class, metaDataMap);
    }

    public ping_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public ping_result(ping_result other) {
    }

    @Override
    public ping_result deepCopy() {
      return new ping_result(this);
    }

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      return true;
    }

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

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

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

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

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

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

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class ping_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public ping_resultStandardScheme getScheme() {
        return new ping_resultStandardScheme();
      }
    }

    private static class ping_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<ping_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, ping_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, ping_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class ping_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public ping_resultTupleScheme getScheme() {
        return new ping_resultTupleScheme();
      }
    }

    private static class ping_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<ping_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, ping_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, ping_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getCatalogs_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getCatalogs_args, getCatalogs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getCatalogs_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getCatalogs_args");


    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCatalogs_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCatalogs_argsTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
;

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCatalogs_args.class, metaDataMap);
    }

    public getCatalogs_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCatalogs_args(getCatalogs_args other) {
    }

    @Override
    public getCatalogs_args deepCopy() {
      return new getCatalogs_args(this);
    }

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      return true;
    }

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

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

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

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

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

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

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getCatalogs_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getCatalogs_argsStandardScheme getScheme() {
        return new getCatalogs_argsStandardScheme();
      }
    }

    private static class getCatalogs_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getCatalogs_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getCatalogs_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getCatalogs_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getCatalogs_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getCatalogs_argsTupleScheme getScheme() {
        return new getCatalogs_argsTupleScheme();
      }
    }

    private static class getCatalogs_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getCatalogs_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getCatalogs_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getCatalogs_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getCatalogs_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getCatalogs_result, getCatalogs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getCatalogs_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getCatalogs_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, (short)0);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCatalogs_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCatalogs_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<CatalogMeta> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.ListMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, 
              new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, CatalogMeta.class))));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCatalogs_result.class, metaDataMap);
    }

    public getCatalogs_result() {
    }

    public getCatalogs_result(
      java.util.List<CatalogMeta> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCatalogs_result(getCatalogs_result other) {
      if (other.isSetSuccess()) {
        java.util.List<CatalogMeta> __this__success = new java.util.ArrayList<CatalogMeta>(other.success.size());
        for (CatalogMeta other_element : other.success) {
          __this__success.add(new CatalogMeta(other_element));
        }
        this.success = __this__success;
      }
    }

    @Override
    public getCatalogs_result deepCopy() {
      return new getCatalogs_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

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

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.Iterator<CatalogMeta> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(CatalogMeta elem) {
      if (this.success == null) {
        this.success = new java.util.ArrayList<CatalogMeta>();
      }
      this.success.add(elem);
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.List<CatalogMeta> getSuccess() {
      return this.success;
    }

    public getCatalogs_result setSuccess(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<CatalogMeta> success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

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

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.util.List<CatalogMeta>)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getCatalogs_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getCatalogs_resultStandardScheme getScheme() {
        return new getCatalogs_resultStandardScheme();
      }
    }

    private static class getCatalogs_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getCatalogs_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getCatalogs_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list136 = iprot.readListBegin();
                  struct.success = new java.util.ArrayList<CatalogMeta>(_list136.size);
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable CatalogMeta _elem137;
                  for (int _i138 = 0; _i138 < _list136.size; ++_i138)
                  {
                    _elem137 = new CatalogMeta();
                    _elem137.read(iprot);
                    struct.success.add(_elem137);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getCatalogs_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
            for (CatalogMeta _iter139 : struct.success)
            {
              _iter139.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getCatalogs_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getCatalogs_resultTupleScheme getScheme() {
        return new getCatalogs_resultTupleScheme();
      }
    }

    private static class getCatalogs_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getCatalogs_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getCatalogs_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (CatalogMeta _iter140 : struct.success)
            {
              _iter140.write(oprot);
            }
          }
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getCatalogs_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          {
            org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list141 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT);
            struct.success = new java.util.ArrayList<CatalogMeta>(_list141.size);
            @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable CatalogMeta _elem142;
            for (int _i143 = 0; _i143 < _list141.size; ++_i143)
            {
              _elem142 = new CatalogMeta();
              _elem142.read(iprot);
              struct.success.add(_elem142);
            }
          }
          struct.setSuccessIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getCatalog_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getCatalog_args, getCatalog_args._Fields>, java.io.Serializable, Cloneable, Comparable<getCatalog_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getCatalog_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("name", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCatalog_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCatalog_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String name; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      NAME((short)1, "name");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NAME
            return NAME;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("name", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCatalog_args.class, metaDataMap);
    }

    public getCatalog_args() {
    }

    public getCatalog_args(
      java.lang.String name)
    {
      this();
      this.name = name;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCatalog_args(getCatalog_args other) {
      if (other.isSetName()) {
        this.name = other.name;
      }
    }

    @Override
    public getCatalog_args deepCopy() {
      return new getCatalog_args(this);
    }

    @Override
    public void clear() {
      this.name = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getName() {
      return this.name;
    }

    public getCatalog_args setName(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String name) {
      this.name = name;
      return this;
    }

    public void unsetName() {
      this.name = null;
    }

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

    public void setNameIsSet(boolean value) {
      if (!value) {
        this.name = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unsetName();
        } else {
          setName((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return getName();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case NAME:
        return isSetName();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_name = true && this.isSetName();
      boolean that_present_name = true && that.isSetName();
      if (this_present_name || that_present_name) {
        if (!(this_present_name && that_present_name))
          return false;
        if (!this.name.equals(that.name))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetName()) ? 131071 : 524287);
      if (isSetName())
        hashCode = hashCode * 8191 + name.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetName()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("name:");
      if (this.name == null) {
        sb.append("null");
      } else {
        sb.append(this.name);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getCatalog_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getCatalog_argsStandardScheme getScheme() {
        return new getCatalog_argsStandardScheme();
      }
    }

    private static class getCatalog_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getCatalog_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getCatalog_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.setNameIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getCatalog_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.name != null) {
          oprot.writeFieldBegin(NAME_FIELD_DESC);
          oprot.writeString(struct.name);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getCatalog_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getCatalog_argsTupleScheme getScheme() {
        return new getCatalog_argsTupleScheme();
      }
    }

    private static class getCatalog_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getCatalog_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getCatalog_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetName()) {
          oprot.writeString(struct.name);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getCatalog_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.setNameIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getCatalog_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getCatalog_result, getCatalog_result._Fields>, java.io.Serializable, Cloneable, Comparable<getCatalog_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getCatalog_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E1_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e1", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCatalog_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCatalog_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable CatalogMeta success; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E1((short)1, "e1");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E1
            return E1;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, CatalogMeta.class)));
      tmpMap.put(_Fields.E1, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCatalog_result.class, metaDataMap);
    }

    public getCatalog_result() {
    }

    public getCatalog_result(
      CatalogMeta success,
      org.apache.amoro.api.NoSuchObjectException e1)
    {
      this();
      this.success = success;
      this.e1 = e1;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCatalog_result(getCatalog_result other) {
      if (other.isSetSuccess()) {
        this.success = new CatalogMeta(other.success);
      }
      if (other.isSetE1()) {
        this.e1 = new org.apache.amoro.api.NoSuchObjectException(other.e1);
      }
    }

    @Override
    public getCatalog_result deepCopy() {
      return new getCatalog_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.e1 = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public CatalogMeta getSuccess() {
      return this.success;
    }

    public getCatalog_result setSuccess(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable CatalogMeta success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

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

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NoSuchObjectException getE1() {
      return this.e1;
    }

    public getCatalog_result setE1(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1) {
      this.e1 = e1;
      return this;
    }

    public void unsetE1() {
      this.e1 = null;
    }

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

    public void setE1IsSet(boolean value) {
      if (!value) {
        this.e1 = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((CatalogMeta)value);
        }
        break;

      case E1:
        if (value == null) {
          unsetE1();
        } else {
          setE1((org.apache.amoro.api.NoSuchObjectException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E1:
        return getE1();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E1:
        return isSetE1();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_e1 = true && this.isSetE1();
      boolean that_present_e1 = true && that.isSetE1();
      if (this_present_e1 || that_present_e1) {
        if (!(this_present_e1 && that_present_e1))
          return false;
        if (!this.e1.equals(that.e1))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((isSetE1()) ? 131071 : 524287);
      if (isSetE1())
        hashCode = hashCode * 8191 + e1.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE1(), other.isSetE1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE1()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e1, other.e1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e1:");
      if (this.e1 == null) {
        sb.append("null");
      } else {
        sb.append(this.e1);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getCatalog_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getCatalog_resultStandardScheme getScheme() {
        return new getCatalog_resultStandardScheme();
      }
    }

    private static class getCatalog_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getCatalog_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getCatalog_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.success = new CatalogMeta();
                struct.success.read(iprot);
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E1
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
                struct.e1.read(iprot);
                struct.setE1IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getCatalog_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.e1 != null) {
          oprot.writeFieldBegin(E1_FIELD_DESC);
          struct.e1.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getCatalog_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getCatalog_resultTupleScheme getScheme() {
        return new getCatalog_resultTupleScheme();
      }
    }

    private static class getCatalog_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getCatalog_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getCatalog_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetE1()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
        if (struct.isSetE1()) {
          struct.e1.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getCatalog_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new CatalogMeta();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
          struct.e1.read(iprot);
          struct.setE1IsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getDatabases_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getDatabases_args, getDatabases_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDatabases_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getDatabases_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField CATALOG_NAME_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("catalogName", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDatabases_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDatabases_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String catalogName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      CATALOG_NAME((short)1, "catalogName");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CATALOG_NAME
            return CATALOG_NAME;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CATALOG_NAME, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("catalogName", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDatabases_args.class, metaDataMap);
    }

    public getDatabases_args() {
    }

    public getDatabases_args(
      java.lang.String catalogName)
    {
      this();
      this.catalogName = catalogName;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getDatabases_args(getDatabases_args other) {
      if (other.isSetCatalogName()) {
        this.catalogName = other.catalogName;
      }
    }

    @Override
    public getDatabases_args deepCopy() {
      return new getDatabases_args(this);
    }

    @Override
    public void clear() {
      this.catalogName = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getCatalogName() {
      return this.catalogName;
    }

    public getDatabases_args setCatalogName(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String catalogName) {
      this.catalogName = catalogName;
      return this;
    }

    public void unsetCatalogName() {
      this.catalogName = null;
    }

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

    public void setCatalogNameIsSet(boolean value) {
      if (!value) {
        this.catalogName = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case CATALOG_NAME:
        if (value == null) {
          unsetCatalogName();
        } else {
          setCatalogName((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case CATALOG_NAME:
        return getCatalogName();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case CATALOG_NAME:
        return isSetCatalogName();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_catalogName = true && this.isSetCatalogName();
      boolean that_present_catalogName = true && that.isSetCatalogName();
      if (this_present_catalogName || that_present_catalogName) {
        if (!(this_present_catalogName && that_present_catalogName))
          return false;
        if (!this.catalogName.equals(that.catalogName))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetCatalogName()) ? 131071 : 524287);
      if (isSetCatalogName())
        hashCode = hashCode * 8191 + catalogName.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetCatalogName(), other.isSetCatalogName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCatalogName()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.catalogName, other.catalogName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("catalogName:");
      if (this.catalogName == null) {
        sb.append("null");
      } else {
        sb.append(this.catalogName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getDatabases_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getDatabases_argsStandardScheme getScheme() {
        return new getDatabases_argsStandardScheme();
      }
    }

    private static class getDatabases_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getDatabases_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getDatabases_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // CATALOG_NAME
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.catalogName = iprot.readString();
                struct.setCatalogNameIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getDatabases_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.catalogName != null) {
          oprot.writeFieldBegin(CATALOG_NAME_FIELD_DESC);
          oprot.writeString(struct.catalogName);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getDatabases_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getDatabases_argsTupleScheme getScheme() {
        return new getDatabases_argsTupleScheme();
      }
    }

    private static class getDatabases_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getDatabases_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getDatabases_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetCatalogName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetCatalogName()) {
          oprot.writeString(struct.catalogName);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getDatabases_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.catalogName = iprot.readString();
          struct.setCatalogNameIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getDatabases_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getDatabases_result, getDatabases_result._Fields>, java.io.Serializable, Cloneable, Comparable<getDatabases_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getDatabases_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDatabases_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDatabases_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.ListMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, 
              new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING))));
      tmpMap.put(_Fields.E, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDatabases_result.class, metaDataMap);
    }

    public getDatabases_result() {
    }

    public getDatabases_result(
      java.util.List<java.lang.String> success,
      org.apache.amoro.api.NoSuchObjectException e)
    {
      this();
      this.success = success;
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getDatabases_result(getDatabases_result other) {
      if (other.isSetSuccess()) {
        java.util.List<java.lang.String> __this__success = new java.util.ArrayList<java.lang.String>(other.success);
        this.success = __this__success;
      }
      if (other.isSetE()) {
        this.e = new org.apache.amoro.api.NoSuchObjectException(other.e);
      }
    }

    @Override
    public getDatabases_result deepCopy() {
      return new getDatabases_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
    }

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

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.Iterator<java.lang.String> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(java.lang.String elem) {
      if (this.success == null) {
        this.success = new java.util.ArrayList<java.lang.String>();
      }
      this.success.add(elem);
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.List<java.lang.String> getSuccess() {
      return this.success;
    }

    public getDatabases_result setSuccess(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

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

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NoSuchObjectException getE() {
      return this.e;
    }

    public getDatabases_result setE(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e) {
      this.e = e;
      return this;
    }

    public void unsetE() {
      this.e = null;
    }

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

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.util.List<java.lang.String>)value);
        }
        break;

      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((org.apache.amoro.api.NoSuchObjectException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E:
        return getE();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E:
        return isSetE();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((isSetE()) ? 131071 : 524287);
      if (isSetE())
        hashCode = hashCode * 8191 + e.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE(), other.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getDatabases_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getDatabases_resultStandardScheme getScheme() {
        return new getDatabases_resultStandardScheme();
      }
    }

    private static class getDatabases_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getDatabases_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getDatabases_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list144 = iprot.readListBegin();
                  struct.success = new java.util.ArrayList<java.lang.String>(_list144.size);
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String _elem145;
                  for (int _i146 = 0; _i146 < _list144.size; ++_i146)
                  {
                    _elem145 = iprot.readString();
                    struct.success.add(_elem145);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e = new org.apache.amoro.api.NoSuchObjectException();
                struct.e.read(iprot);
                struct.setEIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getDatabases_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, struct.success.size()));
            for (java.lang.String _iter147 : struct.success)
            {
              oprot.writeString(_iter147);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.e != null) {
          oprot.writeFieldBegin(E_FIELD_DESC);
          struct.e.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getDatabases_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getDatabases_resultTupleScheme getScheme() {
        return new getDatabases_resultTupleScheme();
      }
    }

    private static class getDatabases_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getDatabases_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getDatabases_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetE()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (java.lang.String _iter148 : struct.success)
            {
              oprot.writeString(_iter148);
            }
          }
        }
        if (struct.isSetE()) {
          struct.e.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getDatabases_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list149 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING);
            struct.success = new java.util.ArrayList<java.lang.String>(_list149.size);
            @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String _elem150;
            for (int _i151 = 0; _i151 < _list149.size; ++_i151)
            {
              _elem150 = iprot.readString();
              struct.success.add(_elem150);
            }
          }
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.e = new org.apache.amoro.api.NoSuchObjectException();
          struct.e.read(iprot);
          struct.setEIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class createDatabase_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<createDatabase_args, createDatabase_args._Fields>, java.io.Serializable, Cloneable, Comparable<createDatabase_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("createDatabase_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField CATALOG_NAME_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("catalogName", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField DATABASE_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("database", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createDatabase_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createDatabase_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String catalogName; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String database; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      CATALOG_NAME((short)1, "catalogName"),
      DATABASE((short)2, "database");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CATALOG_NAME
            return CATALOG_NAME;
          case 2: // DATABASE
            return DATABASE;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CATALOG_NAME, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("catalogName", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.DATABASE, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("database", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createDatabase_args.class, metaDataMap);
    }

    public createDatabase_args() {
    }

    public createDatabase_args(
      java.lang.String catalogName,
      java.lang.String database)
    {
      this();
      this.catalogName = catalogName;
      this.database = database;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createDatabase_args(createDatabase_args other) {
      if (other.isSetCatalogName()) {
        this.catalogName = other.catalogName;
      }
      if (other.isSetDatabase()) {
        this.database = other.database;
      }
    }

    @Override
    public createDatabase_args deepCopy() {
      return new createDatabase_args(this);
    }

    @Override
    public void clear() {
      this.catalogName = null;
      this.database = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getCatalogName() {
      return this.catalogName;
    }

    public createDatabase_args setCatalogName(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String catalogName) {
      this.catalogName = catalogName;
      return this;
    }

    public void unsetCatalogName() {
      this.catalogName = null;
    }

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

    public void setCatalogNameIsSet(boolean value) {
      if (!value) {
        this.catalogName = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getDatabase() {
      return this.database;
    }

    public createDatabase_args setDatabase(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String database) {
      this.database = database;
      return this;
    }

    public void unsetDatabase() {
      this.database = null;
    }

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

    public void setDatabaseIsSet(boolean value) {
      if (!value) {
        this.database = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case CATALOG_NAME:
        if (value == null) {
          unsetCatalogName();
        } else {
          setCatalogName((java.lang.String)value);
        }
        break;

      case DATABASE:
        if (value == null) {
          unsetDatabase();
        } else {
          setDatabase((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case CATALOG_NAME:
        return getCatalogName();

      case DATABASE:
        return getDatabase();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case CATALOG_NAME:
        return isSetCatalogName();
      case DATABASE:
        return isSetDatabase();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_catalogName = true && this.isSetCatalogName();
      boolean that_present_catalogName = true && that.isSetCatalogName();
      if (this_present_catalogName || that_present_catalogName) {
        if (!(this_present_catalogName && that_present_catalogName))
          return false;
        if (!this.catalogName.equals(that.catalogName))
          return false;
      }

      boolean this_present_database = true && this.isSetDatabase();
      boolean that_present_database = true && that.isSetDatabase();
      if (this_present_database || that_present_database) {
        if (!(this_present_database && that_present_database))
          return false;
        if (!this.database.equals(that.database))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetCatalogName()) ? 131071 : 524287);
      if (isSetCatalogName())
        hashCode = hashCode * 8191 + catalogName.hashCode();

      hashCode = hashCode * 8191 + ((isSetDatabase()) ? 131071 : 524287);
      if (isSetDatabase())
        hashCode = hashCode * 8191 + database.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetCatalogName(), other.isSetCatalogName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCatalogName()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.catalogName, other.catalogName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetDatabase(), other.isSetDatabase());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDatabase()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.database, other.database);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("catalogName:");
      if (this.catalogName == null) {
        sb.append("null");
      } else {
        sb.append(this.catalogName);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("database:");
      if (this.database == null) {
        sb.append("null");
      } else {
        sb.append(this.database);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class createDatabase_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public createDatabase_argsStandardScheme getScheme() {
        return new createDatabase_argsStandardScheme();
      }
    }

    private static class createDatabase_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<createDatabase_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, createDatabase_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // CATALOG_NAME
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.catalogName = iprot.readString();
                struct.setCatalogNameIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // DATABASE
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.database = iprot.readString();
                struct.setDatabaseIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, createDatabase_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.catalogName != null) {
          oprot.writeFieldBegin(CATALOG_NAME_FIELD_DESC);
          oprot.writeString(struct.catalogName);
          oprot.writeFieldEnd();
        }
        if (struct.database != null) {
          oprot.writeFieldBegin(DATABASE_FIELD_DESC);
          oprot.writeString(struct.database);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class createDatabase_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public createDatabase_argsTupleScheme getScheme() {
        return new createDatabase_argsTupleScheme();
      }
    }

    private static class createDatabase_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<createDatabase_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, createDatabase_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetCatalogName()) {
          optionals.set(0);
        }
        if (struct.isSetDatabase()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetCatalogName()) {
          oprot.writeString(struct.catalogName);
        }
        if (struct.isSetDatabase()) {
          oprot.writeString(struct.database);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, createDatabase_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.catalogName = iprot.readString();
          struct.setCatalogNameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.database = iprot.readString();
          struct.setDatabaseIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class createDatabase_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<createDatabase_result, createDatabase_result._Fields>, java.io.Serializable, Cloneable, Comparable<createDatabase_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("createDatabase_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E1_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e1", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E2_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e2", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createDatabase_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createDatabase_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.AlreadyExistsException e2; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      E1((short)1, "e1"),
      E2((short)2, "e2");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E1
            return E1;
          case 2: // E2
            return E2;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E1, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
      tmpMap.put(_Fields.E2, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e2", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AlreadyExistsException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createDatabase_result.class, metaDataMap);
    }

    public createDatabase_result() {
    }

    public createDatabase_result(
      org.apache.amoro.api.NoSuchObjectException e1,
      org.apache.amoro.api.AlreadyExistsException e2)
    {
      this();
      this.e1 = e1;
      this.e2 = e2;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createDatabase_result(createDatabase_result other) {
      if (other.isSetE1()) {
        this.e1 = new org.apache.amoro.api.NoSuchObjectException(other.e1);
      }
      if (other.isSetE2()) {
        this.e2 = new org.apache.amoro.api.AlreadyExistsException(other.e2);
      }
    }

    @Override
    public createDatabase_result deepCopy() {
      return new createDatabase_result(this);
    }

    @Override
    public void clear() {
      this.e1 = null;
      this.e2 = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NoSuchObjectException getE1() {
      return this.e1;
    }

    public createDatabase_result setE1(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1) {
      this.e1 = e1;
      return this;
    }

    public void unsetE1() {
      this.e1 = null;
    }

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

    public void setE1IsSet(boolean value) {
      if (!value) {
        this.e1 = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.AlreadyExistsException getE2() {
      return this.e2;
    }

    public createDatabase_result setE2(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.AlreadyExistsException e2) {
      this.e2 = e2;
      return this;
    }

    public void unsetE2() {
      this.e2 = null;
    }

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

    public void setE2IsSet(boolean value) {
      if (!value) {
        this.e2 = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E1:
        if (value == null) {
          unsetE1();
        } else {
          setE1((org.apache.amoro.api.NoSuchObjectException)value);
        }
        break;

      case E2:
        if (value == null) {
          unsetE2();
        } else {
          setE2((org.apache.amoro.api.AlreadyExistsException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E1:
        return getE1();

      case E2:
        return getE2();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case E1:
        return isSetE1();
      case E2:
        return isSetE2();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_e1 = true && this.isSetE1();
      boolean that_present_e1 = true && that.isSetE1();
      if (this_present_e1 || that_present_e1) {
        if (!(this_present_e1 && that_present_e1))
          return false;
        if (!this.e1.equals(that.e1))
          return false;
      }

      boolean this_present_e2 = true && this.isSetE2();
      boolean that_present_e2 = true && that.isSetE2();
      if (this_present_e2 || that_present_e2) {
        if (!(this_present_e2 && that_present_e2))
          return false;
        if (!this.e2.equals(that.e2))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetE1()) ? 131071 : 524287);
      if (isSetE1())
        hashCode = hashCode * 8191 + e1.hashCode();

      hashCode = hashCode * 8191 + ((isSetE2()) ? 131071 : 524287);
      if (isSetE2())
        hashCode = hashCode * 8191 + e2.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetE1(), other.isSetE1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE1()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e1, other.e1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE2(), other.isSetE2());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE2()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e2, other.e2);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("e1:");
      if (this.e1 == null) {
        sb.append("null");
      } else {
        sb.append(this.e1);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e2:");
      if (this.e2 == null) {
        sb.append("null");
      } else {
        sb.append(this.e2);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class createDatabase_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public createDatabase_resultStandardScheme getScheme() {
        return new createDatabase_resultStandardScheme();
      }
    }

    private static class createDatabase_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<createDatabase_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, createDatabase_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E1
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
                struct.e1.read(iprot);
                struct.setE1IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // E2
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e2 = new org.apache.amoro.api.AlreadyExistsException();
                struct.e2.read(iprot);
                struct.setE2IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, createDatabase_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.e1 != null) {
          oprot.writeFieldBegin(E1_FIELD_DESC);
          struct.e1.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.e2 != null) {
          oprot.writeFieldBegin(E2_FIELD_DESC);
          struct.e2.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class createDatabase_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public createDatabase_resultTupleScheme getScheme() {
        return new createDatabase_resultTupleScheme();
      }
    }

    private static class createDatabase_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<createDatabase_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, createDatabase_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetE1()) {
          optionals.set(0);
        }
        if (struct.isSetE2()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetE1()) {
          struct.e1.write(oprot);
        }
        if (struct.isSetE2()) {
          struct.e2.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, createDatabase_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
          struct.e1.read(iprot);
          struct.setE1IsSet(true);
        }
        if (incoming.get(1)) {
          struct.e2 = new org.apache.amoro.api.AlreadyExistsException();
          struct.e2.read(iprot);
          struct.setE2IsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class dropDatabase_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<dropDatabase_args, dropDatabase_args._Fields>, java.io.Serializable, Cloneable, Comparable<dropDatabase_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("dropDatabase_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField CATALOG_NAME_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("catalogName", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField DATABASE_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("database", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new dropDatabase_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new dropDatabase_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String catalogName; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String database; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      CATALOG_NAME((short)1, "catalogName"),
      DATABASE((short)2, "database");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CATALOG_NAME
            return CATALOG_NAME;
          case 2: // DATABASE
            return DATABASE;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CATALOG_NAME, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("catalogName", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.DATABASE, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("database", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(dropDatabase_args.class, metaDataMap);
    }

    public dropDatabase_args() {
    }

    public dropDatabase_args(
      java.lang.String catalogName,
      java.lang.String database)
    {
      this();
      this.catalogName = catalogName;
      this.database = database;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public dropDatabase_args(dropDatabase_args other) {
      if (other.isSetCatalogName()) {
        this.catalogName = other.catalogName;
      }
      if (other.isSetDatabase()) {
        this.database = other.database;
      }
    }

    @Override
    public dropDatabase_args deepCopy() {
      return new dropDatabase_args(this);
    }

    @Override
    public void clear() {
      this.catalogName = null;
      this.database = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getCatalogName() {
      return this.catalogName;
    }

    public dropDatabase_args setCatalogName(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String catalogName) {
      this.catalogName = catalogName;
      return this;
    }

    public void unsetCatalogName() {
      this.catalogName = null;
    }

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

    public void setCatalogNameIsSet(boolean value) {
      if (!value) {
        this.catalogName = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getDatabase() {
      return this.database;
    }

    public dropDatabase_args setDatabase(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String database) {
      this.database = database;
      return this;
    }

    public void unsetDatabase() {
      this.database = null;
    }

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

    public void setDatabaseIsSet(boolean value) {
      if (!value) {
        this.database = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case CATALOG_NAME:
        if (value == null) {
          unsetCatalogName();
        } else {
          setCatalogName((java.lang.String)value);
        }
        break;

      case DATABASE:
        if (value == null) {
          unsetDatabase();
        } else {
          setDatabase((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case CATALOG_NAME:
        return getCatalogName();

      case DATABASE:
        return getDatabase();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case CATALOG_NAME:
        return isSetCatalogName();
      case DATABASE:
        return isSetDatabase();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_catalogName = true && this.isSetCatalogName();
      boolean that_present_catalogName = true && that.isSetCatalogName();
      if (this_present_catalogName || that_present_catalogName) {
        if (!(this_present_catalogName && that_present_catalogName))
          return false;
        if (!this.catalogName.equals(that.catalogName))
          return false;
      }

      boolean this_present_database = true && this.isSetDatabase();
      boolean that_present_database = true && that.isSetDatabase();
      if (this_present_database || that_present_database) {
        if (!(this_present_database && that_present_database))
          return false;
        if (!this.database.equals(that.database))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetCatalogName()) ? 131071 : 524287);
      if (isSetCatalogName())
        hashCode = hashCode * 8191 + catalogName.hashCode();

      hashCode = hashCode * 8191 + ((isSetDatabase()) ? 131071 : 524287);
      if (isSetDatabase())
        hashCode = hashCode * 8191 + database.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetCatalogName(), other.isSetCatalogName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCatalogName()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.catalogName, other.catalogName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetDatabase(), other.isSetDatabase());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDatabase()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.database, other.database);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("catalogName:");
      if (this.catalogName == null) {
        sb.append("null");
      } else {
        sb.append(this.catalogName);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("database:");
      if (this.database == null) {
        sb.append("null");
      } else {
        sb.append(this.database);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class dropDatabase_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public dropDatabase_argsStandardScheme getScheme() {
        return new dropDatabase_argsStandardScheme();
      }
    }

    private static class dropDatabase_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<dropDatabase_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, dropDatabase_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // CATALOG_NAME
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.catalogName = iprot.readString();
                struct.setCatalogNameIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // DATABASE
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.database = iprot.readString();
                struct.setDatabaseIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, dropDatabase_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.catalogName != null) {
          oprot.writeFieldBegin(CATALOG_NAME_FIELD_DESC);
          oprot.writeString(struct.catalogName);
          oprot.writeFieldEnd();
        }
        if (struct.database != null) {
          oprot.writeFieldBegin(DATABASE_FIELD_DESC);
          oprot.writeString(struct.database);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class dropDatabase_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public dropDatabase_argsTupleScheme getScheme() {
        return new dropDatabase_argsTupleScheme();
      }
    }

    private static class dropDatabase_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<dropDatabase_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, dropDatabase_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetCatalogName()) {
          optionals.set(0);
        }
        if (struct.isSetDatabase()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetCatalogName()) {
          oprot.writeString(struct.catalogName);
        }
        if (struct.isSetDatabase()) {
          oprot.writeString(struct.database);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, dropDatabase_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.catalogName = iprot.readString();
          struct.setCatalogNameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.database = iprot.readString();
          struct.setDatabaseIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class dropDatabase_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<dropDatabase_result, dropDatabase_result._Fields>, java.io.Serializable, Cloneable, Comparable<dropDatabase_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("dropDatabase_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E1_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e1", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E2_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e2", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new dropDatabase_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new dropDatabase_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NotSupportedException e2; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      E1((short)1, "e1"),
      E2((short)2, "e2");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E1
            return E1;
          case 2: // E2
            return E2;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E1, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
      tmpMap.put(_Fields.E2, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e2", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NotSupportedException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(dropDatabase_result.class, metaDataMap);
    }

    public dropDatabase_result() {
    }

    public dropDatabase_result(
      org.apache.amoro.api.NoSuchObjectException e1,
      org.apache.amoro.api.NotSupportedException e2)
    {
      this();
      this.e1 = e1;
      this.e2 = e2;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public dropDatabase_result(dropDatabase_result other) {
      if (other.isSetE1()) {
        this.e1 = new org.apache.amoro.api.NoSuchObjectException(other.e1);
      }
      if (other.isSetE2()) {
        this.e2 = new org.apache.amoro.api.NotSupportedException(other.e2);
      }
    }

    @Override
    public dropDatabase_result deepCopy() {
      return new dropDatabase_result(this);
    }

    @Override
    public void clear() {
      this.e1 = null;
      this.e2 = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NoSuchObjectException getE1() {
      return this.e1;
    }

    public dropDatabase_result setE1(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1) {
      this.e1 = e1;
      return this;
    }

    public void unsetE1() {
      this.e1 = null;
    }

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

    public void setE1IsSet(boolean value) {
      if (!value) {
        this.e1 = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NotSupportedException getE2() {
      return this.e2;
    }

    public dropDatabase_result setE2(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NotSupportedException e2) {
      this.e2 = e2;
      return this;
    }

    public void unsetE2() {
      this.e2 = null;
    }

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

    public void setE2IsSet(boolean value) {
      if (!value) {
        this.e2 = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E1:
        if (value == null) {
          unsetE1();
        } else {
          setE1((org.apache.amoro.api.NoSuchObjectException)value);
        }
        break;

      case E2:
        if (value == null) {
          unsetE2();
        } else {
          setE2((org.apache.amoro.api.NotSupportedException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E1:
        return getE1();

      case E2:
        return getE2();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case E1:
        return isSetE1();
      case E2:
        return isSetE2();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_e1 = true && this.isSetE1();
      boolean that_present_e1 = true && that.isSetE1();
      if (this_present_e1 || that_present_e1) {
        if (!(this_present_e1 && that_present_e1))
          return false;
        if (!this.e1.equals(that.e1))
          return false;
      }

      boolean this_present_e2 = true && this.isSetE2();
      boolean that_present_e2 = true && that.isSetE2();
      if (this_present_e2 || that_present_e2) {
        if (!(this_present_e2 && that_present_e2))
          return false;
        if (!this.e2.equals(that.e2))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetE1()) ? 131071 : 524287);
      if (isSetE1())
        hashCode = hashCode * 8191 + e1.hashCode();

      hashCode = hashCode * 8191 + ((isSetE2()) ? 131071 : 524287);
      if (isSetE2())
        hashCode = hashCode * 8191 + e2.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetE1(), other.isSetE1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE1()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e1, other.e1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE2(), other.isSetE2());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE2()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e2, other.e2);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("e1:");
      if (this.e1 == null) {
        sb.append("null");
      } else {
        sb.append(this.e1);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e2:");
      if (this.e2 == null) {
        sb.append("null");
      } else {
        sb.append(this.e2);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class dropDatabase_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public dropDatabase_resultStandardScheme getScheme() {
        return new dropDatabase_resultStandardScheme();
      }
    }

    private static class dropDatabase_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<dropDatabase_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, dropDatabase_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E1
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
                struct.e1.read(iprot);
                struct.setE1IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // E2
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e2 = new org.apache.amoro.api.NotSupportedException();
                struct.e2.read(iprot);
                struct.setE2IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, dropDatabase_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.e1 != null) {
          oprot.writeFieldBegin(E1_FIELD_DESC);
          struct.e1.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.e2 != null) {
          oprot.writeFieldBegin(E2_FIELD_DESC);
          struct.e2.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class dropDatabase_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public dropDatabase_resultTupleScheme getScheme() {
        return new dropDatabase_resultTupleScheme();
      }
    }

    private static class dropDatabase_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<dropDatabase_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, dropDatabase_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetE1()) {
          optionals.set(0);
        }
        if (struct.isSetE2()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetE1()) {
          struct.e1.write(oprot);
        }
        if (struct.isSetE2()) {
          struct.e2.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, dropDatabase_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
          struct.e1.read(iprot);
          struct.setE1IsSet(true);
        }
        if (incoming.get(1)) {
          struct.e2 = new org.apache.amoro.api.NotSupportedException();
          struct.e2.read(iprot);
          struct.setE2IsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class createTableMeta_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<createTableMeta_args, createTableMeta_args._Fields>, java.io.Serializable, Cloneable, Comparable<createTableMeta_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("createTableMeta_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TABLE_META_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("tableMeta", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createTableMeta_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createTableMeta_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable TableMeta tableMeta; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      TABLE_META((short)1, "tableMeta");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_META
            return TABLE_META;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_META, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("tableMeta", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, TableMeta.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createTableMeta_args.class, metaDataMap);
    }

    public createTableMeta_args() {
    }

    public createTableMeta_args(
      TableMeta tableMeta)
    {
      this();
      this.tableMeta = tableMeta;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createTableMeta_args(createTableMeta_args other) {
      if (other.isSetTableMeta()) {
        this.tableMeta = new TableMeta(other.tableMeta);
      }
    }

    @Override
    public createTableMeta_args deepCopy() {
      return new createTableMeta_args(this);
    }

    @Override
    public void clear() {
      this.tableMeta = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public TableMeta getTableMeta() {
      return this.tableMeta;
    }

    public createTableMeta_args setTableMeta(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable TableMeta tableMeta) {
      this.tableMeta = tableMeta;
      return this;
    }

    public void unsetTableMeta() {
      this.tableMeta = null;
    }

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

    public void setTableMetaIsSet(boolean value) {
      if (!value) {
        this.tableMeta = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TABLE_META:
        if (value == null) {
          unsetTableMeta();
        } else {
          setTableMeta((TableMeta)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_META:
        return getTableMeta();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TABLE_META:
        return isSetTableMeta();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_tableMeta = true && this.isSetTableMeta();
      boolean that_present_tableMeta = true && that.isSetTableMeta();
      if (this_present_tableMeta || that_present_tableMeta) {
        if (!(this_present_tableMeta && that_present_tableMeta))
          return false;
        if (!this.tableMeta.equals(that.tableMeta))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetTableMeta()) ? 131071 : 524287);
      if (isSetTableMeta())
        hashCode = hashCode * 8191 + tableMeta.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTableMeta(), other.isSetTableMeta());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableMeta()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.tableMeta, other.tableMeta);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("tableMeta:");
      if (this.tableMeta == null) {
        sb.append("null");
      } else {
        sb.append(this.tableMeta);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableMeta != null) {
        tableMeta.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class createTableMeta_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public createTableMeta_argsStandardScheme getScheme() {
        return new createTableMeta_argsStandardScheme();
      }
    }

    private static class createTableMeta_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<createTableMeta_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, createTableMeta_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_META
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableMeta = new TableMeta();
                struct.tableMeta.read(iprot);
                struct.setTableMetaIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, createTableMeta_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableMeta != null) {
          oprot.writeFieldBegin(TABLE_META_FIELD_DESC);
          struct.tableMeta.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class createTableMeta_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public createTableMeta_argsTupleScheme getScheme() {
        return new createTableMeta_argsTupleScheme();
      }
    }

    private static class createTableMeta_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<createTableMeta_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, createTableMeta_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTableMeta()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableMeta()) {
          struct.tableMeta.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, createTableMeta_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableMeta = new TableMeta();
          struct.tableMeta.read(iprot);
          struct.setTableMetaIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class createTableMeta_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<createTableMeta_result, createTableMeta_result._Fields>, java.io.Serializable, Cloneable, Comparable<createTableMeta_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("createTableMeta_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E1_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e1", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E2_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e2", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)2);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E3_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e3", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)3);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createTableMeta_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createTableMeta_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.AlreadyExistsException e1; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.InvalidObjectException e2; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e3; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      E1((short)1, "e1"),
      E2((short)2, "e2"),
      E3((short)3, "e3");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E1
            return E1;
          case 2: // E2
            return E2;
          case 3: // E3
            return E3;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E1, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AlreadyExistsException.class)));
      tmpMap.put(_Fields.E2, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e2", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.InvalidObjectException.class)));
      tmpMap.put(_Fields.E3, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e3", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.MetaException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createTableMeta_result.class, metaDataMap);
    }

    public createTableMeta_result() {
    }

    public createTableMeta_result(
      org.apache.amoro.api.AlreadyExistsException e1,
      org.apache.amoro.api.InvalidObjectException e2,
      org.apache.amoro.api.MetaException e3)
    {
      this();
      this.e1 = e1;
      this.e2 = e2;
      this.e3 = e3;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createTableMeta_result(createTableMeta_result other) {
      if (other.isSetE1()) {
        this.e1 = new org.apache.amoro.api.AlreadyExistsException(other.e1);
      }
      if (other.isSetE2()) {
        this.e2 = new org.apache.amoro.api.InvalidObjectException(other.e2);
      }
      if (other.isSetE3()) {
        this.e3 = new org.apache.amoro.api.MetaException(other.e3);
      }
    }

    @Override
    public createTableMeta_result deepCopy() {
      return new createTableMeta_result(this);
    }

    @Override
    public void clear() {
      this.e1 = null;
      this.e2 = null;
      this.e3 = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.AlreadyExistsException getE1() {
      return this.e1;
    }

    public createTableMeta_result setE1(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.AlreadyExistsException e1) {
      this.e1 = e1;
      return this;
    }

    public void unsetE1() {
      this.e1 = null;
    }

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

    public void setE1IsSet(boolean value) {
      if (!value) {
        this.e1 = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.InvalidObjectException getE2() {
      return this.e2;
    }

    public createTableMeta_result setE2(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.InvalidObjectException e2) {
      this.e2 = e2;
      return this;
    }

    public void unsetE2() {
      this.e2 = null;
    }

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

    public void setE2IsSet(boolean value) {
      if (!value) {
        this.e2 = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.MetaException getE3() {
      return this.e3;
    }

    public createTableMeta_result setE3(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e3) {
      this.e3 = e3;
      return this;
    }

    public void unsetE3() {
      this.e3 = null;
    }

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

    public void setE3IsSet(boolean value) {
      if (!value) {
        this.e3 = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E1:
        if (value == null) {
          unsetE1();
        } else {
          setE1((org.apache.amoro.api.AlreadyExistsException)value);
        }
        break;

      case E2:
        if (value == null) {
          unsetE2();
        } else {
          setE2((org.apache.amoro.api.InvalidObjectException)value);
        }
        break;

      case E3:
        if (value == null) {
          unsetE3();
        } else {
          setE3((org.apache.amoro.api.MetaException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E1:
        return getE1();

      case E2:
        return getE2();

      case E3:
        return getE3();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case E1:
        return isSetE1();
      case E2:
        return isSetE2();
      case E3:
        return isSetE3();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_e1 = true && this.isSetE1();
      boolean that_present_e1 = true && that.isSetE1();
      if (this_present_e1 || that_present_e1) {
        if (!(this_present_e1 && that_present_e1))
          return false;
        if (!this.e1.equals(that.e1))
          return false;
      }

      boolean this_present_e2 = true && this.isSetE2();
      boolean that_present_e2 = true && that.isSetE2();
      if (this_present_e2 || that_present_e2) {
        if (!(this_present_e2 && that_present_e2))
          return false;
        if (!this.e2.equals(that.e2))
          return false;
      }

      boolean this_present_e3 = true && this.isSetE3();
      boolean that_present_e3 = true && that.isSetE3();
      if (this_present_e3 || that_present_e3) {
        if (!(this_present_e3 && that_present_e3))
          return false;
        if (!this.e3.equals(that.e3))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetE1()) ? 131071 : 524287);
      if (isSetE1())
        hashCode = hashCode * 8191 + e1.hashCode();

      hashCode = hashCode * 8191 + ((isSetE2()) ? 131071 : 524287);
      if (isSetE2())
        hashCode = hashCode * 8191 + e2.hashCode();

      hashCode = hashCode * 8191 + ((isSetE3()) ? 131071 : 524287);
      if (isSetE3())
        hashCode = hashCode * 8191 + e3.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetE1(), other.isSetE1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE1()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e1, other.e1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE2(), other.isSetE2());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE2()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e2, other.e2);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE3(), other.isSetE3());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE3()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e3, other.e3);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("e1:");
      if (this.e1 == null) {
        sb.append("null");
      } else {
        sb.append(this.e1);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e2:");
      if (this.e2 == null) {
        sb.append("null");
      } else {
        sb.append(this.e2);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e3:");
      if (this.e3 == null) {
        sb.append("null");
      } else {
        sb.append(this.e3);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class createTableMeta_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public createTableMeta_resultStandardScheme getScheme() {
        return new createTableMeta_resultStandardScheme();
      }
    }

    private static class createTableMeta_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<createTableMeta_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, createTableMeta_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E1
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e1 = new org.apache.amoro.api.AlreadyExistsException();
                struct.e1.read(iprot);
                struct.setE1IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // E2
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e2 = new org.apache.amoro.api.InvalidObjectException();
                struct.e2.read(iprot);
                struct.setE2IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // E3
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e3 = new org.apache.amoro.api.MetaException();
                struct.e3.read(iprot);
                struct.setE3IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, createTableMeta_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.e1 != null) {
          oprot.writeFieldBegin(E1_FIELD_DESC);
          struct.e1.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.e2 != null) {
          oprot.writeFieldBegin(E2_FIELD_DESC);
          struct.e2.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.e3 != null) {
          oprot.writeFieldBegin(E3_FIELD_DESC);
          struct.e3.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class createTableMeta_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public createTableMeta_resultTupleScheme getScheme() {
        return new createTableMeta_resultTupleScheme();
      }
    }

    private static class createTableMeta_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<createTableMeta_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, createTableMeta_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetE1()) {
          optionals.set(0);
        }
        if (struct.isSetE2()) {
          optionals.set(1);
        }
        if (struct.isSetE3()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetE1()) {
          struct.e1.write(oprot);
        }
        if (struct.isSetE2()) {
          struct.e2.write(oprot);
        }
        if (struct.isSetE3()) {
          struct.e3.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, createTableMeta_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.e1 = new org.apache.amoro.api.AlreadyExistsException();
          struct.e1.read(iprot);
          struct.setE1IsSet(true);
        }
        if (incoming.get(1)) {
          struct.e2 = new org.apache.amoro.api.InvalidObjectException();
          struct.e2.read(iprot);
          struct.setE2IsSet(true);
        }
        if (incoming.get(2)) {
          struct.e3 = new org.apache.amoro.api.MetaException();
          struct.e3.read(iprot);
          struct.setE3IsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class listTables_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<listTables_args, listTables_args._Fields>, java.io.Serializable, Cloneable, Comparable<listTables_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("listTables_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField CATALOG_NAME_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("catalogName", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField DATABASE_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("database", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listTables_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listTables_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String catalogName; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String database; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      CATALOG_NAME((short)1, "catalogName"),
      DATABASE((short)2, "database");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CATALOG_NAME
            return CATALOG_NAME;
          case 2: // DATABASE
            return DATABASE;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CATALOG_NAME, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("catalogName", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.DATABASE, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("database", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listTables_args.class, metaDataMap);
    }

    public listTables_args() {
    }

    public listTables_args(
      java.lang.String catalogName,
      java.lang.String database)
    {
      this();
      this.catalogName = catalogName;
      this.database = database;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public listTables_args(listTables_args other) {
      if (other.isSetCatalogName()) {
        this.catalogName = other.catalogName;
      }
      if (other.isSetDatabase()) {
        this.database = other.database;
      }
    }

    @Override
    public listTables_args deepCopy() {
      return new listTables_args(this);
    }

    @Override
    public void clear() {
      this.catalogName = null;
      this.database = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getCatalogName() {
      return this.catalogName;
    }

    public listTables_args setCatalogName(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String catalogName) {
      this.catalogName = catalogName;
      return this;
    }

    public void unsetCatalogName() {
      this.catalogName = null;
    }

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

    public void setCatalogNameIsSet(boolean value) {
      if (!value) {
        this.catalogName = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getDatabase() {
      return this.database;
    }

    public listTables_args setDatabase(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String database) {
      this.database = database;
      return this;
    }

    public void unsetDatabase() {
      this.database = null;
    }

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

    public void setDatabaseIsSet(boolean value) {
      if (!value) {
        this.database = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case CATALOG_NAME:
        if (value == null) {
          unsetCatalogName();
        } else {
          setCatalogName((java.lang.String)value);
        }
        break;

      case DATABASE:
        if (value == null) {
          unsetDatabase();
        } else {
          setDatabase((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case CATALOG_NAME:
        return getCatalogName();

      case DATABASE:
        return getDatabase();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case CATALOG_NAME:
        return isSetCatalogName();
      case DATABASE:
        return isSetDatabase();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_catalogName = true && this.isSetCatalogName();
      boolean that_present_catalogName = true && that.isSetCatalogName();
      if (this_present_catalogName || that_present_catalogName) {
        if (!(this_present_catalogName && that_present_catalogName))
          return false;
        if (!this.catalogName.equals(that.catalogName))
          return false;
      }

      boolean this_present_database = true && this.isSetDatabase();
      boolean that_present_database = true && that.isSetDatabase();
      if (this_present_database || that_present_database) {
        if (!(this_present_database && that_present_database))
          return false;
        if (!this.database.equals(that.database))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetCatalogName()) ? 131071 : 524287);
      if (isSetCatalogName())
        hashCode = hashCode * 8191 + catalogName.hashCode();

      hashCode = hashCode * 8191 + ((isSetDatabase()) ? 131071 : 524287);
      if (isSetDatabase())
        hashCode = hashCode * 8191 + database.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetCatalogName(), other.isSetCatalogName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCatalogName()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.catalogName, other.catalogName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetDatabase(), other.isSetDatabase());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDatabase()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.database, other.database);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("catalogName:");
      if (this.catalogName == null) {
        sb.append("null");
      } else {
        sb.append(this.catalogName);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("database:");
      if (this.database == null) {
        sb.append("null");
      } else {
        sb.append(this.database);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class listTables_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public listTables_argsStandardScheme getScheme() {
        return new listTables_argsStandardScheme();
      }
    }

    private static class listTables_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<listTables_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, listTables_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // CATALOG_NAME
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.catalogName = iprot.readString();
                struct.setCatalogNameIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // DATABASE
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.database = iprot.readString();
                struct.setDatabaseIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, listTables_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.catalogName != null) {
          oprot.writeFieldBegin(CATALOG_NAME_FIELD_DESC);
          oprot.writeString(struct.catalogName);
          oprot.writeFieldEnd();
        }
        if (struct.database != null) {
          oprot.writeFieldBegin(DATABASE_FIELD_DESC);
          oprot.writeString(struct.database);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class listTables_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public listTables_argsTupleScheme getScheme() {
        return new listTables_argsTupleScheme();
      }
    }

    private static class listTables_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<listTables_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, listTables_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetCatalogName()) {
          optionals.set(0);
        }
        if (struct.isSetDatabase()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetCatalogName()) {
          oprot.writeString(struct.catalogName);
        }
        if (struct.isSetDatabase()) {
          oprot.writeString(struct.database);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, listTables_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.catalogName = iprot.readString();
          struct.setCatalogNameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.database = iprot.readString();
          struct.setDatabaseIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class listTables_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<listTables_result, listTables_result._Fields>, java.io.Serializable, Cloneable, Comparable<listTables_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("listTables_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listTables_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listTables_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<TableMeta> success; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.ListMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, 
              new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, TableMeta.class))));
      tmpMap.put(_Fields.E, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listTables_result.class, metaDataMap);
    }

    public listTables_result() {
    }

    public listTables_result(
      java.util.List<TableMeta> success,
      org.apache.amoro.api.NoSuchObjectException e)
    {
      this();
      this.success = success;
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public listTables_result(listTables_result other) {
      if (other.isSetSuccess()) {
        java.util.List<TableMeta> __this__success = new java.util.ArrayList<TableMeta>(other.success.size());
        for (TableMeta other_element : other.success) {
          __this__success.add(new TableMeta(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetE()) {
        this.e = new org.apache.amoro.api.NoSuchObjectException(other.e);
      }
    }

    @Override
    public listTables_result deepCopy() {
      return new listTables_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
    }

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

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.Iterator<TableMeta> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(TableMeta elem) {
      if (this.success == null) {
        this.success = new java.util.ArrayList<TableMeta>();
      }
      this.success.add(elem);
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.List<TableMeta> getSuccess() {
      return this.success;
    }

    public listTables_result setSuccess(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<TableMeta> success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

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

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NoSuchObjectException getE() {
      return this.e;
    }

    public listTables_result setE(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e) {
      this.e = e;
      return this;
    }

    public void unsetE() {
      this.e = null;
    }

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

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.util.List<TableMeta>)value);
        }
        break;

      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((org.apache.amoro.api.NoSuchObjectException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E:
        return getE();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E:
        return isSetE();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((isSetE()) ? 131071 : 524287);
      if (isSetE())
        hashCode = hashCode * 8191 + e.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE(), other.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class listTables_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public listTables_resultStandardScheme getScheme() {
        return new listTables_resultStandardScheme();
      }
    }

    private static class listTables_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<listTables_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, listTables_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list152 = iprot.readListBegin();
                  struct.success = new java.util.ArrayList<TableMeta>(_list152.size);
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable TableMeta _elem153;
                  for (int _i154 = 0; _i154 < _list152.size; ++_i154)
                  {
                    _elem153 = new TableMeta();
                    _elem153.read(iprot);
                    struct.success.add(_elem153);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e = new org.apache.amoro.api.NoSuchObjectException();
                struct.e.read(iprot);
                struct.setEIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, listTables_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
            for (TableMeta _iter155 : struct.success)
            {
              _iter155.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.e != null) {
          oprot.writeFieldBegin(E_FIELD_DESC);
          struct.e.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class listTables_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public listTables_resultTupleScheme getScheme() {
        return new listTables_resultTupleScheme();
      }
    }

    private static class listTables_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<listTables_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, listTables_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetE()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (TableMeta _iter156 : struct.success)
            {
              _iter156.write(oprot);
            }
          }
        }
        if (struct.isSetE()) {
          struct.e.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, listTables_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list157 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT);
            struct.success = new java.util.ArrayList<TableMeta>(_list157.size);
            @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable TableMeta _elem158;
            for (int _i159 = 0; _i159 < _list157.size; ++_i159)
            {
              _elem158 = new TableMeta();
              _elem158.read(iprot);
              struct.success.add(_elem158);
            }
          }
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.e = new org.apache.amoro.api.NoSuchObjectException();
          struct.e.read(iprot);
          struct.setEIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTable_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getTable_args, getTable_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTable_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getTable_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TABLE_IDENTIFIER_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTable_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTable_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      TABLE_IDENTIFIER((short)1, "tableIdentifier");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_IDENTIFIER
            return TABLE_IDENTIFIER;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTable_args.class, metaDataMap);
    }

    public getTable_args() {
    }

    public getTable_args(
      org.apache.amoro.api.TableIdentifier tableIdentifier)
    {
      this();
      this.tableIdentifier = tableIdentifier;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTable_args(getTable_args other) {
      if (other.isSetTableIdentifier()) {
        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
      }
    }

    @Override
    public getTable_args deepCopy() {
      return new getTable_args(this);
    }

    @Override
    public void clear() {
      this.tableIdentifier = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
      return this.tableIdentifier;
    }

    public getTable_args setTableIdentifier(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
      this.tableIdentifier = tableIdentifier;
      return this;
    }

    public void unsetTableIdentifier() {
      this.tableIdentifier = null;
    }

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

    public void setTableIdentifierIsSet(boolean value) {
      if (!value) {
        this.tableIdentifier = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TABLE_IDENTIFIER:
        if (value == null) {
          unsetTableIdentifier();
        } else {
          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_IDENTIFIER:
        return getTableIdentifier();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TABLE_IDENTIFIER:
        return isSetTableIdentifier();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_tableIdentifier = true && this.isSetTableIdentifier();
      boolean that_present_tableIdentifier = true && that.isSetTableIdentifier();
      if (this_present_tableIdentifier || that_present_tableIdentifier) {
        if (!(this_present_tableIdentifier && that_present_tableIdentifier))
          return false;
        if (!this.tableIdentifier.equals(that.tableIdentifier))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetTableIdentifier()) ? 131071 : 524287);
      if (isSetTableIdentifier())
        hashCode = hashCode * 8191 + tableIdentifier.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTableIdentifier(), other.isSetTableIdentifier());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableIdentifier()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.tableIdentifier, other.tableIdentifier);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("tableIdentifier:");
      if (this.tableIdentifier == null) {
        sb.append("null");
      } else {
        sb.append(this.tableIdentifier);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableIdentifier != null) {
        tableIdentifier.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTable_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getTable_argsStandardScheme getScheme() {
        return new getTable_argsStandardScheme();
      }
    }

    private static class getTable_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getTable_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getTable_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_IDENTIFIER
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                struct.tableIdentifier.read(iprot);
                struct.setTableIdentifierIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getTable_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableIdentifier != null) {
          oprot.writeFieldBegin(TABLE_IDENTIFIER_FIELD_DESC);
          struct.tableIdentifier.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTable_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getTable_argsTupleScheme getScheme() {
        return new getTable_argsTupleScheme();
      }
    }

    private static class getTable_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getTable_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getTable_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTableIdentifier()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableIdentifier()) {
          struct.tableIdentifier.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getTable_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
          struct.tableIdentifier.read(iprot);
          struct.setTableIdentifierIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTable_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getTable_result, getTable_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTable_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getTable_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTable_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTable_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable TableMeta success; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, TableMeta.class)));
      tmpMap.put(_Fields.E, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTable_result.class, metaDataMap);
    }

    public getTable_result() {
    }

    public getTable_result(
      TableMeta success,
      org.apache.amoro.api.NoSuchObjectException e)
    {
      this();
      this.success = success;
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTable_result(getTable_result other) {
      if (other.isSetSuccess()) {
        this.success = new TableMeta(other.success);
      }
      if (other.isSetE()) {
        this.e = new org.apache.amoro.api.NoSuchObjectException(other.e);
      }
    }

    @Override
    public getTable_result deepCopy() {
      return new getTable_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public TableMeta getSuccess() {
      return this.success;
    }

    public getTable_result setSuccess(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable TableMeta success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

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

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NoSuchObjectException getE() {
      return this.e;
    }

    public getTable_result setE(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e) {
      this.e = e;
      return this;
    }

    public void unsetE() {
      this.e = null;
    }

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

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((TableMeta)value);
        }
        break;

      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((org.apache.amoro.api.NoSuchObjectException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E:
        return getE();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E:
        return isSetE();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((isSetE()) ? 131071 : 524287);
      if (isSetE())
        hashCode = hashCode * 8191 + e.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE(), other.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTable_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getTable_resultStandardScheme getScheme() {
        return new getTable_resultStandardScheme();
      }
    }

    private static class getTable_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getTable_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getTable_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.success = new TableMeta();
                struct.success.read(iprot);
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e = new org.apache.amoro.api.NoSuchObjectException();
                struct.e.read(iprot);
                struct.setEIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getTable_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.e != null) {
          oprot.writeFieldBegin(E_FIELD_DESC);
          struct.e.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTable_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getTable_resultTupleScheme getScheme() {
        return new getTable_resultTupleScheme();
      }
    }

    private static class getTable_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getTable_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getTable_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetE()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
        if (struct.isSetE()) {
          struct.e.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getTable_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new TableMeta();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.e = new org.apache.amoro.api.NoSuchObjectException();
          struct.e.read(iprot);
          struct.setEIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class removeTable_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<removeTable_args, removeTable_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeTable_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("removeTable_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TABLE_IDENTIFIER_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField DELETE_DATA_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("deleteData", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.BOOL, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeTable_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeTable_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
    public boolean deleteData; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      TABLE_IDENTIFIER((short)1, "tableIdentifier"),
      DELETE_DATA((short)2, "deleteData");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_IDENTIFIER
            return TABLE_IDENTIFIER;
          case 2: // DELETE_DATA
            return DELETE_DATA;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    private static final int __DELETEDATA_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
      tmpMap.put(_Fields.DELETE_DATA, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("deleteData", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeTable_args.class, metaDataMap);
    }

    public removeTable_args() {
    }

    public removeTable_args(
      org.apache.amoro.api.TableIdentifier tableIdentifier,
      boolean deleteData)
    {
      this();
      this.tableIdentifier = tableIdentifier;
      this.deleteData = deleteData;
      setDeleteDataIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeTable_args(removeTable_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.isSetTableIdentifier()) {
        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
      }
      this.deleteData = other.deleteData;
    }

    @Override
    public removeTable_args deepCopy() {
      return new removeTable_args(this);
    }

    @Override
    public void clear() {
      this.tableIdentifier = null;
      setDeleteDataIsSet(false);
      this.deleteData = false;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
      return this.tableIdentifier;
    }

    public removeTable_args setTableIdentifier(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
      this.tableIdentifier = tableIdentifier;
      return this;
    }

    public void unsetTableIdentifier() {
      this.tableIdentifier = null;
    }

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

    public void setTableIdentifierIsSet(boolean value) {
      if (!value) {
        this.tableIdentifier = null;
      }
    }

    public boolean isDeleteData() {
      return this.deleteData;
    }

    public removeTable_args setDeleteData(boolean deleteData) {
      this.deleteData = deleteData;
      setDeleteDataIsSet(true);
      return this;
    }

    public void unsetDeleteData() {
      __isset_bitfield = org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __DELETEDATA_ISSET_ID);
    }

    /** Returns true if field deleteData is set (has been assigned a value) and false otherwise */
    public boolean isSetDeleteData() {
      return org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __DELETEDATA_ISSET_ID);
    }

    public void setDeleteDataIsSet(boolean value) {
      __isset_bitfield = org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __DELETEDATA_ISSET_ID, value);
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TABLE_IDENTIFIER:
        if (value == null) {
          unsetTableIdentifier();
        } else {
          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
        }
        break;

      case DELETE_DATA:
        if (value == null) {
          unsetDeleteData();
        } else {
          setDeleteData((java.lang.Boolean)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_IDENTIFIER:
        return getTableIdentifier();

      case DELETE_DATA:
        return isDeleteData();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TABLE_IDENTIFIER:
        return isSetTableIdentifier();
      case DELETE_DATA:
        return isSetDeleteData();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_tableIdentifier = true && this.isSetTableIdentifier();
      boolean that_present_tableIdentifier = true && that.isSetTableIdentifier();
      if (this_present_tableIdentifier || that_present_tableIdentifier) {
        if (!(this_present_tableIdentifier && that_present_tableIdentifier))
          return false;
        if (!this.tableIdentifier.equals(that.tableIdentifier))
          return false;
      }

      boolean this_present_deleteData = true;
      boolean that_present_deleteData = true;
      if (this_present_deleteData || that_present_deleteData) {
        if (!(this_present_deleteData && that_present_deleteData))
          return false;
        if (this.deleteData != that.deleteData)
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetTableIdentifier()) ? 131071 : 524287);
      if (isSetTableIdentifier())
        hashCode = hashCode * 8191 + tableIdentifier.hashCode();

      hashCode = hashCode * 8191 + ((deleteData) ? 131071 : 524287);

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTableIdentifier(), other.isSetTableIdentifier());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableIdentifier()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.tableIdentifier, other.tableIdentifier);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetDeleteData(), other.isSetDeleteData());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDeleteData()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.deleteData, other.deleteData);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("tableIdentifier:");
      if (this.tableIdentifier == null) {
        sb.append("null");
      } else {
        sb.append(this.tableIdentifier);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("deleteData:");
      sb.append(this.deleteData);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableIdentifier != null) {
        tableIdentifier.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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 {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeTable_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public removeTable_argsStandardScheme getScheme() {
        return new removeTable_argsStandardScheme();
      }
    }

    private static class removeTable_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<removeTable_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, removeTable_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_IDENTIFIER
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                struct.tableIdentifier.read(iprot);
                struct.setTableIdentifierIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // DELETE_DATA
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.BOOL) {
                struct.deleteData = iprot.readBool();
                struct.setDeleteDataIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, removeTable_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableIdentifier != null) {
          oprot.writeFieldBegin(TABLE_IDENTIFIER_FIELD_DESC);
          struct.tableIdentifier.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(DELETE_DATA_FIELD_DESC);
        oprot.writeBool(struct.deleteData);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeTable_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public removeTable_argsTupleScheme getScheme() {
        return new removeTable_argsTupleScheme();
      }
    }

    private static class removeTable_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<removeTable_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, removeTable_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTableIdentifier()) {
          optionals.set(0);
        }
        if (struct.isSetDeleteData()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetTableIdentifier()) {
          struct.tableIdentifier.write(oprot);
        }
        if (struct.isSetDeleteData()) {
          oprot.writeBool(struct.deleteData);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, removeTable_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
          struct.tableIdentifier.read(iprot);
          struct.setTableIdentifierIsSet(true);
        }
        if (incoming.get(1)) {
          struct.deleteData = iprot.readBool();
          struct.setDeleteDataIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class removeTable_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<removeTable_result, removeTable_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeTable_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("removeTable_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E1_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e1", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E2_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e2", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeTable_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeTable_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e2; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      E1((short)1, "e1"),
      E2((short)2, "e2");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E1
            return E1;
          case 2: // E2
            return E2;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E1, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
      tmpMap.put(_Fields.E2, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e2", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.MetaException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeTable_result.class, metaDataMap);
    }

    public removeTable_result() {
    }

    public removeTable_result(
      org.apache.amoro.api.NoSuchObjectException e1,
      org.apache.amoro.api.MetaException e2)
    {
      this();
      this.e1 = e1;
      this.e2 = e2;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeTable_result(removeTable_result other) {
      if (other.isSetE1()) {
        this.e1 = new org.apache.amoro.api.NoSuchObjectException(other.e1);
      }
      if (other.isSetE2()) {
        this.e2 = new org.apache.amoro.api.MetaException(other.e2);
      }
    }

    @Override
    public removeTable_result deepCopy() {
      return new removeTable_result(this);
    }

    @Override
    public void clear() {
      this.e1 = null;
      this.e2 = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NoSuchObjectException getE1() {
      return this.e1;
    }

    public removeTable_result setE1(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1) {
      this.e1 = e1;
      return this;
    }

    public void unsetE1() {
      this.e1 = null;
    }

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

    public void setE1IsSet(boolean value) {
      if (!value) {
        this.e1 = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.MetaException getE2() {
      return this.e2;
    }

    public removeTable_result setE2(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e2) {
      this.e2 = e2;
      return this;
    }

    public void unsetE2() {
      this.e2 = null;
    }

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

    public void setE2IsSet(boolean value) {
      if (!value) {
        this.e2 = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E1:
        if (value == null) {
          unsetE1();
        } else {
          setE1((org.apache.amoro.api.NoSuchObjectException)value);
        }
        break;

      case E2:
        if (value == null) {
          unsetE2();
        } else {
          setE2((org.apache.amoro.api.MetaException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E1:
        return getE1();

      case E2:
        return getE2();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case E1:
        return isSetE1();
      case E2:
        return isSetE2();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_e1 = true && this.isSetE1();
      boolean that_present_e1 = true && that.isSetE1();
      if (this_present_e1 || that_present_e1) {
        if (!(this_present_e1 && that_present_e1))
          return false;
        if (!this.e1.equals(that.e1))
          return false;
      }

      boolean this_present_e2 = true && this.isSetE2();
      boolean that_present_e2 = true && that.isSetE2();
      if (this_present_e2 || that_present_e2) {
        if (!(this_present_e2 && that_present_e2))
          return false;
        if (!this.e2.equals(that.e2))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetE1()) ? 131071 : 524287);
      if (isSetE1())
        hashCode = hashCode * 8191 + e1.hashCode();

      hashCode = hashCode * 8191 + ((isSetE2()) ? 131071 : 524287);
      if (isSetE2())
        hashCode = hashCode * 8191 + e2.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetE1(), other.isSetE1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE1()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e1, other.e1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE2(), other.isSetE2());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE2()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e2, other.e2);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("e1:");
      if (this.e1 == null) {
        sb.append("null");
      } else {
        sb.append(this.e1);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e2:");
      if (this.e2 == null) {
        sb.append("null");
      } else {
        sb.append(this.e2);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeTable_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public removeTable_resultStandardScheme getScheme() {
        return new removeTable_resultStandardScheme();
      }
    }

    private static class removeTable_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<removeTable_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, removeTable_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E1
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
                struct.e1.read(iprot);
                struct.setE1IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // E2
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e2 = new org.apache.amoro.api.MetaException();
                struct.e2.read(iprot);
                struct.setE2IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, removeTable_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.e1 != null) {
          oprot.writeFieldBegin(E1_FIELD_DESC);
          struct.e1.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.e2 != null) {
          oprot.writeFieldBegin(E2_FIELD_DESC);
          struct.e2.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeTable_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public removeTable_resultTupleScheme getScheme() {
        return new removeTable_resultTupleScheme();
      }
    }

    private static class removeTable_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<removeTable_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, removeTable_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetE1()) {
          optionals.set(0);
        }
        if (struct.isSetE2()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetE1()) {
          struct.e1.write(oprot);
        }
        if (struct.isSetE2()) {
          struct.e2.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, removeTable_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
          struct.e1.read(iprot);
          struct.setE1IsSet(true);
        }
        if (incoming.get(1)) {
          struct.e2 = new org.apache.amoro.api.MetaException();
          struct.e2.read(iprot);
          struct.setE2IsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class tableCommit_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<tableCommit_args, tableCommit_args._Fields>, java.io.Serializable, Cloneable, Comparable<tableCommit_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("tableCommit_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField COMMIT_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("commit", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new tableCommit_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new tableCommit_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable TableCommitMeta commit; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      COMMIT((short)1, "commit");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // COMMIT
            return COMMIT;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.COMMIT, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("commit", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, TableCommitMeta.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(tableCommit_args.class, metaDataMap);
    }

    public tableCommit_args() {
    }

    public tableCommit_args(
      TableCommitMeta commit)
    {
      this();
      this.commit = commit;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public tableCommit_args(tableCommit_args other) {
      if (other.isSetCommit()) {
        this.commit = new TableCommitMeta(other.commit);
      }
    }

    @Override
    public tableCommit_args deepCopy() {
      return new tableCommit_args(this);
    }

    @Override
    public void clear() {
      this.commit = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public TableCommitMeta getCommit() {
      return this.commit;
    }

    public tableCommit_args setCommit(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable TableCommitMeta commit) {
      this.commit = commit;
      return this;
    }

    public void unsetCommit() {
      this.commit = null;
    }

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

    public void setCommitIsSet(boolean value) {
      if (!value) {
        this.commit = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case COMMIT:
        if (value == null) {
          unsetCommit();
        } else {
          setCommit((TableCommitMeta)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case COMMIT:
        return getCommit();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case COMMIT:
        return isSetCommit();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_commit = true && this.isSetCommit();
      boolean that_present_commit = true && that.isSetCommit();
      if (this_present_commit || that_present_commit) {
        if (!(this_present_commit && that_present_commit))
          return false;
        if (!this.commit.equals(that.commit))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetCommit()) ? 131071 : 524287);
      if (isSetCommit())
        hashCode = hashCode * 8191 + commit.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetCommit(), other.isSetCommit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCommit()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.commit, other.commit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("commit:");
      if (this.commit == null) {
        sb.append("null");
      } else {
        sb.append(this.commit);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (commit != null) {
        commit.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class tableCommit_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public tableCommit_argsStandardScheme getScheme() {
        return new tableCommit_argsStandardScheme();
      }
    }

    private static class tableCommit_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<tableCommit_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, tableCommit_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // COMMIT
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.commit = new TableCommitMeta();
                struct.commit.read(iprot);
                struct.setCommitIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, tableCommit_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.commit != null) {
          oprot.writeFieldBegin(COMMIT_FIELD_DESC);
          struct.commit.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class tableCommit_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public tableCommit_argsTupleScheme getScheme() {
        return new tableCommit_argsTupleScheme();
      }
    }

    private static class tableCommit_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<tableCommit_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, tableCommit_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetCommit()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetCommit()) {
          struct.commit.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, tableCommit_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.commit = new TableCommitMeta();
          struct.commit.read(iprot);
          struct.setCommitIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class tableCommit_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<tableCommit_result, tableCommit_result._Fields>, java.io.Serializable, Cloneable, Comparable<tableCommit_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("tableCommit_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E1_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e1", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new tableCommit_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new tableCommit_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e1; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      E1((short)1, "e1");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E1
            return E1;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E1, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.MetaException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(tableCommit_result.class, metaDataMap);
    }

    public tableCommit_result() {
    }

    public tableCommit_result(
      org.apache.amoro.api.MetaException e1)
    {
      this();
      this.e1 = e1;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public tableCommit_result(tableCommit_result other) {
      if (other.isSetE1()) {
        this.e1 = new org.apache.amoro.api.MetaException(other.e1);
      }
    }

    @Override
    public tableCommit_result deepCopy() {
      return new tableCommit_result(this);
    }

    @Override
    public void clear() {
      this.e1 = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.MetaException getE1() {
      return this.e1;
    }

    public tableCommit_result setE1(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e1) {
      this.e1 = e1;
      return this;
    }

    public void unsetE1() {
      this.e1 = null;
    }

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

    public void setE1IsSet(boolean value) {
      if (!value) {
        this.e1 = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E1:
        if (value == null) {
          unsetE1();
        } else {
          setE1((org.apache.amoro.api.MetaException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E1:
        return getE1();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case E1:
        return isSetE1();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_e1 = true && this.isSetE1();
      boolean that_present_e1 = true && that.isSetE1();
      if (this_present_e1 || that_present_e1) {
        if (!(this_present_e1 && that_present_e1))
          return false;
        if (!this.e1.equals(that.e1))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetE1()) ? 131071 : 524287);
      if (isSetE1())
        hashCode = hashCode * 8191 + e1.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetE1(), other.isSetE1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE1()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e1, other.e1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("e1:");
      if (this.e1 == null) {
        sb.append("null");
      } else {
        sb.append(this.e1);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class tableCommit_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public tableCommit_resultStandardScheme getScheme() {
        return new tableCommit_resultStandardScheme();
      }
    }

    private static class tableCommit_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<tableCommit_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, tableCommit_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E1
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e1 = new org.apache.amoro.api.MetaException();
                struct.e1.read(iprot);
                struct.setE1IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, tableCommit_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.e1 != null) {
          oprot.writeFieldBegin(E1_FIELD_DESC);
          struct.e1.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class tableCommit_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public tableCommit_resultTupleScheme getScheme() {
        return new tableCommit_resultTupleScheme();
      }
    }

    private static class tableCommit_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<tableCommit_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, tableCommit_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetE1()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetE1()) {
          struct.e1.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, tableCommit_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.e1 = new org.apache.amoro.api.MetaException();
          struct.e1.read(iprot);
          struct.setE1IsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class allocateTransactionId_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<allocateTransactionId_args, allocateTransactionId_args._Fields>, java.io.Serializable, Cloneable, Comparable<allocateTransactionId_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("allocateTransactionId_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TABLE_IDENTIFIER_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TRANSACTION_SIGNATURE_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("transactionSignature", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new allocateTransactionId_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new allocateTransactionId_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String transactionSignature; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      TABLE_IDENTIFIER((short)1, "tableIdentifier"),
      TRANSACTION_SIGNATURE((short)2, "transactionSignature");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_IDENTIFIER
            return TABLE_IDENTIFIER;
          case 2: // TRANSACTION_SIGNATURE
            return TRANSACTION_SIGNATURE;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
      tmpMap.put(_Fields.TRANSACTION_SIGNATURE, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("transactionSignature", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(allocateTransactionId_args.class, metaDataMap);
    }

    public allocateTransactionId_args() {
    }

    public allocateTransactionId_args(
      org.apache.amoro.api.TableIdentifier tableIdentifier,
      java.lang.String transactionSignature)
    {
      this();
      this.tableIdentifier = tableIdentifier;
      this.transactionSignature = transactionSignature;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public allocateTransactionId_args(allocateTransactionId_args other) {
      if (other.isSetTableIdentifier()) {
        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
      }
      if (other.isSetTransactionSignature()) {
        this.transactionSignature = other.transactionSignature;
      }
    }

    @Override
    public allocateTransactionId_args deepCopy() {
      return new allocateTransactionId_args(this);
    }

    @Override
    public void clear() {
      this.tableIdentifier = null;
      this.transactionSignature = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
      return this.tableIdentifier;
    }

    public allocateTransactionId_args setTableIdentifier(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
      this.tableIdentifier = tableIdentifier;
      return this;
    }

    public void unsetTableIdentifier() {
      this.tableIdentifier = null;
    }

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

    public void setTableIdentifierIsSet(boolean value) {
      if (!value) {
        this.tableIdentifier = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getTransactionSignature() {
      return this.transactionSignature;
    }

    public allocateTransactionId_args setTransactionSignature(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String transactionSignature) {
      this.transactionSignature = transactionSignature;
      return this;
    }

    public void unsetTransactionSignature() {
      this.transactionSignature = null;
    }

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

    public void setTransactionSignatureIsSet(boolean value) {
      if (!value) {
        this.transactionSignature = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TABLE_IDENTIFIER:
        if (value == null) {
          unsetTableIdentifier();
        } else {
          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
        }
        break;

      case TRANSACTION_SIGNATURE:
        if (value == null) {
          unsetTransactionSignature();
        } else {
          setTransactionSignature((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_IDENTIFIER:
        return getTableIdentifier();

      case TRANSACTION_SIGNATURE:
        return getTransactionSignature();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TABLE_IDENTIFIER:
        return isSetTableIdentifier();
      case TRANSACTION_SIGNATURE:
        return isSetTransactionSignature();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_tableIdentifier = true && this.isSetTableIdentifier();
      boolean that_present_tableIdentifier = true && that.isSetTableIdentifier();
      if (this_present_tableIdentifier || that_present_tableIdentifier) {
        if (!(this_present_tableIdentifier && that_present_tableIdentifier))
          return false;
        if (!this.tableIdentifier.equals(that.tableIdentifier))
          return false;
      }

      boolean this_present_transactionSignature = true && this.isSetTransactionSignature();
      boolean that_present_transactionSignature = true && that.isSetTransactionSignature();
      if (this_present_transactionSignature || that_present_transactionSignature) {
        if (!(this_present_transactionSignature && that_present_transactionSignature))
          return false;
        if (!this.transactionSignature.equals(that.transactionSignature))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetTableIdentifier()) ? 131071 : 524287);
      if (isSetTableIdentifier())
        hashCode = hashCode * 8191 + tableIdentifier.hashCode();

      hashCode = hashCode * 8191 + ((isSetTransactionSignature()) ? 131071 : 524287);
      if (isSetTransactionSignature())
        hashCode = hashCode * 8191 + transactionSignature.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTableIdentifier(), other.isSetTableIdentifier());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableIdentifier()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.tableIdentifier, other.tableIdentifier);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetTransactionSignature(), other.isSetTransactionSignature());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionSignature()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.transactionSignature, other.transactionSignature);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("tableIdentifier:");
      if (this.tableIdentifier == null) {
        sb.append("null");
      } else {
        sb.append(this.tableIdentifier);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("transactionSignature:");
      if (this.transactionSignature == null) {
        sb.append("null");
      } else {
        sb.append(this.transactionSignature);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableIdentifier != null) {
        tableIdentifier.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class allocateTransactionId_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public allocateTransactionId_argsStandardScheme getScheme() {
        return new allocateTransactionId_argsStandardScheme();
      }
    }

    private static class allocateTransactionId_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<allocateTransactionId_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, allocateTransactionId_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_IDENTIFIER
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                struct.tableIdentifier.read(iprot);
                struct.setTableIdentifierIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // TRANSACTION_SIGNATURE
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.transactionSignature = iprot.readString();
                struct.setTransactionSignatureIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, allocateTransactionId_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableIdentifier != null) {
          oprot.writeFieldBegin(TABLE_IDENTIFIER_FIELD_DESC);
          struct.tableIdentifier.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.transactionSignature != null) {
          oprot.writeFieldBegin(TRANSACTION_SIGNATURE_FIELD_DESC);
          oprot.writeString(struct.transactionSignature);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class allocateTransactionId_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public allocateTransactionId_argsTupleScheme getScheme() {
        return new allocateTransactionId_argsTupleScheme();
      }
    }

    private static class allocateTransactionId_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<allocateTransactionId_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, allocateTransactionId_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTableIdentifier()) {
          optionals.set(0);
        }
        if (struct.isSetTransactionSignature()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetTableIdentifier()) {
          struct.tableIdentifier.write(oprot);
        }
        if (struct.isSetTransactionSignature()) {
          oprot.writeString(struct.transactionSignature);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, allocateTransactionId_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
          struct.tableIdentifier.read(iprot);
          struct.setTableIdentifierIsSet(true);
        }
        if (incoming.get(1)) {
          struct.transactionSignature = iprot.readString();
          struct.setTransactionSignatureIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class allocateTransactionId_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<allocateTransactionId_result, allocateTransactionId_result._Fields>, java.io.Serializable, Cloneable, Comparable<allocateTransactionId_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("allocateTransactionId_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.I64, (short)0);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new allocateTransactionId_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new allocateTransactionId_resultTupleSchemeFactory();

    public long success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.I64)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(allocateTransactionId_result.class, metaDataMap);
    }

    public allocateTransactionId_result() {
    }

    public allocateTransactionId_result(
      long success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public allocateTransactionId_result(allocateTransactionId_result other) {
      __isset_bitfield = other.__isset_bitfield;
      this.success = other.success;
    }

    @Override
    public allocateTransactionId_result deepCopy() {
      return new allocateTransactionId_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
    }

    public long getSuccess() {
      return this.success;
    }

    public allocateTransactionId_result setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
      return this;
    }

    public void unsetSuccess() {
      __isset_bitfield = org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bitfield = org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.Long)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.hashCode(success);

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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 {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class allocateTransactionId_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public allocateTransactionId_resultStandardScheme getScheme() {
        return new allocateTransactionId_resultStandardScheme();
      }
    }

    private static class allocateTransactionId_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<allocateTransactionId_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, allocateTransactionId_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.I64) {
                struct.success = iprot.readI64();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, allocateTransactionId_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.isSetSuccess()) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeI64(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class allocateTransactionId_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public allocateTransactionId_resultTupleScheme getScheme() {
        return new allocateTransactionId_resultTupleScheme();
      }
    }

    private static class allocateTransactionId_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<allocateTransactionId_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, allocateTransactionId_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeI64(struct.success);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, allocateTransactionId_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readI64();
          struct.setSuccessIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class block_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<block_args, block_args._Fields>, java.io.Serializable, Cloneable, Comparable<block_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("block_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TABLE_IDENTIFIER_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField OPERATIONS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("operations", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, (short)2);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField PROPERTIES_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("properties", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.MAP, (short)3);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new block_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new block_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<BlockableOperation> operations; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      TABLE_IDENTIFIER((short)1, "tableIdentifier"),
      OPERATIONS((short)2, "operations"),
      PROPERTIES((short)3, "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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_IDENTIFIER
            return TABLE_IDENTIFIER;
          case 2: // OPERATIONS
            return OPERATIONS;
          case 3: // 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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
      tmpMap.put(_Fields.OPERATIONS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("operations", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.ListMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, 
              new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.EnumMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.ENUM, BlockableOperation.class))));
      tmpMap.put(_Fields.PROPERTIES, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("properties", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.MapMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.MAP, 
              new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING), 
              new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(block_args.class, metaDataMap);
    }

    public block_args() {
    }

    public block_args(
      org.apache.amoro.api.TableIdentifier tableIdentifier,
      java.util.List<BlockableOperation> operations,
      java.util.Map<java.lang.String,java.lang.String> properties)
    {
      this();
      this.tableIdentifier = tableIdentifier;
      this.operations = operations;
      this.properties = properties;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public block_args(block_args other) {
      if (other.isSetTableIdentifier()) {
        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
      }
      if (other.isSetOperations()) {
        java.util.List<BlockableOperation> __this__operations = new java.util.ArrayList<BlockableOperation>(other.operations.size());
        for (BlockableOperation other_element : other.operations) {
          __this__operations.add(other_element);
        }
        this.operations = __this__operations;
      }
      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;
      }
    }

    @Override
    public block_args deepCopy() {
      return new block_args(this);
    }

    @Override
    public void clear() {
      this.tableIdentifier = null;
      this.operations = null;
      this.properties = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
      return this.tableIdentifier;
    }

    public block_args setTableIdentifier(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
      this.tableIdentifier = tableIdentifier;
      return this;
    }

    public void unsetTableIdentifier() {
      this.tableIdentifier = null;
    }

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

    public void setTableIdentifierIsSet(boolean value) {
      if (!value) {
        this.tableIdentifier = null;
      }
    }

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

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.Iterator<BlockableOperation> getOperationsIterator() {
      return (this.operations == null) ? null : this.operations.iterator();
    }

    public void addToOperations(BlockableOperation elem) {
      if (this.operations == null) {
        this.operations = new java.util.ArrayList<BlockableOperation>();
      }
      this.operations.add(elem);
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.List<BlockableOperation> getOperations() {
      return this.operations;
    }

    public block_args setOperations(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<BlockableOperation> operations) {
      this.operations = operations;
      return this;
    }

    public void unsetOperations() {
      this.operations = null;
    }

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

    public void setOperationsIsSet(boolean value) {
      if (!value) {
        this.operations = 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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.Map<java.lang.String,java.lang.String> getProperties() {
      return this.properties;
    }

    public block_args setProperties(@org.apache.amoro.shade.thrift.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TABLE_IDENTIFIER:
        if (value == null) {
          unsetTableIdentifier();
        } else {
          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
        }
        break;

      case OPERATIONS:
        if (value == null) {
          unsetOperations();
        } else {
          setOperations((java.util.List<BlockableOperation>)value);
        }
        break;

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

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_IDENTIFIER:
        return getTableIdentifier();

      case OPERATIONS:
        return getOperations();

      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 */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TABLE_IDENTIFIER:
        return isSetTableIdentifier();
      case OPERATIONS:
        return isSetOperations();
      case PROPERTIES:
        return isSetProperties();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_tableIdentifier = true && this.isSetTableIdentifier();
      boolean that_present_tableIdentifier = true && that.isSetTableIdentifier();
      if (this_present_tableIdentifier || that_present_tableIdentifier) {
        if (!(this_present_tableIdentifier && that_present_tableIdentifier))
          return false;
        if (!this.tableIdentifier.equals(that.tableIdentifier))
          return false;
      }

      boolean this_present_operations = true && this.isSetOperations();
      boolean that_present_operations = true && that.isSetOperations();
      if (this_present_operations || that_present_operations) {
        if (!(this_present_operations && that_present_operations))
          return false;
        if (!this.operations.equals(that.operations))
          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 + ((isSetTableIdentifier()) ? 131071 : 524287);
      if (isSetTableIdentifier())
        hashCode = hashCode * 8191 + tableIdentifier.hashCode();

      hashCode = hashCode * 8191 + ((isSetOperations()) ? 131071 : 524287);
      if (isSetOperations())
        hashCode = hashCode * 8191 + operations.hashCode();

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

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTableIdentifier(), other.isSetTableIdentifier());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableIdentifier()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.tableIdentifier, other.tableIdentifier);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetOperations(), other.isSetOperations());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOperations()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.operations, other.operations);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetProperties(), other.isSetProperties());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProperties()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.properties, other.properties);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("tableIdentifier:");
      if (this.tableIdentifier == null) {
        sb.append("null");
      } else {
        sb.append(this.tableIdentifier);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("operations:");
      if (this.operations == null) {
        sb.append("null");
      } else {
        sb.append(this.operations);
      }
      first = false;
      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.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableIdentifier != null) {
        tableIdentifier.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class block_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public block_argsStandardScheme getScheme() {
        return new block_argsStandardScheme();
      }
    }

    private static class block_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<block_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, block_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_IDENTIFIER
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                struct.tableIdentifier.read(iprot);
                struct.setTableIdentifierIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // OPERATIONS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list160 = iprot.readListBegin();
                  struct.operations = new java.util.ArrayList<BlockableOperation>(_list160.size);
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable BlockableOperation _elem161;
                  for (int _i162 = 0; _i162 < _list160.size; ++_i162)
                  {
                    _elem161 = org.apache.amoro.api.BlockableOperation.findByValue(iprot.readI32());
                    if (_elem161 != null)
                    {
                      struct.operations.add(_elem161);
                    }
                  }
                  iprot.readListEnd();
                }
                struct.setOperationsIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // PROPERTIES
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.MAP) {
                {
                  org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMap _map163 = iprot.readMapBegin();
                  struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map163.size);
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String _key164;
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String _val165;
                  for (int _i166 = 0; _i166 < _map163.size; ++_i166)
                  {
                    _key164 = iprot.readString();
                    _val165 = iprot.readString();
                    struct.properties.put(_key164, _val165);
                  }
                  iprot.readMapEnd();
                }
                struct.setPropertiesIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, block_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableIdentifier != null) {
          oprot.writeFieldBegin(TABLE_IDENTIFIER_FIELD_DESC);
          struct.tableIdentifier.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.operations != null) {
          oprot.writeFieldBegin(OPERATIONS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.I32, struct.operations.size()));
            for (BlockableOperation _iter167 : struct.operations)
            {
              oprot.writeI32(_iter167.getValue());
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.properties != null) {
          oprot.writeFieldBegin(PROPERTIES_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMap(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, struct.properties.size()));
            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter168 : struct.properties.entrySet())
            {
              oprot.writeString(_iter168.getKey());
              oprot.writeString(_iter168.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class block_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public block_argsTupleScheme getScheme() {
        return new block_argsTupleScheme();
      }
    }

    private static class block_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<block_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, block_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTableIdentifier()) {
          optionals.set(0);
        }
        if (struct.isSetOperations()) {
          optionals.set(1);
        }
        if (struct.isSetProperties()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetTableIdentifier()) {
          struct.tableIdentifier.write(oprot);
        }
        if (struct.isSetOperations()) {
          {
            oprot.writeI32(struct.operations.size());
            for (BlockableOperation _iter169 : struct.operations)
            {
              oprot.writeI32(_iter169.getValue());
            }
          }
        }
        if (struct.isSetProperties()) {
          {
            oprot.writeI32(struct.properties.size());
            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter170 : struct.properties.entrySet())
            {
              oprot.writeString(_iter170.getKey());
              oprot.writeString(_iter170.getValue());
            }
          }
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, block_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
          struct.tableIdentifier.read(iprot);
          struct.setTableIdentifierIsSet(true);
        }
        if (incoming.get(1)) {
          {
            org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list171 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.I32);
            struct.operations = new java.util.ArrayList<BlockableOperation>(_list171.size);
            @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable BlockableOperation _elem172;
            for (int _i173 = 0; _i173 < _list171.size; ++_i173)
            {
              _elem172 = org.apache.amoro.api.BlockableOperation.findByValue(iprot.readI32());
              if (_elem172 != null)
              {
                struct.operations.add(_elem172);
              }
            }
          }
          struct.setOperationsIsSet(true);
        }
        if (incoming.get(2)) {
          {
            org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMap _map174 = iprot.readMapBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING); 
            struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map174.size);
            @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String _key175;
            @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String _val176;
            for (int _i177 = 0; _i177 < _map174.size; ++_i177)
            {
              _key175 = iprot.readString();
              _val176 = iprot.readString();
              struct.properties.put(_key175, _val176);
            }
          }
          struct.setPropertiesIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class block_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<block_result, block_result._Fields>, java.io.Serializable, Cloneable, Comparable<block_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("block_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E1_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e1", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new block_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new block_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable Blocker success; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.OperationConflictException e1; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E1((short)1, "e1");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E1
            return E1;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, Blocker.class)));
      tmpMap.put(_Fields.E1, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.OperationConflictException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(block_result.class, metaDataMap);
    }

    public block_result() {
    }

    public block_result(
      Blocker success,
      org.apache.amoro.api.OperationConflictException e1)
    {
      this();
      this.success = success;
      this.e1 = e1;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public block_result(block_result other) {
      if (other.isSetSuccess()) {
        this.success = new Blocker(other.success);
      }
      if (other.isSetE1()) {
        this.e1 = new org.apache.amoro.api.OperationConflictException(other.e1);
      }
    }

    @Override
    public block_result deepCopy() {
      return new block_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.e1 = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public Blocker getSuccess() {
      return this.success;
    }

    public block_result setSuccess(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable Blocker success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

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

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.OperationConflictException getE1() {
      return this.e1;
    }

    public block_result setE1(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.OperationConflictException e1) {
      this.e1 = e1;
      return this;
    }

    public void unsetE1() {
      this.e1 = null;
    }

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

    public void setE1IsSet(boolean value) {
      if (!value) {
        this.e1 = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Blocker)value);
        }
        break;

      case E1:
        if (value == null) {
          unsetE1();
        } else {
          setE1((org.apache.amoro.api.OperationConflictException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E1:
        return getE1();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E1:
        return isSetE1();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_e1 = true && this.isSetE1();
      boolean that_present_e1 = true && that.isSetE1();
      if (this_present_e1 || that_present_e1) {
        if (!(this_present_e1 && that_present_e1))
          return false;
        if (!this.e1.equals(that.e1))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((isSetE1()) ? 131071 : 524287);
      if (isSetE1())
        hashCode = hashCode * 8191 + e1.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE1(), other.isSetE1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE1()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e1, other.e1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e1:");
      if (this.e1 == null) {
        sb.append("null");
      } else {
        sb.append(this.e1);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class block_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public block_resultStandardScheme getScheme() {
        return new block_resultStandardScheme();
      }
    }

    private static class block_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<block_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, block_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.success = new Blocker();
                struct.success.read(iprot);
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E1
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e1 = new org.apache.amoro.api.OperationConflictException();
                struct.e1.read(iprot);
                struct.setE1IsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, block_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.e1 != null) {
          oprot.writeFieldBegin(E1_FIELD_DESC);
          struct.e1.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class block_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public block_resultTupleScheme getScheme() {
        return new block_resultTupleScheme();
      }
    }

    private static class block_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<block_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, block_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetE1()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
        if (struct.isSetE1()) {
          struct.e1.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, block_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new Blocker();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.e1 = new org.apache.amoro.api.OperationConflictException();
          struct.e1.read(iprot);
          struct.setE1IsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class releaseBlocker_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<releaseBlocker_args, releaseBlocker_args._Fields>, java.io.Serializable, Cloneable, Comparable<releaseBlocker_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("releaseBlocker_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TABLE_IDENTIFIER_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField BLOCKER_ID_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("blockerId", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new releaseBlocker_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new releaseBlocker_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String blockerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      TABLE_IDENTIFIER((short)1, "tableIdentifier"),
      BLOCKER_ID((short)2, "blockerId");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_IDENTIFIER
            return TABLE_IDENTIFIER;
          case 2: // BLOCKER_ID
            return BLOCKER_ID;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
      tmpMap.put(_Fields.BLOCKER_ID, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("blockerId", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(releaseBlocker_args.class, metaDataMap);
    }

    public releaseBlocker_args() {
    }

    public releaseBlocker_args(
      org.apache.amoro.api.TableIdentifier tableIdentifier,
      java.lang.String blockerId)
    {
      this();
      this.tableIdentifier = tableIdentifier;
      this.blockerId = blockerId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public releaseBlocker_args(releaseBlocker_args other) {
      if (other.isSetTableIdentifier()) {
        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
      }
      if (other.isSetBlockerId()) {
        this.blockerId = other.blockerId;
      }
    }

    @Override
    public releaseBlocker_args deepCopy() {
      return new releaseBlocker_args(this);
    }

    @Override
    public void clear() {
      this.tableIdentifier = null;
      this.blockerId = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
      return this.tableIdentifier;
    }

    public releaseBlocker_args setTableIdentifier(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
      this.tableIdentifier = tableIdentifier;
      return this;
    }

    public void unsetTableIdentifier() {
      this.tableIdentifier = null;
    }

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

    public void setTableIdentifierIsSet(boolean value) {
      if (!value) {
        this.tableIdentifier = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getBlockerId() {
      return this.blockerId;
    }

    public releaseBlocker_args setBlockerId(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String blockerId) {
      this.blockerId = blockerId;
      return this;
    }

    public void unsetBlockerId() {
      this.blockerId = null;
    }

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

    public void setBlockerIdIsSet(boolean value) {
      if (!value) {
        this.blockerId = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TABLE_IDENTIFIER:
        if (value == null) {
          unsetTableIdentifier();
        } else {
          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
        }
        break;

      case BLOCKER_ID:
        if (value == null) {
          unsetBlockerId();
        } else {
          setBlockerId((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_IDENTIFIER:
        return getTableIdentifier();

      case BLOCKER_ID:
        return getBlockerId();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TABLE_IDENTIFIER:
        return isSetTableIdentifier();
      case BLOCKER_ID:
        return isSetBlockerId();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_tableIdentifier = true && this.isSetTableIdentifier();
      boolean that_present_tableIdentifier = true && that.isSetTableIdentifier();
      if (this_present_tableIdentifier || that_present_tableIdentifier) {
        if (!(this_present_tableIdentifier && that_present_tableIdentifier))
          return false;
        if (!this.tableIdentifier.equals(that.tableIdentifier))
          return false;
      }

      boolean this_present_blockerId = true && this.isSetBlockerId();
      boolean that_present_blockerId = true && that.isSetBlockerId();
      if (this_present_blockerId || that_present_blockerId) {
        if (!(this_present_blockerId && that_present_blockerId))
          return false;
        if (!this.blockerId.equals(that.blockerId))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetTableIdentifier()) ? 131071 : 524287);
      if (isSetTableIdentifier())
        hashCode = hashCode * 8191 + tableIdentifier.hashCode();

      hashCode = hashCode * 8191 + ((isSetBlockerId()) ? 131071 : 524287);
      if (isSetBlockerId())
        hashCode = hashCode * 8191 + blockerId.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTableIdentifier(), other.isSetTableIdentifier());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableIdentifier()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.tableIdentifier, other.tableIdentifier);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetBlockerId(), other.isSetBlockerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBlockerId()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.blockerId, other.blockerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("tableIdentifier:");
      if (this.tableIdentifier == null) {
        sb.append("null");
      } else {
        sb.append(this.tableIdentifier);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("blockerId:");
      if (this.blockerId == null) {
        sb.append("null");
      } else {
        sb.append(this.blockerId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableIdentifier != null) {
        tableIdentifier.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class releaseBlocker_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public releaseBlocker_argsStandardScheme getScheme() {
        return new releaseBlocker_argsStandardScheme();
      }
    }

    private static class releaseBlocker_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<releaseBlocker_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, releaseBlocker_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_IDENTIFIER
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                struct.tableIdentifier.read(iprot);
                struct.setTableIdentifierIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // BLOCKER_ID
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.blockerId = iprot.readString();
                struct.setBlockerIdIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, releaseBlocker_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableIdentifier != null) {
          oprot.writeFieldBegin(TABLE_IDENTIFIER_FIELD_DESC);
          struct.tableIdentifier.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.blockerId != null) {
          oprot.writeFieldBegin(BLOCKER_ID_FIELD_DESC);
          oprot.writeString(struct.blockerId);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class releaseBlocker_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public releaseBlocker_argsTupleScheme getScheme() {
        return new releaseBlocker_argsTupleScheme();
      }
    }

    private static class releaseBlocker_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<releaseBlocker_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, releaseBlocker_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTableIdentifier()) {
          optionals.set(0);
        }
        if (struct.isSetBlockerId()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetTableIdentifier()) {
          struct.tableIdentifier.write(oprot);
        }
        if (struct.isSetBlockerId()) {
          oprot.writeString(struct.blockerId);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, releaseBlocker_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
          struct.tableIdentifier.read(iprot);
          struct.setTableIdentifierIsSet(true);
        }
        if (incoming.get(1)) {
          struct.blockerId = iprot.readString();
          struct.setBlockerIdIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class releaseBlocker_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<releaseBlocker_result, releaseBlocker_result._Fields>, java.io.Serializable, Cloneable, Comparable<releaseBlocker_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("releaseBlocker_result");


    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new releaseBlocker_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new releaseBlocker_resultTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
;

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(releaseBlocker_result.class, metaDataMap);
    }

    public releaseBlocker_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public releaseBlocker_result(releaseBlocker_result other) {
    }

    @Override
    public releaseBlocker_result deepCopy() {
      return new releaseBlocker_result(this);
    }

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      return true;
    }

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

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

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

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

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

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

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class releaseBlocker_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public releaseBlocker_resultStandardScheme getScheme() {
        return new releaseBlocker_resultStandardScheme();
      }
    }

    private static class releaseBlocker_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<releaseBlocker_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, releaseBlocker_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, releaseBlocker_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class releaseBlocker_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public releaseBlocker_resultTupleScheme getScheme() {
        return new releaseBlocker_resultTupleScheme();
      }
    }

    private static class releaseBlocker_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<releaseBlocker_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, releaseBlocker_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, releaseBlocker_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class renewBlocker_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<renewBlocker_args, renewBlocker_args._Fields>, java.io.Serializable, Cloneable, Comparable<renewBlocker_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("renewBlocker_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TABLE_IDENTIFIER_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField BLOCKER_ID_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("blockerId", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new renewBlocker_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new renewBlocker_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String blockerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      TABLE_IDENTIFIER((short)1, "tableIdentifier"),
      BLOCKER_ID((short)2, "blockerId");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_IDENTIFIER
            return TABLE_IDENTIFIER;
          case 2: // BLOCKER_ID
            return BLOCKER_ID;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
      tmpMap.put(_Fields.BLOCKER_ID, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("blockerId", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(renewBlocker_args.class, metaDataMap);
    }

    public renewBlocker_args() {
    }

    public renewBlocker_args(
      org.apache.amoro.api.TableIdentifier tableIdentifier,
      java.lang.String blockerId)
    {
      this();
      this.tableIdentifier = tableIdentifier;
      this.blockerId = blockerId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public renewBlocker_args(renewBlocker_args other) {
      if (other.isSetTableIdentifier()) {
        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
      }
      if (other.isSetBlockerId()) {
        this.blockerId = other.blockerId;
      }
    }

    @Override
    public renewBlocker_args deepCopy() {
      return new renewBlocker_args(this);
    }

    @Override
    public void clear() {
      this.tableIdentifier = null;
      this.blockerId = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
      return this.tableIdentifier;
    }

    public renewBlocker_args setTableIdentifier(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
      this.tableIdentifier = tableIdentifier;
      return this;
    }

    public void unsetTableIdentifier() {
      this.tableIdentifier = null;
    }

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

    public void setTableIdentifierIsSet(boolean value) {
      if (!value) {
        this.tableIdentifier = null;
      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.lang.String getBlockerId() {
      return this.blockerId;
    }

    public renewBlocker_args setBlockerId(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String blockerId) {
      this.blockerId = blockerId;
      return this;
    }

    public void unsetBlockerId() {
      this.blockerId = null;
    }

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

    public void setBlockerIdIsSet(boolean value) {
      if (!value) {
        this.blockerId = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TABLE_IDENTIFIER:
        if (value == null) {
          unsetTableIdentifier();
        } else {
          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
        }
        break;

      case BLOCKER_ID:
        if (value == null) {
          unsetBlockerId();
        } else {
          setBlockerId((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_IDENTIFIER:
        return getTableIdentifier();

      case BLOCKER_ID:
        return getBlockerId();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TABLE_IDENTIFIER:
        return isSetTableIdentifier();
      case BLOCKER_ID:
        return isSetBlockerId();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_tableIdentifier = true && this.isSetTableIdentifier();
      boolean that_present_tableIdentifier = true && that.isSetTableIdentifier();
      if (this_present_tableIdentifier || that_present_tableIdentifier) {
        if (!(this_present_tableIdentifier && that_present_tableIdentifier))
          return false;
        if (!this.tableIdentifier.equals(that.tableIdentifier))
          return false;
      }

      boolean this_present_blockerId = true && this.isSetBlockerId();
      boolean that_present_blockerId = true && that.isSetBlockerId();
      if (this_present_blockerId || that_present_blockerId) {
        if (!(this_present_blockerId && that_present_blockerId))
          return false;
        if (!this.blockerId.equals(that.blockerId))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetTableIdentifier()) ? 131071 : 524287);
      if (isSetTableIdentifier())
        hashCode = hashCode * 8191 + tableIdentifier.hashCode();

      hashCode = hashCode * 8191 + ((isSetBlockerId()) ? 131071 : 524287);
      if (isSetBlockerId())
        hashCode = hashCode * 8191 + blockerId.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTableIdentifier(), other.isSetTableIdentifier());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableIdentifier()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.tableIdentifier, other.tableIdentifier);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetBlockerId(), other.isSetBlockerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBlockerId()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.blockerId, other.blockerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("tableIdentifier:");
      if (this.tableIdentifier == null) {
        sb.append("null");
      } else {
        sb.append(this.tableIdentifier);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("blockerId:");
      if (this.blockerId == null) {
        sb.append("null");
      } else {
        sb.append(this.blockerId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableIdentifier != null) {
        tableIdentifier.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class renewBlocker_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public renewBlocker_argsStandardScheme getScheme() {
        return new renewBlocker_argsStandardScheme();
      }
    }

    private static class renewBlocker_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<renewBlocker_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, renewBlocker_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_IDENTIFIER
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                struct.tableIdentifier.read(iprot);
                struct.setTableIdentifierIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // BLOCKER_ID
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRING) {
                struct.blockerId = iprot.readString();
                struct.setBlockerIdIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, renewBlocker_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableIdentifier != null) {
          oprot.writeFieldBegin(TABLE_IDENTIFIER_FIELD_DESC);
          struct.tableIdentifier.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.blockerId != null) {
          oprot.writeFieldBegin(BLOCKER_ID_FIELD_DESC);
          oprot.writeString(struct.blockerId);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class renewBlocker_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public renewBlocker_argsTupleScheme getScheme() {
        return new renewBlocker_argsTupleScheme();
      }
    }

    private static class renewBlocker_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<renewBlocker_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, renewBlocker_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTableIdentifier()) {
          optionals.set(0);
        }
        if (struct.isSetBlockerId()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetTableIdentifier()) {
          struct.tableIdentifier.write(oprot);
        }
        if (struct.isSetBlockerId()) {
          oprot.writeString(struct.blockerId);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, renewBlocker_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
          struct.tableIdentifier.read(iprot);
          struct.setTableIdentifierIsSet(true);
        }
        if (incoming.get(1)) {
          struct.blockerId = iprot.readString();
          struct.setBlockerIdIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class renewBlocker_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<renewBlocker_result, renewBlocker_result._Fields>, java.io.Serializable, Cloneable, Comparable<renewBlocker_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("renewBlocker_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.I64, (short)0);
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("e", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new renewBlocker_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new renewBlocker_resultTupleSchemeFactory();

    public long success; // required
    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldValueMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.E, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("e", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(renewBlocker_result.class, metaDataMap);
    }

    public renewBlocker_result() {
    }

    public renewBlocker_result(
      long success,
      org.apache.amoro.api.NoSuchObjectException e)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public renewBlocker_result(renewBlocker_result other) {
      __isset_bitfield = other.__isset_bitfield;
      this.success = other.success;
      if (other.isSetE()) {
        this.e = new org.apache.amoro.api.NoSuchObjectException(other.e);
      }
    }

    @Override
    public renewBlocker_result deepCopy() {
      return new renewBlocker_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
      this.e = null;
    }

    public long getSuccess() {
      return this.success;
    }

    public renewBlocker_result setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
      return this;
    }

    public void unsetSuccess() {
      __isset_bitfield = org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bitfield = org.apache.amoro.shade.thrift.org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.NoSuchObjectException getE() {
      return this.e;
    }

    public renewBlocker_result setE(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e) {
      this.e = e;
      return this;
    }

    public void unsetE() {
      this.e = null;
    }

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

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.lang.Long)value);
        }
        break;

      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((org.apache.amoro.api.NoSuchObjectException)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E:
        return getE();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E:
        return isSetE();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.hashCode(success);

      hashCode = hashCode * 8191 + ((isSetE()) ? 131071 : 524287);
      if (isSetE())
        hashCode = hashCode * 8191 + e.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(isSetE(), other.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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 {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class renewBlocker_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public renewBlocker_resultStandardScheme getScheme() {
        return new renewBlocker_resultStandardScheme();
      }
    }

    private static class renewBlocker_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<renewBlocker_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, renewBlocker_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.I64) {
                struct.success = iprot.readI64();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.e = new org.apache.amoro.api.NoSuchObjectException();
                struct.e.read(iprot);
                struct.setEIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, renewBlocker_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.isSetSuccess()) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeI64(struct.success);
          oprot.writeFieldEnd();
        }
        if (struct.e != null) {
          oprot.writeFieldBegin(E_FIELD_DESC);
          struct.e.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class renewBlocker_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public renewBlocker_resultTupleScheme getScheme() {
        return new renewBlocker_resultTupleScheme();
      }
    }

    private static class renewBlocker_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<renewBlocker_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, renewBlocker_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetE()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          oprot.writeI64(struct.success);
        }
        if (struct.isSetE()) {
          struct.e.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, renewBlocker_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = iprot.readI64();
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.e = new org.apache.amoro.api.NoSuchObjectException();
          struct.e.read(iprot);
          struct.setEIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getBlockers_args implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getBlockers_args, getBlockers_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBlockers_args>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getBlockers_args");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField TABLE_IDENTIFIER_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBlockers_argsStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBlockers_argsTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      TABLE_IDENTIFIER((short)1, "tableIdentifier");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_IDENTIFIER
            return TABLE_IDENTIFIER;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlockers_args.class, metaDataMap);
    }

    public getBlockers_args() {
    }

    public getBlockers_args(
      org.apache.amoro.api.TableIdentifier tableIdentifier)
    {
      this();
      this.tableIdentifier = tableIdentifier;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBlockers_args(getBlockers_args other) {
      if (other.isSetTableIdentifier()) {
        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
      }
    }

    @Override
    public getBlockers_args deepCopy() {
      return new getBlockers_args(this);
    }

    @Override
    public void clear() {
      this.tableIdentifier = null;
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
      return this.tableIdentifier;
    }

    public getBlockers_args setTableIdentifier(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
      this.tableIdentifier = tableIdentifier;
      return this;
    }

    public void unsetTableIdentifier() {
      this.tableIdentifier = null;
    }

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

    public void setTableIdentifierIsSet(boolean value) {
      if (!value) {
        this.tableIdentifier = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TABLE_IDENTIFIER:
        if (value == null) {
          unsetTableIdentifier();
        } else {
          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_IDENTIFIER:
        return getTableIdentifier();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case TABLE_IDENTIFIER:
        return isSetTableIdentifier();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_tableIdentifier = true && this.isSetTableIdentifier();
      boolean that_present_tableIdentifier = true && that.isSetTableIdentifier();
      if (this_present_tableIdentifier || that_present_tableIdentifier) {
        if (!(this_present_tableIdentifier && that_present_tableIdentifier))
          return false;
        if (!this.tableIdentifier.equals(that.tableIdentifier))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetTableIdentifier()) ? 131071 : 524287);
      if (isSetTableIdentifier())
        hashCode = hashCode * 8191 + tableIdentifier.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetTableIdentifier(), other.isSetTableIdentifier());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableIdentifier()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.tableIdentifier, other.tableIdentifier);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("tableIdentifier:");
      if (this.tableIdentifier == null) {
        sb.append("null");
      } else {
        sb.append(this.tableIdentifier);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableIdentifier != null) {
        tableIdentifier.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getBlockers_argsStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getBlockers_argsStandardScheme getScheme() {
        return new getBlockers_argsStandardScheme();
      }
    }

    private static class getBlockers_argsStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getBlockers_args> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getBlockers_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_IDENTIFIER
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                struct.tableIdentifier.read(iprot);
                struct.setTableIdentifierIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getBlockers_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableIdentifier != null) {
          oprot.writeFieldBegin(TABLE_IDENTIFIER_FIELD_DESC);
          struct.tableIdentifier.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getBlockers_argsTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getBlockers_argsTupleScheme getScheme() {
        return new getBlockers_argsTupleScheme();
      }
    }

    private static class getBlockers_argsTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getBlockers_args> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getBlockers_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetTableIdentifier()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableIdentifier()) {
          struct.tableIdentifier.write(oprot);
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getBlockers_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
          struct.tableIdentifier.read(iprot);
          struct.setTableIdentifierIsSet(true);
        }
      }
    }

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

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getBlockers_result implements org.apache.amoro.shade.thrift.org.apache.thrift.TBase<getBlockers_result, getBlockers_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBlockers_result>   {
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("getBlockers_result");

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField("success", org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, (short)0);

    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBlockers_resultStandardSchemeFactory();
    private static final org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBlockers_resultTupleSchemeFactory();

    public @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<Blocker> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.amoro.shade.thrift.org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      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.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          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.amoro.shade.thrift.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;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

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

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData("success", org.apache.amoro.shade.thrift.org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.ListMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST, 
              new org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.StructMetaData(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, Blocker.class))));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.amoro.shade.thrift.org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlockers_result.class, metaDataMap);
    }

    public getBlockers_result() {
    }

    public getBlockers_result(
      java.util.List<Blocker> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBlockers_result(getBlockers_result other) {
      if (other.isSetSuccess()) {
        java.util.List<Blocker> __this__success = new java.util.ArrayList<Blocker>(other.success.size());
        for (Blocker other_element : other.success) {
          __this__success.add(new Blocker(other_element));
        }
        this.success = __this__success;
      }
    }

    @Override
    public getBlockers_result deepCopy() {
      return new getBlockers_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

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

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.Iterator<Blocker> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Blocker elem) {
      if (this.success == null) {
        this.success = new java.util.ArrayList<Blocker>();
      }
      this.success.add(elem);
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    public java.util.List<Blocker> getSuccess() {
      return this.success;
    }

    public getBlockers_result setSuccess(@org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.util.List<Blocker> success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

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

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((java.util.List<Blocker>)value);
        }
        break;

      }
    }

    @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new java.lang.IllegalStateException();
    }

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

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

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

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

      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
      if (isSetSuccess())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.amoro.shade.thrift.org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

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

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

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

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

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.amoro.shade.thrift.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.amoro.shade.thrift.org.apache.thrift.protocol.TCompactProtocol(new org.apache.amoro.shade.thrift.org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.amoro.shade.thrift.org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getBlockers_resultStandardSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getBlockers_resultStandardScheme getScheme() {
        return new getBlockers_resultStandardScheme();
      }
    }

    private static class getBlockers_resultStandardScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.StandardScheme<getBlockers_result> {

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, getBlockers_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list178 = iprot.readListBegin();
                  struct.success = new java.util.ArrayList<Blocker>(_list178.size);
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable Blocker _elem179;
                  for (int _i180 = 0; _i180 < _list178.size; ++_i180)
                  {
                    _elem179 = new Blocker();
                    _elem179.read(iprot);
                    struct.success.add(_elem179);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.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();
      }

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol oprot, getBlockers_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
            for (Blocker _iter181 : struct.success)
            {
              _iter181.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getBlockers_resultTupleSchemeFactory implements org.apache.amoro.shade.thrift.org.apache.thrift.scheme.SchemeFactory {
      @Override
      public getBlockers_resultTupleScheme getScheme() {
        return new getBlockers_resultTupleScheme();
      }
    }

    private static class getBlockers_resultTupleScheme extends org.apache.amoro.shade.thrift.org.apache.thrift.scheme.TupleScheme<getBlockers_result> {

      @Override
      public void write(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getBlockers_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (Blocker _iter182 : struct.success)
            {
              _iter182.write(oprot);
            }
          }
        }
      }

      @Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, getBlockers_result struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          {
            org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list183 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT);
            struct.success = new java.util.ArrayList<Blocker>(_list183.size);
            @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable Blocker _elem184;
            for (int _i185 = 0; _i185 < _list183.size; ++_i185)
            {
              _elem184 = new Blocker();
              _elem184.read(iprot);
              struct.success.add(_elem184);
            }
          }
          struct.setSuccessIsSet(true);
        }
      }
    }

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

}
