Interface Specification<T>
- All Superinterfaces:
Serializable
Specification in the sense of Domain Driven Design.
- Author:
- Oliver Gierke, Thomas Darimont, Krzysztof Rzymkowski, Sebastian Staudt, Mark Paluch, Jens Schauder, Daniel Shuy
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> Specification<T>allOf(Iterable<Specification<T>> specifications) Applies an AND operation to all the givenSpecifications.static <T> Specification<T>allOf(Specification<T>... specifications) default Specification<T>and(Specification<T> other) ANDs the givenSpecificationto the current one.static <T> Specification<T>anyOf(Iterable<Specification<T>> specifications) Applies an OR operation to all the givenSpecifications.static <T> Specification<T>anyOf(Specification<T>... specifications) static <T> Specification<T>not(Specification<T> spec) Negates the givenSpecification.default Specification<T>or(Specification<T> other) ORs the given specification to the current one.jakarta.persistence.criteria.PredicatetoPredicate(jakarta.persistence.criteria.Root<T> root, jakarta.persistence.criteria.CriteriaQuery<?> query, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder) Creates a WHERE clause for a query of the referenced entity in form of aPredicatefor the givenRootandCriteriaQuery.static <T> Specification<T>where(Specification<T> spec) Simple static factory method to add some syntactic sugar around aSpecification.
-
Field Details
-
serialVersionUID
static final long serialVersionUID- See Also:
-
-
Method Details
-
not
Negates the givenSpecification.- Type Parameters:
T- the type of theRootthe resulting Specification operates on.- Parameters:
spec- can be null.- Returns:
- guaranteed to be not null.
- Since:
- 2.0
-
where
Simple static factory method to add some syntactic sugar around aSpecification.- Type Parameters:
T- the type of theRootthe resulting Specification operates on.- Parameters:
spec- can be null.- Returns:
- guaranteed to be not null.
- Since:
- 2.0
-
and
ANDs the givenSpecificationto the current one.- Parameters:
other- can be null.- Returns:
- The conjunction of the specifications
- Since:
- 2.0
-
or
ORs the given specification to the current one.- Parameters:
other- can be null.- Returns:
- The disjunction of the specifications
- Since:
- 2.0
-
toPredicate
@Nullable jakarta.persistence.criteria.Predicate toPredicate(jakarta.persistence.criteria.Root<T> root, jakarta.persistence.criteria.CriteriaQuery<?> query, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder) Creates a WHERE clause for a query of the referenced entity in form of aPredicatefor the givenRootandCriteriaQuery.- Parameters:
root- must not be null.query- must not be null.criteriaBuilder- must not be null.- Returns:
- a
Predicate, may be null.
-
allOf
Applies an AND operation to all the givenSpecifications.- Parameters:
specifications- TheSpecifications to compose. Can containnulls.- Returns:
- The conjunction of the specifications
- See Also:
-
allOf
- See Also:
-
anyOf
Applies an OR operation to all the givenSpecifications.- Parameters:
specifications- TheSpecifications to compose. Can containnulls.- Returns:
- The disjunction of the specifications
- See Also:
-
anyOf
- See Also:
-