Package io.micronaut.data.model.query
Class DefaultQuery
- java.lang.Object
-
- io.micronaut.data.model.query.DefaultQuery
-
- All Implemented Interfaces:
Criteria
,QueryModel
- Direct Known Subclasses:
AssociationQuery
public class DefaultQuery extends java.lang.Object implements QueryModel
Models a query that can be executed against a data store.- Since:
- 1.0
- Author:
- Graeme Rocher
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.micronaut.data.model.query.QueryModel
QueryModel.ArrayContains, QueryModel.AvgProjection, QueryModel.Between, QueryModel.Conjunction, QueryModel.Contains, QueryModel.CountDistinctProjection, QueryModel.CountProjection, QueryModel.Criterion, QueryModel.Disjunction, QueryModel.DistinctProjection, QueryModel.DistinctPropertyProjection, QueryModel.EndsWith, QueryModel.Equals, QueryModel.EqualsAll, QueryModel.EqualsProperty, QueryModel.Exists, QueryModel.GreaterThan, QueryModel.GreaterThanAll, QueryModel.GreaterThanEquals, QueryModel.GreaterThanEqualsAll, QueryModel.GreaterThanEqualsProperty, QueryModel.GreaterThanEqualsSome, QueryModel.GreaterThanProperty, QueryModel.GreaterThanSome, QueryModel.GroupPropertyProjection, QueryModel.IdEquals, QueryModel.IdProjection, QueryModel.ILike, QueryModel.In, QueryModel.IsEmpty, QueryModel.IsFalse, QueryModel.IsNotEmpty, QueryModel.IsNotNull, QueryModel.IsNull, QueryModel.IsTrue, QueryModel.Junction, QueryModel.LessThan, QueryModel.LessThanAll, QueryModel.LessThanEquals, QueryModel.LessThanEqualsAll, QueryModel.LessThanEqualsProperty, QueryModel.LessThanEqualsSome, QueryModel.LessThanProperty, QueryModel.LessThanSome, QueryModel.Like, QueryModel.LiteralProjection, QueryModel.MaxProjection, QueryModel.MinProjection, QueryModel.Negation, QueryModel.NotEquals, QueryModel.NotEqualsAll, QueryModel.NotEqualsProperty, QueryModel.NotExists, QueryModel.NotIn, QueryModel.Projection, QueryModel.PropertyComparisonCriterion, QueryModel.PropertyCriterion, QueryModel.PropertyNameCriterion, QueryModel.PropertyProjection, QueryModel.Regex, QueryModel.RLike, QueryModel.SizeEquals, QueryModel.SizeGreaterThan, QueryModel.SizeGreaterThanEquals, QueryModel.SizeLessThan, QueryModel.SizeLessThanEquals, QueryModel.SizeNotEquals, QueryModel.StartsWith, QueryModel.SubqueryCriterion, QueryModel.SumProjection, QueryModel.VersionEquals
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DefaultQuery(PersistentEntity entity)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QueryModel
add(QueryModel.Criterion criterion)
Adds the specified criterion instance to the query.DefaultQuery
allEq(java.util.Map<java.lang.String,java.lang.Object> values)
Shortcut to restrict the query to multiple given property values.QueryModel
and(Criteria other)
Creates a logical conjunction.DefaultQuery
and(QueryModel.Criterion a, QueryModel.Criterion b)
Creates a conjunction using two specified criterion.DefaultQuery
between(java.lang.String property, java.lang.Object start, java.lang.Object end)
Restricts the results by the given property value range.QueryModel.Junction
conjunction()
Creates a conjunction (AND) query.QueryModel
contains(java.lang.String propertyName, java.lang.Object parameter)
Restricts the property match to strings containing with the given value.AssociationQuery
createQuery(java.lang.String associationName)
Creates an association query.QueryModel.Junction
disjunction()
Creates a disjunction (OR) query.QueryModel
endsWith(java.lang.String propertyName, java.lang.Object parameter)
Restricts the property match to strings ending with the given value.DefaultQuery
eq(java.lang.String property, java.lang.Object parameter)
Restricts the results by the given properties value.QueryModel
eqAll(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is equals to all the given returned values.DefaultQuery
eqProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Constrains a property to be equal to a specified other property.void
forUpdate()
Lock the selected entities.DefaultQuery
ge(java.lang.String property, java.lang.Object value)
Used to restrict a value to be greater than or equal to the given value.QueryModel
geAll(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is greater than or equals to all the given returned values.DefaultQuery
geProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Constrains a property to be greater than or equal to a specified other property.QueryModel
geSome(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is greater than or equal to some of the given values.QueryModel.Junction
getCriteria()
PersistentEntity
getEntity()
java.util.Optional<JoinPath>
getJoinPath(java.lang.String path)
Obtain the joint for for a given association.java.util.Collection<JoinPath>
getJoinPaths()
int
getMax()
Get the pageSize results to return.long
getOffset()
Get the offset of the query.PersistentEntity
getPersistentEntity()
java.util.List<QueryModel.Projection>
getProjections()
Sort
getSort()
The sort to apply.DefaultQuery
gt(java.lang.String property, java.lang.Object value)
Used to restrict a value to be greater than the given value.QueryModel
gtAll(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is greater than all the given returned values.DefaultQuery
gte(java.lang.String property, java.lang.Object value)
Used to restrict a value to be greater than or equal to the given value.DefaultQuery
gtProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Constrains a property to be greater than a specified other property.QueryModel
gtSome(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is greater than some of the given values.DefaultQuery
idEq(java.lang.Object value)
Restricts the results by the given properties value.DefaultQuery
ilike(java.lang.String propertyName, java.lang.Object parameter)
Creates an ilike Criterion based on the specified property name and value.DefaultQuery
inList(java.lang.String propertyName, QueryModel subquery)
Creates an "in" Criterion using a subquery.DefaultQuery
inList(java.lang.String property, java.lang.Object values)
Restricts the results by the given property values.DefaultQuery
isEmpty(java.lang.String property)
Used to restrict a value to be empty (such as a blank string or an empty collection).QueryModel
isFalse(java.lang.String propertyName)
Creates a criterion that asserts the given property is false.boolean
isForUpdate()
Whether to lock the selected entities.DefaultQuery
isNotEmpty(java.lang.String property)
Used to restrict a value to be not empty (such as a blank string or an empty collection).DefaultQuery
isNotNull(java.lang.String property)
Used to restrict a property to be not null.DefaultQuery
isNull(java.lang.String property)
Used to restrict a property to be null.QueryModel
isTrue(java.lang.String propertyName)
Creates a criterion that asserts the given property is true.JoinPath
join(java.lang.String path, Join.Type joinType, java.lang.String alias)
Specifies whether a join query should be used (if join queries are supported by the underlying datastore).JoinPath
join(java.lang.String path, Association association, Join.Type joinType, java.lang.String alias)
Join on the given association.DefaultQuery
le(java.lang.String property, java.lang.Object value)
Used to restrict a value to be less than or equal to the given value.QueryModel
leAll(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is less than or equal to all the given returned values.DefaultQuery
leProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Constrains a property to be less than or equal to a specified other property.QueryModel
leSome(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is less than or equal to some of the given values.DefaultQuery
like(java.lang.String propertyName, java.lang.Object parameter)
Creates a like Criterion based on the specified property name and value.DefaultQuery
lt(java.lang.String property, java.lang.Object value)
Used to restrict a value to be less than the given value.QueryModel
ltAll(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is less than all the given returned values.DefaultQuery
lte(java.lang.String property, java.lang.Object value)
Used to restrict a value to be less than or equal to the given value.DefaultQuery
ltProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Constrains a property to be less than a specified other property.QueryModel
ltSome(java.lang.String propertyName, Criteria propertyValue)
Creates a subquery criterion that ensures the given property is less than some of the given values.DefaultQuery
max(int max)
Defines the maximum number of results to return.QueryModel
ne(java.lang.String propertyName, java.lang.Object parameter)
Creates a "not equals" Criterion based on the specified property name and value.QueryModel.Junction
negation()
Creates a negation of several criterion.DefaultQuery
neProperty(java.lang.String propertyName, java.lang.String otherPropertyName)
Constrains a property to be not equal to a specified other property.QueryModel
not(Criteria other)
Creates a logical negation.DefaultQuery
notIn(java.lang.String propertyName, QueryModel subquery)
Creates a negated "in" Criterion using a subquery.DefaultQuery
offset(long offset)
Defines the offset (the first result index) of the query.QueryModel
or(Criteria other)
Creates a logical disjunction.DefaultQuery
or(QueryModel.Criterion a, QueryModel.Criterion b)
Creates a disjunction using two specified criterion.ProjectionList
projections()
DefaultQuery
rlike(java.lang.String propertyName, java.lang.Object parameter)
Creates an rlike Criterion based on the specified property name and value.DefaultQuery
sizeEq(java.lang.String propertyName, java.lang.Object size)
Creates a Criterion that constrains a collection property by size.DefaultQuery
sizeGe(java.lang.String propertyName, java.lang.Object size)
Creates a Criterion that constrains a collection property to be greater than or equal to the given size.DefaultQuery
sizeGt(java.lang.String propertyName, java.lang.Object size)
Creates a Criterion that constrains a collection property to be greater than the given size.DefaultQuery
sizeLe(java.lang.String propertyName, java.lang.Object size)
Creates a Criterion that constrains a collection property to be less than or equal to the given size.DefaultQuery
sizeLt(java.lang.String propertyName, java.lang.Object size)
Creates a Criterion that constrains a collection property to be less than to the given size.DefaultQuery
sizeNe(java.lang.String propertyName, java.lang.Object size)
Creates a Criterion that constrains a collection property to be not equal to the given size.QueryModel
sort(Sort sort)
Apply the given sort.QueryModel
startsWith(java.lang.String propertyName, java.lang.Object parameter)
Restricts the property match to strings starting with the given value.DefaultQuery
versionEq(java.lang.Object value)
Creates that restricts the version to the given value.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.micronaut.data.model.query.QueryModel
join, join
-
-
-
-
Constructor Detail
-
DefaultQuery
protected DefaultQuery(@NonNull PersistentEntity entity)
Default constructor.- Parameters:
entity
- The entity the query applies to.
-
-
Method Detail
-
getJoinPaths
public java.util.Collection<JoinPath> getJoinPaths()
- Specified by:
getJoinPaths
in interfaceQueryModel
- Returns:
- The join paths.
-
createQuery
public AssociationQuery createQuery(java.lang.String associationName)
Creates an association query.- Parameters:
associationName
- The assocation name- Returns:
- The Query instance
-
getPersistentEntity
@NonNull public PersistentEntity getPersistentEntity()
- Specified by:
getPersistentEntity
in interfaceQueryModel
- Returns:
- The entity the criteria applies to
-
getCriteria
public QueryModel.Junction getCriteria()
- Specified by:
getCriteria
in interfaceQueryModel
- Returns:
- The criteria defined by this query
-
getProjections
@NonNull public java.util.List<QueryModel.Projection> getProjections()
- Specified by:
getProjections
in interfaceQueryModel
- Returns:
- The projections that apply to this query.
-
getJoinPath
public java.util.Optional<JoinPath> getJoinPath(java.lang.String path)
Obtain the joint for for a given association.- Specified by:
getJoinPath
in interfaceQueryModel
- Parameters:
path
- The path to the association- Returns:
- The join type
-
join
public JoinPath join(@NonNull java.lang.String path, @NonNull Join.Type joinType, java.lang.String alias)
Specifies whether a join query should be used (if join queries are supported by the underlying datastore).- Specified by:
join
in interfaceQueryModel
- Parameters:
path
- The pathjoinType
- The joinTypealias
- The alias- Returns:
- The query
-
join
@NonNull public JoinPath join(java.lang.String path, Association association, @NonNull Join.Type joinType, @Nullable java.lang.String alias)
Description copied from interface:QueryModel
Join on the given association.- Specified by:
join
in interfaceQueryModel
- Parameters:
path
- The join pathassociation
- The associationjoinType
- The join typealias
- The alias to use.- Returns:
- The query
-
projections
public ProjectionList projections()
- Specified by:
projections
in interfaceQueryModel
- Returns:
- The projections for this query.
-
add
@NonNull public QueryModel add(@NonNull QueryModel.Criterion criterion)
Adds the specified criterion instance to the query.- Specified by:
add
in interfaceQueryModel
- Parameters:
criterion
- The criterion instance- Returns:
- This query
-
getEntity
public PersistentEntity getEntity()
- Returns:
- The PersistentEntity being query
-
disjunction
public QueryModel.Junction disjunction()
Creates a disjunction (OR) query.- Returns:
- The Junction instance
-
conjunction
public QueryModel.Junction conjunction()
Creates a conjunction (AND) query.- Returns:
- The Junction instance
-
negation
public QueryModel.Junction negation()
Creates a negation of several criterion.- Returns:
- The negation
-
max
public DefaultQuery max(int max)
Defines the maximum number of results to return.- Specified by:
max
in interfaceQueryModel
- Parameters:
max
- The pageSize results- Returns:
- This query instance
-
getMax
public int getMax()
Description copied from interface:QueryModel
Get the pageSize results to return.- Specified by:
getMax
in interfaceQueryModel
- Returns:
- The pageSize results
-
getOffset
public long getOffset()
Description copied from interface:QueryModel
Get the offset of the query.- Specified by:
getOffset
in interfaceQueryModel
- Returns:
- The offset
-
forUpdate
public void forUpdate()
Description copied from interface:QueryModel
Lock the selected entities.- Specified by:
forUpdate
in interfaceQueryModel
-
isForUpdate
public boolean isForUpdate()
Description copied from interface:QueryModel
Whether to lock the selected entities.- Specified by:
isForUpdate
in interfaceQueryModel
- Returns:
- true if the the selected entities should be locked
-
offset
public DefaultQuery offset(long offset)
Defines the offset (the first result index) of the query.- Specified by:
offset
in interfaceQueryModel
- Parameters:
offset
- The offset- Returns:
- This query instance
-
getSort
public Sort getSort()
Description copied from interface:QueryModel
The sort to apply.- Specified by:
getSort
in interfaceQueryModel
- Returns:
- The sort
-
sort
@NonNull public QueryModel sort(@NonNull Sort sort)
Description copied from interface:QueryModel
Apply the given sort.- Specified by:
sort
in interfaceQueryModel
- Parameters:
sort
- The sort to apply- Returns:
- This query
-
eq
@NonNull public DefaultQuery eq(@NonNull java.lang.String property, @NonNull java.lang.Object parameter)
Restricts the results by the given properties value.- Specified by:
eq
in interfaceCriteria
- Specified by:
eq
in interfaceQueryModel
- Parameters:
property
- The name of the propertyparameter
- The parameter that provides the value- Returns:
- This query instance
-
allEq
@NonNull public DefaultQuery allEq(@NonNull java.util.Map<java.lang.String,java.lang.Object> values)
Shortcut to restrict the query to multiple given property values.- Specified by:
allEq
in interfaceCriteria
- Specified by:
allEq
in interfaceQueryModel
- Parameters:
values
- The values- Returns:
- This query instance
-
eqAll
@NonNull public QueryModel eqAll(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is equals to all the given returned values.- Specified by:
eqAll
in interfaceCriteria
- Specified by:
eqAll
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- A subquery- Returns:
- This criterion instance
-
gtAll
@NonNull public QueryModel gtAll(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is greater than all the given returned values.- Specified by:
gtAll
in interfaceCriteria
- Specified by:
gtAll
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- A subquery- Returns:
- This criterion instance
-
ltAll
@NonNull public QueryModel ltAll(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is less than all the given returned values.- Specified by:
ltAll
in interfaceCriteria
- Specified by:
ltAll
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- A subquery- Returns:
- This criterion instance
-
geAll
@NonNull public QueryModel geAll(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is greater than or equals to all the given returned values.- Specified by:
geAll
in interfaceCriteria
- Specified by:
geAll
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- A subquery- Returns:
- This criterion instance
-
leAll
@NonNull public QueryModel leAll(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is less than or equal to all the given returned values.- Specified by:
leAll
in interfaceCriteria
- Specified by:
leAll
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- A subquery- Returns:
- This criterion instance
-
gtSome
@NonNull public QueryModel gtSome(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is greater than some of the given values.- Specified by:
gtSome
in interfaceCriteria
- Specified by:
gtSome
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- The property value- Returns:
- This Criteria instance
-
geSome
@NonNull public QueryModel geSome(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is greater than or equal to some of the given values.- Specified by:
geSome
in interfaceCriteria
- Specified by:
geSome
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- The property value- Returns:
- This Criteria instance
-
ltSome
@NonNull public QueryModel ltSome(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is less than some of the given values.- Specified by:
ltSome
in interfaceCriteria
- Specified by:
ltSome
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- The property value- Returns:
- This Criteria instance
-
leSome
@NonNull public QueryModel leSome(@NonNull java.lang.String propertyName, @NonNull Criteria propertyValue)
Description copied from interface:Criteria
Creates a subquery criterion that ensures the given property is less than or equal to some of the given values.- Specified by:
leSome
in interfaceCriteria
- Specified by:
leSome
in interfaceQueryModel
- Parameters:
propertyName
- The property namepropertyValue
- The property value- Returns:
- This Criteria instance
-
versionEq
public DefaultQuery versionEq(@NonNull java.lang.Object value)
Description copied from interface:Criteria
Creates that restricts the version to the given value.- Specified by:
versionEq
in interfaceCriteria
- Specified by:
versionEq
in interfaceQueryModel
- Parameters:
value
- The parameter that provides the value- Returns:
- The criteria
-
isEmpty
@NonNull public DefaultQuery isEmpty(@NonNull java.lang.String property)
Used to restrict a value to be empty (such as a blank string or an empty collection).- Specified by:
isEmpty
in interfaceCriteria
- Specified by:
isEmpty
in interfaceQueryModel
- Parameters:
property
- The property name- Returns:
- The criteria
-
isNotEmpty
@NonNull public DefaultQuery isNotEmpty(@NonNull java.lang.String property)
Used to restrict a value to be not empty (such as a blank string or an empty collection).- Specified by:
isNotEmpty
in interfaceCriteria
- Specified by:
isNotEmpty
in interfaceQueryModel
- Parameters:
property
- The property name- Returns:
- The criteria
-
isNull
@NonNull public DefaultQuery isNull(@NonNull java.lang.String property)
Used to restrict a property to be null.- Specified by:
isNull
in interfaceCriteria
- Specified by:
isNull
in interfaceQueryModel
- Parameters:
property
- The property name- Returns:
- The criteria
-
isTrue
@NonNull public QueryModel isTrue(@NonNull java.lang.String propertyName)
Description copied from interface:Criteria
Creates a criterion that asserts the given property is true.- Specified by:
isTrue
in interfaceCriteria
- Specified by:
isTrue
in interfaceQueryModel
- Parameters:
propertyName
- The property name- Returns:
- The criteria
-
isFalse
@NonNull public QueryModel isFalse(@NonNull java.lang.String propertyName)
Description copied from interface:Criteria
Creates a criterion that asserts the given property is false.- Specified by:
isFalse
in interfaceCriteria
- Specified by:
isFalse
in interfaceQueryModel
- Parameters:
propertyName
- The property name- Returns:
- The criteria
-
isNotNull
@NonNull public DefaultQuery isNotNull(@NonNull java.lang.String property)
Used to restrict a property to be not null.- Specified by:
isNotNull
in interfaceCriteria
- Specified by:
isNotNull
in interfaceQueryModel
- Parameters:
property
- The property name- Returns:
- The criteria
-
idEq
@NonNull public DefaultQuery idEq(@NonNull java.lang.Object value)
Restricts the results by the given properties value.- Specified by:
idEq
in interfaceCriteria
- Specified by:
idEq
in interfaceQueryModel
- Parameters:
value
- The value to restrict by- Returns:
- This query instance
-
ne
@NonNull public QueryModel ne(@NonNull java.lang.String propertyName, @NonNull java.lang.Object parameter)
Description copied from interface:Criteria
Creates a "not equals" Criterion based on the specified property name and value.- Specified by:
ne
in interfaceCriteria
- Specified by:
ne
in interfaceQueryModel
- Parameters:
propertyName
- The property nameparameter
- The parameter that provides the value- Returns:
- The criteria
-
gt
@NonNull public DefaultQuery gt(@NonNull java.lang.String property, @NonNull java.lang.Object value)
Used to restrict a value to be greater than the given value.- Specified by:
gt
in interfaceCriteria
- Specified by:
gt
in interfaceQueryModel
- Parameters:
property
- The name of the propertyvalue
- The value to restrict by- Returns:
- This query instance
-
gte
public DefaultQuery gte(java.lang.String property, java.lang.Object value)
Used to restrict a value to be greater than or equal to the given value.- Specified by:
gte
in interfaceCriteria
- Specified by:
gte
in interfaceQueryModel
- Parameters:
property
- The name of the propertyvalue
- The value to restrict by- Returns:
- This query instance
-
lte
public DefaultQuery lte(java.lang.String property, java.lang.Object value)
Used to restrict a value to be less than or equal to the given value.- Specified by:
lte
in interfaceCriteria
- Specified by:
lte
in interfaceQueryModel
- Parameters:
property
- The name of the propertyvalue
- The value to restrict by- Returns:
- This query instance
-
ge
public DefaultQuery ge(java.lang.String property, java.lang.Object value)
Used to restrict a value to be greater than or equal to the given value.- Specified by:
ge
in interfaceCriteria
- Specified by:
ge
in interfaceQueryModel
- Parameters:
property
- The name of the propertyvalue
- The value to restrict by- Returns:
- This query instance
-
le
public DefaultQuery le(java.lang.String property, java.lang.Object value)
Used to restrict a value to be less than or equal to the given value.- Specified by:
le
in interfaceCriteria
- Specified by:
le
in interfaceQueryModel
- Parameters:
property
- The name of the propertyvalue
- The value to restrict by- Returns:
- This query instance
-
lt
public DefaultQuery lt(java.lang.String property, java.lang.Object value)
Used to restrict a value to be less than the given value.- Specified by:
lt
in interfaceCriteria
- Specified by:
lt
in interfaceQueryModel
- Parameters:
property
- The name of the propertyvalue
- The value to restrict by- Returns:
- This query instance
-
like
@NonNull public DefaultQuery like(@NonNull java.lang.String propertyName, @NonNull java.lang.Object parameter)
Description copied from interface:Criteria
Creates a like Criterion based on the specified property name and value.- Specified by:
like
in interfaceCriteria
- Specified by:
like
in interfaceQueryModel
- Parameters:
propertyName
- The property nameparameter
- The parameter that provides the value- Returns:
- The criteria
-
startsWith
@NonNull public QueryModel startsWith(@NonNull java.lang.String propertyName, @NonNull java.lang.Object parameter)
Description copied from interface:Criteria
Restricts the property match to strings starting with the given value.- Specified by:
startsWith
in interfaceCriteria
- Specified by:
startsWith
in interfaceQueryModel
- Parameters:
propertyName
- The property nameparameter
- The parameter that provides the value- Returns:
- The criteria
-
endsWith
@NonNull public QueryModel endsWith(@NonNull java.lang.String propertyName, @NonNull java.lang.Object parameter)
Description copied from interface:Criteria
Restricts the property match to strings ending with the given value.- Specified by:
endsWith
in interfaceCriteria
- Specified by:
endsWith
in interfaceQueryModel
- Parameters:
propertyName
- The property nameparameter
- The parameter that provides the value- Returns:
- The criteria
-
contains
@NonNull public QueryModel contains(@NonNull java.lang.String propertyName, @NonNull java.lang.Object parameter)
Description copied from interface:Criteria
Restricts the property match to strings containing with the given value.- Specified by:
contains
in interfaceCriteria
- Specified by:
contains
in interfaceQueryModel
- Parameters:
propertyName
- The property nameparameter
- The parameter that provides the value- Returns:
- The criteria
-
ilike
@NonNull public DefaultQuery ilike(@NonNull java.lang.String propertyName, @NonNull java.lang.Object parameter)
Description copied from interface:Criteria
Creates an ilike Criterion based on the specified property name and value. Unlike a like condition, ilike is case insensitive.- Specified by:
ilike
in interfaceCriteria
- Specified by:
ilike
in interfaceQueryModel
- Parameters:
propertyName
- The property nameparameter
- The parameter that provides the value- Returns:
- The criteria
-
rlike
@NonNull public DefaultQuery rlike(@NonNull java.lang.String propertyName, @NonNull java.lang.Object parameter)
Description copied from interface:Criteria
Creates an rlike Criterion based on the specified property name and value.- Specified by:
rlike
in interfaceCriteria
- Specified by:
rlike
in interfaceQueryModel
- Parameters:
propertyName
- The property nameparameter
- The parameter that provides the value- Returns:
- The criteria
-
and
@NonNull public QueryModel and(@NonNull Criteria other)
Description copied from interface:Criteria
Creates a logical conjunction.- Specified by:
and
in interfaceCriteria
- Specified by:
and
in interfaceQueryModel
- Parameters:
other
- The other criteria- Returns:
- This criteria
-
or
@NonNull public QueryModel or(@NonNull Criteria other)
Description copied from interface:Criteria
Creates a logical disjunction.- Specified by:
or
in interfaceCriteria
- Specified by:
or
in interfaceQueryModel
- Parameters:
other
- The other criteria- Returns:
- This criteria
-
not
@NonNull public QueryModel not(@NonNull Criteria other)
Description copied from interface:Criteria
Creates a logical negation.- Specified by:
not
in interfaceCriteria
- Specified by:
not
in interfaceQueryModel
- Parameters:
other
- The other criteria- Returns:
- This criteria
-
inList
@NonNull public DefaultQuery inList(@NonNull java.lang.String propertyName, @NonNull QueryModel subquery)
Description copied from interface:Criteria
Creates an "in" Criterion using a subquery.- Specified by:
inList
in interfaceCriteria
- Specified by:
inList
in interfaceQueryModel
- Parameters:
propertyName
- The property namesubquery
- The subquery- Returns:
- The criteria
-
inList
public DefaultQuery inList(java.lang.String property, java.lang.Object values)
Restricts the results by the given property values.- Specified by:
inList
in interfaceCriteria
- Specified by:
inList
in interfaceQueryModel
- Parameters:
property
- The name of the propertyvalues
- The values to restrict by- Returns:
- This query instance
-
notIn
@NonNull public DefaultQuery notIn(@NonNull java.lang.String propertyName, @NonNull QueryModel subquery)
Description copied from interface:Criteria
Creates a negated "in" Criterion using a subquery.- Specified by:
notIn
in interfaceCriteria
- Specified by:
notIn
in interfaceQueryModel
- Parameters:
propertyName
- The property namesubquery
- The subquery- Returns:
- The criteria
-
sizeEq
@NonNull public DefaultQuery sizeEq(@NonNull java.lang.String propertyName, @NonNull java.lang.Object size)
Description copied from interface:Criteria
Creates a Criterion that constrains a collection property by size.- Specified by:
sizeEq
in interfaceCriteria
- Specified by:
sizeEq
in interfaceQueryModel
- Parameters:
propertyName
- The property namesize
- The size to constrain by- Returns:
- This criteria
-
sizeGt
@NonNull public DefaultQuery sizeGt(@NonNull java.lang.String propertyName, @NonNull java.lang.Object size)
Description copied from interface:Criteria
Creates a Criterion that constrains a collection property to be greater than the given size.- Specified by:
sizeGt
in interfaceCriteria
- Specified by:
sizeGt
in interfaceQueryModel
- Parameters:
propertyName
- The property namesize
- The size to constrain by- Returns:
- This criteria
-
sizeGe
@NonNull public DefaultQuery sizeGe(@NonNull java.lang.String propertyName, @NonNull java.lang.Object size)
Description copied from interface:Criteria
Creates a Criterion that constrains a collection property to be greater than or equal to the given size.- Specified by:
sizeGe
in interfaceCriteria
- Specified by:
sizeGe
in interfaceQueryModel
- Parameters:
propertyName
- The property namesize
- The size to constrain by- Returns:
- This criteria
-
sizeLe
@NonNull public DefaultQuery sizeLe(@NonNull java.lang.String propertyName, @NonNull java.lang.Object size)
Description copied from interface:Criteria
Creates a Criterion that constrains a collection property to be less than or equal to the given size.- Specified by:
sizeLe
in interfaceCriteria
- Specified by:
sizeLe
in interfaceQueryModel
- Parameters:
propertyName
- The property namesize
- The size to constrain by- Returns:
- This criteria
-
sizeLt
@NonNull public DefaultQuery sizeLt(@NonNull java.lang.String propertyName, @NonNull java.lang.Object size)
Description copied from interface:Criteria
Creates a Criterion that constrains a collection property to be less than to the given size.- Specified by:
sizeLt
in interfaceCriteria
- Specified by:
sizeLt
in interfaceQueryModel
- Parameters:
propertyName
- The property namesize
- The size to constrain by- Returns:
- This criteria
-
sizeNe
@NonNull public DefaultQuery sizeNe(@NonNull java.lang.String propertyName, @NonNull java.lang.Object size)
Description copied from interface:Criteria
Creates a Criterion that constrains a collection property to be not equal to the given size.- Specified by:
sizeNe
in interfaceCriteria
- Specified by:
sizeNe
in interfaceQueryModel
- Parameters:
propertyName
- The property namesize
- The size to constrain by- Returns:
- This criteria
-
eqProperty
@NonNull public DefaultQuery eqProperty(@NonNull java.lang.String propertyName, @NonNull java.lang.String otherPropertyName)
Description copied from interface:Criteria
Constrains a property to be equal to a specified other property.- Specified by:
eqProperty
in interfaceCriteria
- Specified by:
eqProperty
in interfaceQueryModel
- Parameters:
propertyName
- The propertyotherPropertyName
- The other property- Returns:
- This criteria
-
neProperty
@NonNull public DefaultQuery neProperty(@NonNull java.lang.String propertyName, @NonNull java.lang.String otherPropertyName)
Description copied from interface:Criteria
Constrains a property to be not equal to a specified other property.- Specified by:
neProperty
in interfaceCriteria
- Specified by:
neProperty
in interfaceQueryModel
- Parameters:
propertyName
- The propertyotherPropertyName
- The other property- Returns:
- This criteria
-
gtProperty
@NonNull public DefaultQuery gtProperty(@NonNull java.lang.String propertyName, @NonNull java.lang.String otherPropertyName)
Description copied from interface:Criteria
Constrains a property to be greater than a specified other property.- Specified by:
gtProperty
in interfaceCriteria
- Specified by:
gtProperty
in interfaceQueryModel
- Parameters:
propertyName
- The propertyotherPropertyName
- The other property- Returns:
- This criteria
-
geProperty
@NonNull public DefaultQuery geProperty(@NonNull java.lang.String propertyName, @NonNull java.lang.String otherPropertyName)
Description copied from interface:Criteria
Constrains a property to be greater than or equal to a specified other property.- Specified by:
geProperty
in interfaceCriteria
- Specified by:
geProperty
in interfaceQueryModel
- Parameters:
propertyName
- The propertyotherPropertyName
- The other property- Returns:
- This criteria
-
ltProperty
@NonNull public DefaultQuery ltProperty(@NonNull java.lang.String propertyName, @NonNull java.lang.String otherPropertyName)
Description copied from interface:Criteria
Constrains a property to be less than a specified other property.- Specified by:
ltProperty
in interfaceCriteria
- Specified by:
ltProperty
in interfaceQueryModel
- Parameters:
propertyName
- The propertyotherPropertyName
- The other property- Returns:
- This criteria
-
leProperty
@NonNull public DefaultQuery leProperty(java.lang.String propertyName, @NonNull java.lang.String otherPropertyName)
Description copied from interface:Criteria
Constrains a property to be less than or equal to a specified other property.- Specified by:
leProperty
in interfaceCriteria
- Specified by:
leProperty
in interfaceQueryModel
- Parameters:
propertyName
- The propertyotherPropertyName
- The other property- Returns:
- This criteria
-
between
public DefaultQuery between(java.lang.String property, java.lang.Object start, java.lang.Object end)
Restricts the results by the given property value range.- Specified by:
between
in interfaceCriteria
- Specified by:
between
in interfaceQueryModel
- Parameters:
property
- The name of the propertystart
- The start of the rangeend
- The end of the range- Returns:
- This query instance
-
and
public DefaultQuery and(QueryModel.Criterion a, QueryModel.Criterion b)
Creates a conjunction using two specified criterion.- Parameters:
a
- The left hand sideb
- The right hand side- Returns:
- This query instance
-
or
public DefaultQuery or(QueryModel.Criterion a, QueryModel.Criterion b)
Creates a disjunction using two specified criterion.- Parameters:
a
- The left hand sideb
- The right hand side- Returns:
- This query instance
-
-