Class Conditions
java.lang.Object
ch.tocco.nice2.persist.core.api.qb2.Conditions
This is a hub-class that defines some nice-to-have shortcuts but also collects
static methods from other places. The idea is to have a single import line to
access the query builder "dsl".
-
Method Summary
Modifier and TypeMethodDescriptionstatic Junctionstatic Junctionstatic ConditioncommaSeparatedListContains(String fieldName, String string, boolean orEmpty) Condition that checks whether the provided `string` is contained (exact match!) in a comma separated list to be found in field `fieldName`.static SubQuerystatic Conditionequation(Factor left, EquationNode.Operator op, Factor right) equations(Factor left, EquationNode.Operator op, Iterable<? extends Factor> right) Creates as many equation conditions asrightfactors are specified.static SubQueryCreates a newEXISTSsubquery to the given path.static SubQueryexistsNested(String path) If `path` involves multiple paths (like relFoo.relBar), create nested exists.static FieldDefCreates a newfield defintionthat can be used to create conditions starting from a field.static FieldDeffieldExists(String name) Same asfield(String)but uses (nested) exists statements.static Functionstatic Functionstatic ConditionisFalse()static ConditionisTrue()static Functionstatic Functionstatic Factorstatic Junctionstatic Junctionstatic Junctionstatic Junctionstatic Factorstatic Factorstatic ConditionprimaryKeyIn(Iterable<PrimaryKey> keys) static ConditionprimaryKeyIs(PrimaryKey key) static Conditionstatic Conditionstatic RelationDefCreates a newrelation definitionthat can be used to create conditions starting from a relation.static ConditionrelationTo(String relationPath, PrimaryKey key) Creates a condition that checks whether the givenrelationPathpoints to the entity specified bykey.static ConditionrelationToAll(String relationPath, Iterable<PrimaryKey> keys) Creates a condition that checks whether the givenrelationPathpoints to all entities given bykeys.static ConditionrelationToOne(String relationPath, Iterable<PrimaryKey> keys) Creates a condition that checks whether the givenrelationPathpoints to at least one of the entities specified bykeys.static UncorrelatedSubQuerysubSelect(String column, EntityModel model) Create an uncorrelated sub select that may select a column from an the provided entity model.
-
Method Details
-
equation
-
equations
public static Iterable<Condition> equations(Factor left, EquationNode.Operator op, Iterable<? extends Factor> right) Creates as many equation conditions asrightfactors are specified. -
and
-
and
-
or
-
or
-
not
-
not
-
function
-
fulltext
-
likeall
-
likeall
-
count
-
exists
Creates a newEXISTSsubquery to the given path. -
existsNested
If `path` involves multiple paths (like relFoo.relBar), create nested exists. Otherwise it is the same asSubQuery.exists(String). Example: instead of `exists(relFoo.relBar where …` do `exists(relFoo where exists(relBar where –))` A specialSubQueryclass is returned, where each condition that is added via `where` calls is appended to the innermost subquery. Calls to `isTrue` apply to all subqueries. All other (reading) operations are applied to the root subquery. -
subSelect
Create an uncorrelated sub select that may select a column from an the provided entity model. E.g.EntityModel userModel = context.getEntityManager("User").getModel(); EntityList foundUsers = queryBuilder.find("User").where( field("birthdate").greaterThan(subSelect("birthdate", userModel).where( field("lastname").is("Ott") )), field("firstname").is("Robin") ).build(context).execute());- Parameters:
column- the column to selectmodel- the target entity model- Returns:
- the
UncorrelatedSubQueryinstance
-
relationTo
Creates a condition that checks whether the givenrelationPathpoints to the entity specified bykey. -
relationToOne
Creates a condition that checks whether the givenrelationPathpoints to at least one of the entities specified bykeys. -
relationToAll
Creates a condition that checks whether the givenrelationPathpoints to all entities given bykeys. -
field
Creates a newfield defintionthat can be used to create conditions starting from a field. -
fieldExists
Same asfield(String)but uses (nested) exists statements. -
relation
Creates a newrelation definitionthat can be used to create conditions starting from a relation. -
param
-
literal
-
path
-
-
primaryKeyIn
-
primaryKeyIsNot
-
commaSeparatedListContains
public static Condition commaSeparatedListContains(String fieldName, String string, boolean orEmpty) Condition that checks whether the provided `string` is contained (exact match!) in a comma separated list to be found in field `fieldName`.- Parameters:
fieldName- the name of the field containing the comma separated list on the entitystring- a string to be found in the listorEmpty- set to `true` to also return entities if the field `fieldName` is empty- Returns:
- a `Condition`
-
isFalse
-
isTrue
-
raw
-