Interface Specification<T>
- Type Parameters:
T- The entity root type
public interface Specification<T>
Specification in the sense of Domain Driven Design.
Fork from org.springframework.data.jpa.domain.Specification.
- Since:
- 3.1
- Author:
- Oliver Gierke, Thomas Darimont, Krzysztof Rzymkowski, Sebastian Staudt, Mark Paluch, Jens Schauder
-
Method Summary
Modifier and TypeMethodDescriptiondefault @NonNull Specification<T>and(@Nullable Specification<T> other) ANDs the givenSpecificationto the current one.static <T> @NonNull Specification<T>not(@Nullable Specification<T> spec) Negates the givenSpecification.default @NonNull Specification<T>or(@Nullable Specification<T> other) ORs the given specification to the current one.@Nullable jakarta.persistence.criteria.PredicatetoPredicate(@NonNull jakarta.persistence.criteria.Root<T> root, @NonNull jakarta.persistence.criteria.CriteriaQuery<?> query, @NonNull jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder) Creates a WHERE clause for a query of the referenced entity in form of aPredicatefor the givenRootandCriteriaQuery.static <T> @NonNull Specification<T>where(@Nullable Specification<T> spec) Simple static factory method to add some syntactic sugar around aSpecification.
-
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.
-
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.
-
and
ANDs the givenSpecificationto the current one.- Parameters:
other- can be null.- Returns:
- The conjunction of the specifications
-
or
ORs the given specification to the current one.- Parameters:
other- can be null.- Returns:
- The disjunction of the specifications
-
toPredicate
@Nullable @Nullable jakarta.persistence.criteria.Predicate toPredicate(@NonNull @NonNull jakarta.persistence.criteria.Root<T> root, @NonNull @NonNull jakarta.persistence.criteria.CriteriaQuery<?> query, @NonNull @NonNull 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.
-