public class PredicateGenerator extends java.lang.Object
A class that generates predicates for a given list of criteria.
| Modifiers | Name | Description |
|---|---|---|
interface |
PredicateGenerator.CriterionHandler |
Extension point for user-defined criterion handlers. |
interface |
PredicateGenerator.CriterionHandlerProvider |
SPI for contributing a CriterionHandler via java.util.ServiceLoader. |
| Modifiers | Name | Description |
|---|---|---|
static java.util.Map<java.lang.Class<? extends Query.Criterion>, CriterionHandler> |
CUSTOM_HANDLERS |
| Constructor and description |
|---|
PredicateGenerator(org.hibernate.query.criteria.HibernateCriteriaBuilder criteriaBuilder, org.springframework.core.convert.ConversionService conversionService) |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public static void |
clearCustomCriterionHandlers()Removes all registered custom criterion handlers and resets the ServiceLoader flag. |
|
public jakarta.persistence.criteria.Predicate |
generate(jakarta.persistence.criteria.AbstractQuery<?> cq, jakarta.persistence.criteria.From<?, ?> root, java.util.List<Query.Criterion> criteriaList, JpaQueryContext tablesByName, GrailsHibernatePersistentEntity entity) |
|
public jakarta.persistence.criteria.Predicate[] |
getPredicates(jakarta.persistence.criteria.AbstractQuery<?> criteriaQuery, jakarta.persistence.criteria.From<?, ?> root, java.util.List<? extends Query.QueryElement> criteria, JpaQueryContext fromsByProvider, GrailsHibernatePersistentEntity entity) |
|
public jakarta.persistence.criteria.Predicate |
handleCriterion(jakarta.persistence.criteria.AbstractQuery<?> criteriaQuery, jakarta.persistence.criteria.From<?, ?> root, JpaQueryContext fromsByProvider, GrailsHibernatePersistentEntity entity, QueryElement criterion) |
|
public static void |
registerCriterionHandler(java.lang.Class<? extends Query.Criterion> type, PredicateGenerator.CriterionHandler handler)Registers a CriterionHandler for the given criterion type. |
| Methods inherited from class | Name |
|---|---|
class java.lang.Object |
java.lang.Object#equals(java.lang.Object), java.lang.Object#getClass(), java.lang.Object#hashCode(), java.lang.Object#notify(), java.lang.Object#notifyAll(), java.lang.Object#toString(), java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int) |
Removes all registered custom criterion handlers and resets the ServiceLoader flag. Useful for test cleanup.
Registers a CriterionHandler for the given criterion type. The handler is called before any built-in criterion logic when a criterion of exactly that type is encountered. Programmatic registration takes precedence over java.util.ServiceLoader-discovered handlers.
type - the exact criterion class to handlehandler - the handler that converts the criterion to a JPA jakarta.persistence.criteria.Predicate