Interface QuerySpecification<T>
- Type Parameters:
 T- The entity root type
public interface QuerySpecification<T>
Criteria query specification.
 Based on Spring Data's org.springframework.data.jpa.domain.Specification.
- Since:
 - 3.2
 - Author:
 - Denis Stepanov
 
- 
Field Summary
Fields - 
Method Summary
Modifier and TypeMethodDescriptiondefault @NonNull QuerySpecification<T>and(@Nullable PredicateSpecification<T> other) ANDs the givenPredicateSpecificationto the current one.default @NonNull QuerySpecification<T>and(@Nullable QuerySpecification<T> other) ANDs the givenQuerySpecificationto the current one.static <T> @NonNull QuerySpecification<T>not(@Nullable QuerySpecification<T> spec) Negates the givenQuerySpecification.default @NonNull QuerySpecification<T>or(@Nullable PredicateSpecification<T> other) ORs the givenPredicateSpecificationto the current one.default @NonNull QuerySpecification<T>or(@Nullable QuerySpecification<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 predicate for the given entityRootand a criteria query.static <T> @NonNull QuerySpecification<T>where(@Nullable PredicateSpecification<T> spec) Simple static factory method to add some syntactic sugar around aPredicateSpecification.static <T> @NonNull QuerySpecification<T>where(@Nullable QuerySpecification<T> spec) Simple static factory method to add some syntactic sugar around aQuerySpecification. 
- 
Field Details
- 
ALL
Include all specification. 
 - 
 - 
Method Details
- 
not
@NonNull static <T> @NonNull QuerySpecification<T> not(@Nullable @Nullable QuerySpecification<T> spec) Negates the givenQuerySpecification.- Type Parameters:
 T- the type of theRootthe resulting Specification operates on.- Parameters:
 spec- The specification.- Returns:
 - negated specification}.
 
 - 
where
@NonNull static <T> @NonNull QuerySpecification<T> where(@Nullable @Nullable QuerySpecification<T> spec) Simple static factory method to add some syntactic sugar around aQuerySpecification.- Type Parameters:
 T- the type of theRootthe resulting Specification operates on.- Parameters:
 spec- The specification.- Returns:
 - guaranteed to be not null.
 
 - 
where
@NonNull static <T> @NonNull QuerySpecification<T> where(@Nullable @Nullable PredicateSpecification<T> spec) Simple static factory method to add some syntactic sugar around aPredicateSpecification.- Type Parameters:
 T- the type of theRootthe resulting Specification operates on.- Parameters:
 spec- The specification.- Returns:
 - query specification.
 
 - 
and
@NonNull default @NonNull QuerySpecification<T> and(@Nullable @Nullable QuerySpecification<T> other) ANDs the givenQuerySpecificationto the current one.- Parameters:
 other- The other predicate.- Returns:
 - The conjunction of the specifications
 
 - 
or
ORs the given specification to the current one.- Parameters:
 other- The other predicate.- Returns:
 - The disjunction of the specifications
 
 - 
and
@NonNull default @NonNull QuerySpecification<T> and(@Nullable @Nullable PredicateSpecification<T> other) ANDs the givenPredicateSpecificationto the current one.- Parameters:
 other- The other predicate.- Returns:
 - The conjunction of the specifications
 
 - 
or
@NonNull default @NonNull QuerySpecification<T> or(@Nullable @Nullable PredicateSpecification<T> other) ORs the givenPredicateSpecificationto the current one.- Parameters:
 other- The other predicate.- 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 predicate for the given entityRootand a criteria query.- Parameters:
 root- The entity rootquery- The criteria querycriteriaBuilder- The criteria builder- Returns:
 - a 
Predicate 
 
 -