Top Description Fields Constructors Methods
com.mysql.cj.xdevapi

public abstract Class AbstractFilterParams

extends Object
implements FilterParams
Class Inheritance
All Implemented Interfaces
com.mysql.cj.xdevapi.FilterParams
Known Direct Subclasses
com.mysql.cj.xdevapi.DocFilterParams, com.mysql.cj.xdevapi.TableFilterParams
Imports
java.util.Arrays, .List, .Map, java.util.stream.Collectors, .IntStream, com.mysql.cj.exceptions.WrongArgumentException, com.mysql.cj.x.protobuf.MysqlxCrud.Collection, .MysqlxCrud.Order, .MysqlxCrud.Projection, .MysqlxDatatypes.Scalar, .MysqlxExpr.Expr

Abstract implementation of FilterParams.

Field Summary

Modifier and TypeField and Description
protected MysqlxDatatypes.Scalar[]
protected MysqlxCrud.Collection
private MysqlxExpr.Expr
protected String
protected List<MysqlxCrud.Projection>
protected String[]
private List<MysqlxExpr.Expr>
private MysqlxExpr.Expr
pack-priv String
protected boolean
protected Long
protected FilterParams.RowLock
protected FilterParams.RowLockOptions
protected Long
private List<MysqlxCrud.Order>
protected String[]
private Map<String, Integer>
protected String[]
protected boolean

Constructor Summary

AccessConstructor and Description
public
AbstractFilterParams(String
Schema name
schemaName
,
String
Collection name
collectionName
,
boolean
Whether offset is supported or not
supportsOffset
,
boolean
Are relational columns identifiers allowed?
isRelational
)

Constructor.

Method Summary

Modifier and TypeMethod and Description
public void
addArg(String
bind key
name
,
Object
bind value
value
)

Implements com.mysql.cj.xdevapi.FilterParams.addArg.

Set binding.

public void
clearArgs()

Implements com.mysql.cj.xdevapi.FilterParams.clearArgs.

Remove all current bindings.

public Object
getArgs()

Implements com.mysql.cj.xdevapi.FilterParams.getArgs.

Get binding arguments.

public Object
getCollection()

Implements com.mysql.cj.xdevapi.FilterParams.getCollection.

Get X Protocol Collection object.

public Object
getCriteria()

Implements com.mysql.cj.xdevapi.FilterParams.getCriteria.

Get the search criteria.

public Object
getFields()

Implements com.mysql.cj.xdevapi.FilterParams.getFields.

Get X Protocol Projection objects.

public Object
getGrouping()

Implements com.mysql.cj.xdevapi.FilterParams.getGrouping.

Get X Protocol Expr objects for groupBy.

public Object
getGroupingCriteria()

Implements com.mysql.cj.xdevapi.FilterParams.getGroupingCriteria.

Get X Protocol Expr objects for grouping criteria.

public Long
getLimit()

Implements com.mysql.cj.xdevapi.FilterParams.getLimit.

Get max number of rows to filter.

public FilterParams.RowLock
public FilterParams.RowLockOptions
public Long
getOffset()

Implements com.mysql.cj.xdevapi.FilterParams.getOffset.

Get number of rows to skip before finding others.

public Object
getOrder()

Implements com.mysql.cj.xdevapi.FilterParams.getOrder.

Get X Protocol Order objects.

public boolean
isRelational()

Implements com.mysql.cj.xdevapi.FilterParams.isRelational.

Are relational columns identifiers allowed?

public void
setCriteria(String
expression
criteriaString
)

Implements com.mysql.cj.xdevapi.FilterParams.setCriteria.

Parse criteriaString into X Protocol Expr object.

public abstract void
setFields(String...
projection expression
projection
)

Redeclares com.mysql.cj.xdevapi.FilterParams.setFields.

Parse projection expressions into X Protocol Projection objects.

public void
setGrouping(String...
groupBy expression
groupBy
)

Implements com.mysql.cj.xdevapi.FilterParams.setGrouping.

Parse groupBy expressions into X Protocol Expr objects.

public void
setGroupingCriteria(String
having expression
having
)

Implements com.mysql.cj.xdevapi.FilterParams.setGroupingCriteria.

Parse having expressions into X Protocol Expr objects.

public void
setLimit(Long
maximum rows to find
limit
)

Implements com.mysql.cj.xdevapi.FilterParams.setLimit.

Set maximum rows to find.

public void
public void
public void
setOffset(Long
maximum rows to skip
offset
)

Implements com.mysql.cj.xdevapi.FilterParams.setOffset.

Set number of rows to skip before finding others.

public void
setOrder(String...
order expressions
orderExpression
)

Implements com.mysql.cj.xdevapi.FilterParams.setOrder.

Parse order expressions into X Protocol Order objects.

public boolean
supportsOffset()

Implements com.mysql.cj.xdevapi.FilterParams.supportsOffset.

Whether offset clause is supported in the statement or not.

public void
verifyAllArgsBound()

Implements com.mysql.cj.xdevapi.FilterParams.verifyAllArgsBound.

