public class XMessageBuilder extends java.lang.Object implements MessageBuilder<XMessage>
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
XPLUGIN_NAMESPACE |
| Constructor and Description |
|---|
XMessageBuilder() |
| Modifier and Type | Method and Description |
|---|---|
private static void |
applyFilterParams(FilterParams filterParams,
java.util.function.Consumer<java.util.List<MysqlxCrud.Order>> setOrder,
java.util.function.Consumer<MysqlxCrud.Limit> setLimit,
java.util.function.Consumer<MysqlxExpr.Expr> setCriteria,
java.util.function.Consumer<java.util.List<MysqlxDatatypes.Scalar>> setArgs)
Apply the given filter params to the builder object (represented by the setter methods).
|
private static void |
applyFilterParams(FilterParams filterParams,
java.util.function.Consumer<java.util.List<MysqlxCrud.Order>> setOrder,
java.util.function.Consumer<MysqlxCrud.LimitExpr> setLimit,
java.util.function.Consumer<MysqlxExpr.Expr> setCriteria)
Apply the given filter params to the builder object (represented by the setter methods) using the variant that takes a
LimitExpr and no
Args. |
XMessage |
buildCapabilitiesGet() |
XMessage |
buildCapabilitiesSet(java.util.Map<java.lang.String,java.lang.Object> keyValuePair) |
XMessage |
buildClose() |
XMessage |
buildComQuery(XMessage sharedPacket,
Session sess,
PreparedQuery preparedQuery,
QueryBindings bindings,
java.lang.String characterEncoding) |
XMessage |
buildCreateCollection(java.lang.String schemaName,
java.lang.String collectionName) |
XMessage |
buildCreateCollection(java.lang.String schemaName,
java.lang.String collectionName,
Schema.CreateCollectionOptions options) |
XMessage |
buildCreateCollectionIndex(java.lang.String schemaName,
java.lang.String collectionName,
CreateIndexParams params) |
XMessage |
buildDelete(FilterParams filterParams)
Build an
XMessage for a non-prepared delete operation. |
XMessage |
buildDisableNotices(java.lang.String... notices) |
XMessage |
buildDocInsert(java.lang.String schemaName,
java.lang.String collectionName,
java.util.List<java.lang.String> json,
boolean upsert)
Build an
XMessage for a non-prepared doc insert operation. |
XMessage |
buildDocUpdate(FilterParams filterParams,
java.util.List<UpdateSpec> updates)
Build an
XMessage for a non-prepared doc update operation. |
XMessage |
buildDropCollection(java.lang.String schemaName,
java.lang.String collectionName) |
XMessage |
buildDropCollectionIndex(java.lang.String schemaName,
java.lang.String collectionName,
java.lang.String indexName) |
XMessage |
buildEnableNotices(java.lang.String... notices) |
XMessage |
buildExpectOpen() |
XMessage |
buildExternalAuthStart(java.lang.String database) |
XMessage |
buildFind(FilterParams filterParams)
Build an
XMessage for a non-prepared find operation. |
XMessage |
buildListNotices()
List the notices the server allows subscribing to.
|
XMessage |
buildListObjects(java.lang.String schemaName,
java.lang.String pattern)
List the objects in the given schema.
|
XMessage |
buildModifyCollectionOptions(java.lang.String schemaName,
java.lang.String collectionName,
Schema.ModifyCollectionOptions options) |
XMessage |
buildMysql41AuthContinue(java.lang.String user,
java.lang.String password,
byte[] salt,
java.lang.String database) |
XMessage |
buildMysql41AuthStart() |
XMessage |
buildPlainAuthStart(java.lang.String user,
java.lang.String password,
java.lang.String database) |
XMessage |
buildPrepareDeallocate(int preparedStatementId)
Build an
XMessage for deallocating a prepared statement. |
XMessage |
buildPrepareDelete(int preparedStatementId,
FilterParams filterParams)
Build an
XMessage for a prepared delete operation. |
XMessage |
buildPrepareDocUpdate(int preparedStatementId,
FilterParams filterParams,
java.util.List<UpdateSpec> updates)
Build an
XMessage for a prepared doc update operation. |
XMessage |
buildPrepareExecute(int preparedStatementId,
FilterParams filterParams)
Build an
XMessage for executing a prepared statement with the given filters. |
XMessage |
buildPrepareFind(int preparedStatementId,
FilterParams filterParams)
Build an
XMessage for a prepared find operation. |
XMessage |
buildPrepareRowUpdate(int preparedStatementId,
FilterParams filterParams,
UpdateParams updateParams)
Build an
XMessage for a prepared row update operation. |
XMessage |
buildPrepareSqlStatement(int preparedStatementId,
java.lang.String statement)
Build a Prepare message for a SQL statement.
|
XMessage |
buildRowInsert(java.lang.String schemaName,
java.lang.String tableName,
InsertParams insertParams)
Build an
XMessage for a non-prepared row insert operation. |
XMessage |
buildRowUpdate(FilterParams filterParams,
UpdateParams updateParams)
Build an
XMessage for a non-prepared row update operation. |
XMessage |
buildSessionResetAndClose() |
XMessage |
buildSessionResetKeepOpen() |
XMessage |
buildSha256MemoryAuthContinue(java.lang.String user,
java.lang.String password,
byte[] nonce,
java.lang.String database) |
XMessage |
buildSha256MemoryAuthStart() |
XMessage |
buildSqlStatement(java.lang.String statement)
Build a StmtExecute message for a SQL statement.
|
XMessage |
buildSqlStatement(java.lang.String statement,
java.util.List<java.lang.Object> args)
Build a StmtExecute message for a SQL statement.
|
private MysqlxSql.StmtExecute |
buildXpluginCommand(XpluginStatementCommand command,
MysqlxDatatypes.Any... args)
Build a StmtExecute message for an xplugin command.
|
private MysqlxCrud.Delete.Builder |
commonDeleteBuilder(FilterParams filterParams)
Initialize a
Delete.Builder with common data for prepared and non-prepared executions. |
private MysqlxCrud.Update.Builder |
commonDocUpdateBuilder(FilterParams filterParams,
java.util.List<UpdateSpec> updates)
Initialize an
Update.Builder for collection data model with common data for prepared and non-prepared executions. |
private MysqlxCrud.Find.Builder |
commonFindBuilder(FilterParams filterParams)
Initialize a
Find.Builder for collection data model with common data for prepared and non-prepared executions. |
private MysqlxCrud.Insert.Builder |
commonRowInsertBuilder(java.lang.String schemaName,
java.lang.String tableName,
InsertParams insertParams)
Initialize a
Insert.Builder for table data model with common data for prepared and non-prepared executions. |
private MysqlxCrud.Update.Builder |
commonRowUpdateBuilder(FilterParams filterParams,
UpdateParams updateParams)
Initialize an
Update.Builder for table data model with common data for prepared and non-prepared executions. |
private MysqlxSql.StmtExecute.Builder |
commonSqlStatementBuilder(java.lang.String statement)
Initialize a
StmtExecute.Builder with common data for prepared and non-prepared executions. |
private static final java.lang.String XPLUGIN_NAMESPACE
public XMessage buildCapabilitiesGet()
public XMessage buildCapabilitiesSet(java.util.Map<java.lang.String,java.lang.Object> keyValuePair)
public XMessage buildDocInsert(java.lang.String schemaName, java.lang.String collectionName, java.util.List<java.lang.String> json, boolean upsert)
XMessage for a non-prepared doc insert operation.schemaName - the schema namecollectionName - the collection namejson - the documents to insertupsert - Whether this is an upsert operation or notXMessage instanceprivate MysqlxCrud.Insert.Builder commonRowInsertBuilder(java.lang.String schemaName, java.lang.String tableName, InsertParams insertParams)
Insert.Builder for table data model with common data for prepared and non-prepared executions.schemaName - the schema nametableName - the table nameinsertParams - the parameters to insertInsert.Builder instancepublic XMessage buildRowInsert(java.lang.String schemaName, java.lang.String tableName, InsertParams insertParams)
XMessage for a non-prepared row insert operation.schemaName - the schema nametableName - the table nameinsertParams - the parameters to insertXMessage instanceprivate MysqlxCrud.Update.Builder commonDocUpdateBuilder(FilterParams filterParams, java.util.List<UpdateSpec> updates)
Update.Builder for collection data model with common data for prepared and non-prepared executions.filterParams - the filter parametersupdates - the updates specifications to performUpdate.Builder instancepublic XMessage buildDocUpdate(FilterParams filterParams, java.util.List<UpdateSpec> updates)
XMessage for a non-prepared doc update operation.filterParams - the filter parametersupdates - the updates specifications to performXMessage instancepublic XMessage buildPrepareDocUpdate(int preparedStatementId, FilterParams filterParams, java.util.List<UpdateSpec> updates)
XMessage for a prepared doc update operation.preparedStatementId - the prepared statement idfilterParams - the filter parametersupdates - the updates specifications to performXMessage instanceprivate MysqlxCrud.Update.Builder commonRowUpdateBuilder(FilterParams filterParams, UpdateParams updateParams)
Update.Builder for table data model with common data for prepared and non-prepared executions.filterParams - the filter parametersupdateParams - the update parametersUpdate.Builder instancepublic XMessage buildRowUpdate(FilterParams filterParams, UpdateParams updateParams)
XMessage for a non-prepared row update operation.filterParams - the filter parametersupdateParams - the update parametersXMessage instancepublic XMessage buildPrepareRowUpdate(int preparedStatementId, FilterParams filterParams, UpdateParams updateParams)
XMessage for a prepared row update operation.preparedStatementId - the prepared statement idfilterParams - the filter parametersupdateParams - the update parametersXMessage instanceprivate MysqlxCrud.Find.Builder commonFindBuilder(FilterParams filterParams)
Find.Builder for collection data model with common data for prepared and non-prepared executions.filterParams - the filter parametersFind.Builder instancepublic XMessage buildFind(FilterParams filterParams)
XMessage for a non-prepared find operation.filterParams - the filter parametersXMessage instancepublic XMessage buildPrepareFind(int preparedStatementId, FilterParams filterParams)
XMessage for a prepared find operation.preparedStatementId - the prepared statement idfilterParams - the filter parametersXMessage instanceprivate MysqlxCrud.Delete.Builder commonDeleteBuilder(FilterParams filterParams)
Delete.Builder with common data for prepared and non-prepared executions.filterParams - the filter parametersDelete.Builder instancepublic XMessage buildDelete(FilterParams filterParams)
XMessage for a non-prepared delete operation.filterParams - the filter parametersXMessage instancepublic XMessage buildPrepareDelete(int preparedStatementId, FilterParams filterParams)
XMessage for a prepared delete operation.preparedStatementId - the prepared statement idfilterParams - the filter parametersXMessage instanceprivate MysqlxSql.StmtExecute.Builder commonSqlStatementBuilder(java.lang.String statement)
StmtExecute.Builder with common data for prepared and non-prepared executions.statement - the SQL statementStmtExecute.Builder instancepublic XMessage buildSqlStatement(java.lang.String statement)
buildSqlStatement in interface MessageBuilder<XMessage>statement - SQL statement stringXMessage wrapping MysqlxSql.StmtExecutepublic XMessage buildSqlStatement(java.lang.String statement, java.util.List<java.lang.Object> args)
buildSqlStatement in interface MessageBuilder<XMessage>statement - SQL statement stringargs - list of Object argumentsXMessage wrapping MysqlxSql.StmtExecutepublic XMessage buildPrepareSqlStatement(int preparedStatementId, java.lang.String statement)
preparedStatementId - the prepared statement idstatement - SQL statement stringXMessage wrapping MysqlxSql.StmtExecuteprivate static void applyFilterParams(FilterParams filterParams, java.util.function.Consumer<java.util.List<MysqlxCrud.Order>> setOrder, java.util.function.Consumer<MysqlxCrud.Limit> setLimit, java.util.function.Consumer<MysqlxExpr.Expr> setCriteria, java.util.function.Consumer<java.util.List<MysqlxDatatypes.Scalar>> setArgs)
filterParams - the filter params to applysetOrder - the "builder.addAllOrder()" method referencesetLimit - the "builder.setLimit()" method referencesetCriteria - the "builder.setCriteria()" method referencesetArgs - the "builder.addAllArgs()" method referenceprivate static void applyFilterParams(FilterParams filterParams, java.util.function.Consumer<java.util.List<MysqlxCrud.Order>> setOrder, java.util.function.Consumer<MysqlxCrud.LimitExpr> setLimit, java.util.function.Consumer<MysqlxExpr.Expr> setCriteria)
LimitExpr and no
Args. This variant is suitable for building prepared statements prepare messages.
Abstract the process of setting the filter params on the operation message builder.filterParams - the filter params to applysetOrder - the "builder.addAllOrder()" method referencesetLimit - the "builder.setLimitExp()" method referencesetCriteria - the "builder.setCriteria()" method referencepublic XMessage buildPrepareExecute(int preparedStatementId, FilterParams filterParams)
XMessage for executing a prepared statement with the given filters.preparedStatementId - the prepared statement idfilterParams - the filter parameter valuesXMessage instancepublic XMessage buildPrepareDeallocate(int preparedStatementId)
XMessage for deallocating a prepared statement.preparedStatementId - the prepared statement idXMessage instancepublic XMessage buildCreateCollection(java.lang.String schemaName, java.lang.String collectionName, Schema.CreateCollectionOptions options)
public XMessage buildModifyCollectionOptions(java.lang.String schemaName, java.lang.String collectionName, Schema.ModifyCollectionOptions options)
public XMessage buildCreateCollection(java.lang.String schemaName, java.lang.String collectionName)
public XMessage buildDropCollection(java.lang.String schemaName, java.lang.String collectionName)
public XMessage buildClose()
buildClose in interface MessageBuilder<XMessage>public XMessage buildListObjects(java.lang.String schemaName, java.lang.String pattern)
| name | type | |---------------------+------------| | CollectionTest | COLLECTION | | some_view | VIEW | | xprotocol_test_test | TABLE |.
schemaName - schema namepattern - object name patternpublic XMessage buildEnableNotices(java.lang.String... notices)
public XMessage buildDisableNotices(java.lang.String... notices)
public XMessage buildListNotices()
| notice (string) | enabled (int) | |---------------------+---------------| | warnings | 1 |
public XMessage buildCreateCollectionIndex(java.lang.String schemaName, java.lang.String collectionName, CreateIndexParams params)
public XMessage buildDropCollectionIndex(java.lang.String schemaName, java.lang.String collectionName, java.lang.String indexName)
private MysqlxSql.StmtExecute buildXpluginCommand(XpluginStatementCommand command, MysqlxDatatypes.Any... args)
command - the xplugin command to sendargs - the arguments to the commandMysqlxSql.StmtExecutepublic XMessage buildSha256MemoryAuthStart()
public XMessage buildSha256MemoryAuthContinue(java.lang.String user, java.lang.String password, byte[] nonce, java.lang.String database)
public XMessage buildMysql41AuthStart()
public XMessage buildMysql41AuthContinue(java.lang.String user, java.lang.String password, byte[] salt, java.lang.String database)
public XMessage buildPlainAuthStart(java.lang.String user, java.lang.String password, java.lang.String database)
public XMessage buildExternalAuthStart(java.lang.String database)
public XMessage buildSessionResetAndClose()
public XMessage buildSessionResetKeepOpen()
public XMessage buildExpectOpen()
public XMessage buildComQuery(XMessage sharedPacket, Session sess, PreparedQuery preparedQuery, QueryBindings bindings, java.lang.String characterEncoding)
buildComQuery in interface MessageBuilder<XMessage>