Package com.mysql.cj.xdevapi
Class AbstractFilterParams
java.lang.Object
com.mysql.cj.xdevapi.AbstractFilterParams
- All Implemented Interfaces:
FilterParams
- Direct Known Subclasses:
DocFilterParams,TableFilterParams
public abstract class AbstractFilterParams extends java.lang.Object implements FilterParams
Abstract implementation of
FilterParams.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.mysql.cj.xdevapi.FilterParams
FilterParams.RowLock, FilterParams.RowLockOptions -
Field Summary
Fields Modifier and Type Field Description protected MysqlxDatatypes.Scalar[]argsprotected MysqlxCrud.Collectioncollectionprotected java.lang.StringcriteriaStrprotected java.util.List<MysqlxCrud.Projection>fieldsprotected java.lang.String[]groupByprotected booleanisRelationalprotected java.lang.Longlimitprotected FilterParams.RowLocklockprotected FilterParams.RowLockOptionslockOptionprotected java.lang.Longoffsetprotected java.lang.String[]orderExprprotected java.lang.String[]projectionprotected booleansupportsOffset -
Constructor Summary
Constructors Constructor Description AbstractFilterParams(java.lang.String schemaName, java.lang.String collectionName, boolean supportsOffset, boolean isRelational)Constructor. -
Method Summary
Modifier and Type Method Description voidaddArg(java.lang.String name, java.lang.Object value)Set binding.voidclearArgs()Remove all current bindings.java.lang.ObjectgetArgs()Get binding arguments.java.lang.ObjectgetCollection()Get X Protocol Collection object.java.lang.ObjectgetCriteria()Get the search criteria.java.lang.ObjectgetFields()Get X Protocol Projection objects.java.lang.ObjectgetGrouping()Get X Protocol Expr objects for groupBy.java.lang.ObjectgetGroupingCriteria()Get X Protocol Expr objects for grouping criteria.java.lang.LonggetLimit()Get max number of rows to filter.FilterParams.RowLockgetLock()GetFilterParams.RowLockvalue.FilterParams.RowLockOptionsgetLockOption()GetFilterParams.RowLockOptionsvalue.java.lang.LonggetOffset()Get number of rows to skip before finding others.java.lang.ObjectgetOrder()Get X Protocol Order objects.booleanisRelational()Are relational columns identifiers allowed?voidsetCriteria(java.lang.String criteriaString)Parse criteriaString into X Protocol Expr object.abstract voidsetFields(java.lang.String... projection)Parse projection expressions into X Protocol Projection objects.voidsetGrouping(java.lang.String... groupBy)Parse groupBy expressions into X Protocol Expr objects.voidsetGroupingCriteria(java.lang.String having)Parse having expressions into X Protocol Expr objects.voidsetLimit(java.lang.Long limit)Set maximum rows to find.voidsetLock(FilterParams.RowLock rowLock)SetFilterParams.RowLockvalue.voidsetLockOption(FilterParams.RowLockOptions lockOption)SetFilterParams.RowLockOptionsvalue.voidsetOffset(java.lang.Long offset)Set number of rows to skip before finding others.voidsetOrder(java.lang.String... orderExpression)Parse order expressions into X Protocol Order objects.booleansupportsOffset()Whether offset clause is supported in the statement or not.voidverifyAllArgsBound()Verify that all arguments are bound.
-
Field Details
-
collection
-
limit
protected java.lang.Long limit -
offset
protected java.lang.Long offset -
supportsOffset
protected boolean supportsOffset -
orderExpr
protected java.lang.String[] orderExpr -
criteriaStr
protected java.lang.String criteriaStr -
args
-
isRelational
protected boolean isRelational -
groupBy
protected java.lang.String[] groupBy -
projection
protected java.lang.String[] projection -
fields
-
lock
-
lockOption
-
-
Constructor Details
-
AbstractFilterParams
public AbstractFilterParams(java.lang.String schemaName, java.lang.String collectionName, boolean supportsOffset, boolean isRelational)Constructor.- Parameters:
schemaName- Schema namecollectionName- Collection namesupportsOffset- Whether offset is supported or notisRelational- Are relational columns identifiers allowed?
-
-
Method Details
-
getCollection
public java.lang.Object getCollection()Description copied from interface:FilterParamsGet X Protocol Collection object.- Specified by:
getCollectionin interfaceFilterParams- Returns:
- X Protocol Collection object
-
getOrder
public java.lang.Object getOrder()Description copied from interface:FilterParamsGet X Protocol Order objects.- Specified by:
getOrderin interfaceFilterParams- Returns:
- List of X Protocol Order objects
-
setOrder
public void setOrder(java.lang.String... orderExpression)Description copied from interface:FilterParamsParse order expressions into X Protocol Order objects.DocResult docs = this.collection.find().orderBy("$._id").execute(); docs = this.collection.find().sort("$.x", "$.y").execute();- Specified by:
setOrderin interfaceFilterParams- Parameters:
orderExpression- order expressions
-
getLimit
public java.lang.Long getLimit()Description copied from interface:FilterParamsGet max number of rows to filter.- Specified by:
getLimitin interfaceFilterParams- Returns:
- limit
-
setLimit
public void setLimit(java.lang.Long limit)Description copied from interface:FilterParamsSet maximum rows to find.For example, to find the 3 first rows:
docs = this.collection.find().orderBy("$._id").limit(3).execute();- Specified by:
setLimitin interfaceFilterParams- Parameters:
limit- maximum rows to find
-
getOffset
public java.lang.Long getOffset()Description copied from interface:FilterParamsGet number of rows to skip before finding others.- Specified by:
getOffsetin interfaceFilterParams- Returns:
- maximum rows to skip
-
setOffset
public void setOffset(java.lang.Long offset)Description copied from interface:FilterParamsSet number of rows to skip before finding others.For example, to skip 1 row and find other 3 rows:
docs = this.collection.find().orderBy("$._id").limit(3).skip(1).execute();- Specified by:
setOffsetin interfaceFilterParams- Parameters:
offset- maximum rows to skip
-
supportsOffset
public boolean supportsOffset()Description copied from interface:FilterParamsWhether offset clause is supported in the statement or not.Note that setting offset values is always possible, even if they are not supported.
- Specified by:
supportsOffsetin interfaceFilterParams- Returns:
trueif offset clause is supported
-
getCriteria
public java.lang.Object getCriteria()Description copied from interface:FilterParamsGet the search criteria.- Specified by:
getCriteriain interfaceFilterParams- Returns:
- X Protocol Expr object
-
setCriteria
public void setCriteria(java.lang.String criteriaString)Description copied from interface:FilterParamsParse criteriaString into X Protocol Expr object.docs = this.collection.find("$.x1 = 29 | 15").execute(); table.delete().where("age == 13").execute();- Specified by:
setCriteriain interfaceFilterParams- Parameters:
criteriaString- expression
-
getArgs
public java.lang.Object getArgs()Description copied from interface:FilterParamsGet binding arguments.- Specified by:
getArgsin interfaceFilterParams- Returns:
- List of X Protocol Scalar object
-
addArg
public void addArg(java.lang.String name, java.lang.Object value)Description copied from interface:FilterParamsSet binding.this.collection.find("a = :arg1 or b = :arg2").bind("arg1", 1).bind("arg2", 2).execute();- Specified by:
addArgin interfaceFilterParams- Parameters:
name- bind keyvalue- bind value
-
verifyAllArgsBound
public void verifyAllArgsBound()Description copied from interface:FilterParamsVerify that all arguments are bound. ThrowsWrongArgumentExceptionif any placeholder argument is not bound.- Specified by:
verifyAllArgsBoundin interfaceFilterParams
-
clearArgs
public void clearArgs()Description copied from interface:FilterParamsRemove all current bindings.- Specified by:
clearArgsin interfaceFilterParams
-
isRelational
public boolean isRelational()Description copied from interface:FilterParamsAre relational columns identifiers allowed?- Specified by:
isRelationalin interfaceFilterParams- Returns:
- true if allowed
-
setFields
public abstract void setFields(java.lang.String... projection)Description copied from interface:FilterParamsParse projection expressions into X Protocol Projection objects.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();- Specified by:
setFieldsin interfaceFilterParams- Parameters:
projection- projection expression
-
getFields
public java.lang.Object getFields()Description copied from interface:FilterParamsGet X Protocol Projection objects.- Specified by:
getFieldsin interfaceFilterParams- Returns:
- List of X Protocol Projection objects.
-
setGrouping
public void setGrouping(java.lang.String... groupBy)Description copied from interface:FilterParamsParse groupBy expressions into X Protocol Expr objects.SelectStatement stmt = table.select("age as age_group, count(name) as cnt, something"); stmt.groupBy("something", "age_group");- Specified by:
setGroupingin interfaceFilterParams- Parameters:
groupBy- groupBy expression
-
getGrouping
public java.lang.Object getGrouping()Description copied from interface:FilterParamsGet X Protocol Expr objects for groupBy.- Specified by:
getGroupingin interfaceFilterParams- Returns:
- List of X Protocol Expr objects
-
setGroupingCriteria
public void setGroupingCriteria(java.lang.String having)Description copied from interface:FilterParamsParse having expressions into X Protocol Expr objects.SelectStatement stmt = table.select("age as age_group, count(name) as cnt, something"); stmt.groupBy("something", "age_group"); stmt.having("cnt > 1");- Specified by:
setGroupingCriteriain interfaceFilterParams- Parameters:
having- having expression
-
getGroupingCriteria
public java.lang.Object getGroupingCriteria()Description copied from interface:FilterParamsGet X Protocol Expr objects for grouping criteria.- Specified by:
getGroupingCriteriain interfaceFilterParams- Returns:
- List of X Protocol Expr objects
-
getLock
Description copied from interface:FilterParamsGetFilterParams.RowLockvalue.- Specified by:
getLockin interfaceFilterParams- Returns:
FilterParams.RowLock
-
setLock
Description copied from interface:FilterParamsSetFilterParams.RowLockvalue.- Specified by:
setLockin interfaceFilterParams- Parameters:
rowLock-FilterParams.RowLock
-
getLockOption
Description copied from interface:FilterParamsGetFilterParams.RowLockOptionsvalue.- Specified by:
getLockOptionin interfaceFilterParams- Returns:
FilterParams.RowLockOptions
-
setLockOption
Description copied from interface:FilterParamsSetFilterParams.RowLockOptionsvalue.- Specified by:
setLockOptionin interfaceFilterParams- Parameters:
lockOption-FilterParams.RowLockOptions
-