Verify that all arguments are bound.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

argsback to summary
protected MysqlxDatatypes.Scalar[] args
collectionback to summary
protected MysqlxCrud.Collection collection
criteriaback to summary
private MysqlxExpr.Expr criteria
criteriaStrback to summary
protected String criteriaStr
fieldsback to summary
protected List<MysqlxCrud.Projection> fields
groupByback to summary
protected String[] groupBy
groupingback to summary
private List<MysqlxExpr.Expr> grouping
groupingCriteriaback to summary
private MysqlxExpr.Expr groupingCriteria
havingback to summary
pack-priv String having
isRelationalback to summary
protected boolean isRelational
limitback to summary
protected Long limit
lockback to summary
protected FilterParams.RowLock lock
lockOptionback to summary
protected FilterParams.RowLockOptions lockOption
offsetback to summary
protected Long offset
orderback to summary
private List<MysqlxCrud.Order> order
orderExprback to summary
protected String[] orderExpr
placeholderNameToPositionback to summary
private Map<String, Integer> placeholderNameToPosition
projectionback to summary
protected String[] projection
supportsOffsetback to summary
protected boolean supportsOffset

Constructor Detail

AbstractFilterParamsback to summary
public AbstractFilterParams(String schemaName, String collectionName, boolean supportsOffset, boolean isRelational)

Constructor.

Parameters
schemaName:String

Schema name

collectionName:String

Collection name

supportsOffset:boolean

Whether offset is supported or not

isRelational:boolean

Are relational columns identifiers allowed?

Method Detail

addArgback to summary
public void addArg(String name, Object value)

Implements com.mysql.cj.xdevapi.FilterParams.addArg.

Doc from com.mysql.cj.xdevapi.FilterParams.addArg.

Set binding.

this.collection.find("a = :arg1 or b = :arg2").bind("arg1", 1).bind("arg2", 2).execute();
Parameters
name:String

bind key

value:Object

bind value

Annotations
@Override
clearArgsback to summary
public void clearArgs()

Implements com.mysql.cj.xdevapi.FilterParams.clearArgs.

Doc from com.mysql.cj.xdevapi.FilterParams.clearArgs.

Remove all current bindings.

Annotations
@Override
getArgsback to summary
public Object getArgs()

Implements com.mysql.cj.xdevapi.FilterParams.getArgs.

Doc from com.mysql.cj.xdevapi.FilterParams.getArgs.

Get binding arguments.

Returns:Object

List of X Protocol Scalar object

Annotations
@Override
getCollectionback to summary
public Object getCollection()

Implements com.mysql.cj.xdevapi.FilterParams.getCollection.

Doc from com.mysql.cj.xdevapi.FilterParams.getCollection.

Get X Protocol Collection object.

Returns:Object

X Protocol Collection object

Annotations
@Override
getCriteriaback to summary
public Object getCriteria()

Implements com.mysql.cj.xdevapi.FilterParams.getCriteria.

Doc from com.mysql.cj.xdevapi.FilterParams.getCriteria.

Get the search criteria.

Returns:Object

X Protocol Expr object

Annotations
@Override
getFieldsback to summary
public Object getFields()

Implements com.mysql.cj.xdevapi.FilterParams.getFields.

Doc from com.mysql.cj.xdevapi.FilterParams.getFields.

Get X Protocol Projection objects.

Returns:Object

List of X Protocol Projection objects.

Annotations
@Override
getGroupingback to summary
public Object getGrouping()

Implements com.mysql.cj.xdevapi.FilterParams.getGrouping.

Doc from com.mysql.cj.xdevapi.FilterParams.getGrouping.

Get X Protocol Expr objects for groupBy.

Returns:Object

List of X Protocol Expr objects

Annotations
@Override
getGroupingCriteriaback to summary
public Object getGroupingCriteria()

Implements com.mysql.cj.xdevapi.FilterParams.getGroupingCriteria.

Doc from com.mysql.cj.xdevapi.FilterParams.getGroupingCriteria.

Get X Protocol Expr objects for grouping criteria.

Returns:Object

List of X Protocol Expr objects

Annotations
@Override
getLimitback to summary
public Long getLimit()

Implements com.mysql.cj.xdevapi.FilterParams.getLimit.

Doc from com.mysql.cj.xdevapi.FilterParams.getLimit.

Get max number of rows to filter.

Returns:Long

limit

Annotations
@Override
getLockback to summary
public FilterParams.RowLock getLock()

Implements com.mysql.cj.xdevapi.FilterParams.getLock.

Doc from com.mysql.cj.xdevapi.FilterParams.getLock.

Get RowLock value.

Returns:FilterParams.RowLock

RowLock

Annotations
@Override
getLockOptionback to summary
public FilterParams.RowLockOptions getLockOption()

Implements com.mysql.cj.xdevapi.FilterParams.getLockOption.

Doc from com.mysql.cj.xdevapi.FilterParams.getLockOption.

Get RowLockOptions value.

Returns:FilterParams.RowLockOptions

