public abstract class AbstractFilterParams extends java.lang.Object implements FilterParams
FilterParams.FilterParams.RowLock, FilterParams.RowLockOptions| Modifier and Type | Field and Description |
|---|---|
protected MysqlxDatatypes.Scalar[] |
args |
protected MysqlxCrud.Collection |
collection |
protected java.lang.String |
criteriaStr |
protected java.util.List<MysqlxCrud.Projection> |
fields |
protected java.lang.String[] |
groupBy |
protected boolean |
isRelational |
protected java.lang.Long |
limit |
protected FilterParams.RowLock |
lock |
protected FilterParams.RowLockOptions |
lockOption |
protected java.lang.Long |
offset |
protected java.lang.String[] |
orderExpr |
protected java.lang.String[] |
projection |
protected boolean |
supportsOffset |
| Constructor and Description |
|---|
AbstractFilterParams(java.lang.String schemaName,
java.lang.String collectionName,
boolean supportsOffset,
boolean isRelational)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addArg(java.lang.String name,
java.lang.Object value)
Set binding.
|
void |
clearArgs()
Remove all current bindings.
|
java.lang.Object |
getArgs()
Get binding arguments.
|
java.lang.Object |
getCollection()
Get X Protocol Collection object.
|
java.lang.Object |
getCriteria()
Get the search criteria.
|
java.lang.Object |
getFields()
Get X Protocol Projection objects.
|
java.lang.Object |
getGrouping()
Get X Protocol Expr objects for groupBy.
|
java.lang.Object |
getGroupingCriteria()
Get X Protocol Expr objects for grouping criteria.
|
java.lang.Long |
getLimit()
Get max number of rows to filter.
|
FilterParams.RowLock |
getLock()
Get
FilterParams.RowLock value. |
FilterParams.RowLockOptions |
getLockOption()
Get
FilterParams.RowLockOptions value. |
java.lang.Long |
getOffset()
Get number of rows to skip before finding others.
|
java.lang.Object |
getOrder()
Get X Protocol Order objects.
|
boolean |
isRelational()
Are relational columns identifiers allowed?
|
void |
setCriteria(java.lang.String criteriaString)
Parse criteriaString into X Protocol Expr object.
|
abstract void |
setFields(java.lang.String... projection)
Parse projection expressions into X Protocol Projection objects.
|
void |
setGrouping(java.lang.String... groupBy)
Parse groupBy expressions into X Protocol Expr objects.
|
void |
setGroupingCriteria(java.lang.String having)
Parse having expressions into X Protocol Expr objects.
|
void |
setLimit(java.lang.Long limit)
Set maximum rows to find.
|
void |
setLock(FilterParams.RowLock rowLock)
Set
FilterParams.RowLock value. |
void |
setLockOption(FilterParams.RowLockOptions lockOption)
Set
FilterParams.RowLockOptions value. |
void |
setOffset(java.lang.Long offset)
Set number of rows to skip before finding others.
|
void |
setOrder(java.lang.String... orderExpression)
Parse order expressions into X Protocol Order objects.
|
boolean |
supportsOffset()
Whether offset clause is supported in the statement or not.
|
void |
verifyAllArgsBound()
Verify that all arguments are bound.
|
protected MysqlxCrud.Collection collection
protected java.lang.Long limit
protected java.lang.Long offset
protected boolean supportsOffset
protected java.lang.String[] orderExpr
protected java.lang.String criteriaStr
protected MysqlxDatatypes.Scalar[] args
protected boolean isRelational
protected java.lang.String[] groupBy
protected java.lang.String[] projection
protected java.util.List<MysqlxCrud.Projection> fields
protected FilterParams.RowLock lock
protected FilterParams.RowLockOptions lockOption
public AbstractFilterParams(java.lang.String schemaName,
java.lang.String collectionName,
boolean supportsOffset,
boolean isRelational)
schemaName - Schema namecollectionName - Collection namesupportsOffset - Whether offset is supported or notisRelational - Are relational columns identifiers allowed?public java.lang.Object getCollection()
FilterParamsgetCollection in interface FilterParamspublic java.lang.Object getOrder()
FilterParamsgetOrder in interface FilterParamspublic void setOrder(java.lang.String... orderExpression)
FilterParams
DocResult docs = this.collection.find().orderBy("$._id").execute();
docs = this.collection.find().sort("$.x", "$.y").execute();
setOrder in interface FilterParamsorderExpression - order expressionspublic java.lang.Long getLimit()
FilterParamsgetLimit in interface FilterParamspublic void setLimit(java.lang.Long limit)
FilterParamsFor example, to find the 3 first rows:
docs = this.collection.find().orderBy("$._id").limit(3).execute();
setLimit in interface FilterParamslimit - maximum rows to findpublic java.lang.Long getOffset()
FilterParamsgetOffset in interface FilterParamspublic void setOffset(java.lang.Long offset)
FilterParamsFor example, to skip 1 row and find other 3 rows:
docs = this.collection.find().orderBy("$._id").limit(3).skip(1).execute();
setOffset in interface FilterParamsoffset - maximum rows to skippublic boolean supportsOffset()
FilterParamsNote that setting offset values is always possible, even if they are not supported.
supportsOffset in interface FilterParamstrue if offset clause is supportedpublic java.lang.Object getCriteria()
FilterParamsgetCriteria in interface FilterParamspublic void setCriteria(java.lang.String criteriaString)
FilterParams
docs = this.collection.find("$.x1 = 29 | 15").execute();
table.delete().where("age == 13").execute();
setCriteria in interface FilterParamscriteriaString - expressionpublic java.lang.Object getArgs()
FilterParamsgetArgs in interface FilterParamspublic void addArg(java.lang.String name,
java.lang.Object value)
FilterParams
this.collection.find("a = :arg1 or b = :arg2").bind("arg1", 1).bind("arg2", 2).execute();
addArg in interface FilterParamsname - bind keyvalue - bind valuepublic void verifyAllArgsBound()
FilterParamsWrongArgumentException if any placeholder argument is not bound.verifyAllArgsBound in interface FilterParamspublic void clearArgs()
FilterParamsclearArgs in interface FilterParamspublic boolean isRelational()
FilterParamsisRelational in interface FilterParamspublic abstract void setFields(java.lang.String... projection)
FilterParams
collection.find().fields("CAST($.x as SIGNED) as x").execute();
table.select("_id, name, birthday, age").execute();
table.select("age as age_group, count(name) as cnt, something").execute();
setFields in interface FilterParamsprojection - projection expressionpublic java.lang.Object getFields()
FilterParamsgetFields in interface FilterParamspublic void setGrouping(java.lang.String... groupBy)
FilterParams
SelectStatement stmt = table.select("age as age_group, count(name) as cnt, something");
stmt.groupBy("something", "age_group");
setGrouping in interface FilterParamsgroupBy - groupBy expressionpublic java.lang.Object getGrouping()
FilterParamsgetGrouping in interface FilterParamspublic void setGroupingCriteria(java.lang.String having)
FilterParams
SelectStatement stmt = table.select("age as age_group, count(name) as cnt, something");
stmt.groupBy("something", "age_group");
stmt.having("cnt > 1");
setGroupingCriteria in interface FilterParamshaving - having expressionpublic java.lang.Object getGroupingCriteria()
FilterParamsgetGroupingCriteria in interface FilterParamspublic FilterParams.RowLock getLock()
FilterParamsFilterParams.RowLock value.getLock in interface FilterParamsFilterParams.RowLockpublic void setLock(FilterParams.RowLock rowLock)
FilterParamsFilterParams.RowLock value.setLock in interface FilterParamsrowLock - FilterParams.RowLockpublic FilterParams.RowLockOptions getLockOption()
FilterParamsFilterParams.RowLockOptions value.getLockOption in interface FilterParamsFilterParams.RowLockOptionspublic void setLockOption(FilterParams.RowLockOptions lockOption)
FilterParamsFilterParams.RowLockOptions value.setLockOption in interface FilterParamslockOption - FilterParams.RowLockOptions