RowLockOptions

Annotations
@Override
getOffsetback to summary
public Long getOffset()

Implements com.mysql.cj.xdevapi.FilterParams.getOffset.

Doc from com.mysql.cj.xdevapi.FilterParams.getOffset.

Get number of rows to skip before finding others.

Returns:Long

maximum rows to skip

Annotations
@Override
getOrderback to summary
public Object getOrder()

Implements com.mysql.cj.xdevapi.FilterParams.getOrder.

Doc from com.mysql.cj.xdevapi.FilterParams.getOrder.

Get X Protocol Order objects.

Returns:Object

List of X Protocol Order objects

Annotations
@Override
isRelationalback to summary
public boolean isRelational()

Implements com.mysql.cj.xdevapi.FilterParams.isRelational.

Doc from com.mysql.cj.xdevapi.FilterParams.isRelational.

Are relational columns identifiers allowed?

Returns:boolean

true if allowed

Annotations
@Override
setCriteriaback to summary
public void setCriteria(String criteriaString)

Implements com.mysql.cj.xdevapi.FilterParams.setCriteria.

Doc from com.mysql.cj.xdevapi.FilterParams.setCriteria.

Parse criteriaString into X Protocol Expr object.

docs = this.collection.find("$.x1 = 29 | 15").execute();
table.delete().where("age == 13").execute();
Parameters
criteriaString:String

expression

Annotations
@Override
setFieldsback to summary
public abstract void setFields(String... projection)

Redeclares com.mysql.cj.xdevapi.FilterParams.setFields.

Doc from com.mysql.cj.xdevapi.FilterParams.setFields.

Parse 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();
Parameters
projection:String[]

projection expression

Annotations
@Override
setGroupingback to summary
public void setGrouping(String... groupBy)

Implements com.mysql.cj.xdevapi.FilterParams.setGrouping.

Doc from com.mysql.cj.xdevapi.FilterParams.setGrouping.

Parse 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");
Parameters
groupBy:String[]

groupBy expression

Annotations
@Override
setGroupingCriteriaback to summary
public void setGroupingCriteria(String having)

Implements com.mysql.cj.xdevapi.FilterParams.setGroupingCriteria.

Doc from com.mysql.cj.xdevapi.FilterParams.setGroupingCriteria.

Parse 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");
Parameters
having:String

having expression

Annotations
@Override
setLimitback to summary
public void setLimit(Long limit)

Implements com.mysql.cj.xdevapi.FilterParams.setLimit.

Doc from com.mysql.cj.xdevapi.FilterParams.setLimit.

Set maximum rows to find.

For example, to find the 3 first rows:

docs = this.collection.find().orderBy("$._id").limit(3).execute();
Parameters
limit:Long

maximum rows to find

Annotations
@Override
setLockback to summary
public void setLock(FilterParams.RowLock rowLock)

Implements com.mysql.cj.xdevapi.FilterParams.setLock.

Doc from com.mysql.cj.xdevapi.FilterParams.setLock.

Set RowLock value.

Parameters
rowLock:FilterParams.RowLock

RowLock

Annotations
@Override
setLockOptionback to summary
public void setLockOption(FilterParams.RowLockOptions lockOption)

Implements com.mysql.cj.xdevapi.FilterParams.setLockOption.

Doc from com.mysql.cj.xdevapi.FilterParams.setLockOption.

Set RowLockOptions value.

Parameters
lockOption:FilterParams.RowLockOptions

RowLockOptions

Annotations
@Override
setOffsetback to summary
public void setOffset(Long offset)

Implements com.mysql.cj.xdevapi.FilterParams.setOffset.

Doc from com.mysql.cj.xdevapi.FilterParams.setOffset.

Set 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();
Parameters
offset:Long

maximum rows to skip

Annotations
@Override
setOrderback to summary
public void setOrder(String... orderExpression)

Implements com.mysql.cj.xdevapi.FilterParams.setOrder.

Doc from com.mysql.cj.xdevapi.FilterParams.setOrder.

Parse order expressions into X Protocol Order objects.

DocResult docs = this.collection.find().orderBy("$._id").execute();
docs = this.collection.find().sort("$.x", "$.y").execute();
Parameters
orderExpression:String[]

order expressions

Annotations
@Override
supportsOffsetback to summary
public boolean supportsOffset()

Implements com.mysql.cj.xdevapi.FilterParams.supportsOffset.

Doc from com.mysql.cj.xdevapi.FilterParams.supportsOffset.

Whether offset clause is supported in the statement or not.

Note that setting offset values is always possible, even if they are not supported.

Returns:boolean

true if offset clause is supported

Annotations
@Override
verifyAllArgsBoundback to summary
public void verifyAllArgsBound()

Implements com.mysql.cj.xdevapi.FilterParams.verifyAllArgsBound.

Doc from com.mysql.cj.xdevapi.FilterParams.verifyAllArgsBound.

Verify that all arguments are bound. Throws WrongArgumentException if any placeholder argument is not bound.

Annotations
@Override