Class EnumItemFilterProcessor<E extends Enum<E>>
java.lang.Object
com.evolveum.midpoint.repo.sqlbase.filtering.item.ItemValueFilterProcessor<PropertyValueFilter<T>>
com.evolveum.midpoint.repo.sqlbase.filtering.item.SinglePathItemFilterProcessor<E,com.querydsl.core.types.dsl.EnumPath<E>>
com.evolveum.midpoint.repo.sqlbase.filtering.item.EnumItemFilterProcessor<E>
- All Implemented Interfaces:
FilterProcessor<PropertyValueFilter<E>>
,RightHandProcessor
public class EnumItemFilterProcessor<E extends Enum<E>>
extends SinglePathItemFilterProcessor<E,com.querydsl.core.types.dsl.EnumPath<E>>
Filter processor for an attribute path (Prism item) of enum type that is mapped
to matching PostgreSQL enum type - this allows to use schema enums directly.
Use only enums that change rarely-to-never, enum type defined in SQL schema must be changed
accordingly - but this is still less complicated than with old repo where each enum was doubled.
Each enum type must be registered in
QuerydslUtils.querydslConfiguration(com.evolveum.midpoint.repo.sqlbase.SupportedDatabase)
.-
Field Summary
Fields inherited from class com.evolveum.midpoint.repo.sqlbase.filtering.item.SinglePathItemFilterProcessor
path
Fields inherited from class com.evolveum.midpoint.repo.sqlbase.filtering.item.ItemValueFilterProcessor
context
-
Constructor Summary
ConstructorDescriptionEnumItemFilterProcessor
(SqlQueryContext<S, Q, R> context, Function<Q, com.querydsl.core.types.dsl.EnumPath<E>> rootToQueryItem) -
Method Summary
Modifier and TypeMethodDescriptionprotected FilterOperation
operation
(ValueFilter<?, ?> filter) com.querydsl.core.types.Predicate
process
(PropertyValueFilter<E> filter) com.querydsl.core.types.Predicate
process
(PropertyValueFilter<E> filter, RightHandProcessor rightPath) Methods inherited from class com.evolveum.midpoint.repo.sqlbase.filtering.item.SinglePathItemFilterProcessor
rightHand
Methods inherited from class com.evolveum.midpoint.repo.sqlbase.filtering.item.ItemValueFilterProcessor
createBinaryCondition, createUnsupportedMatchingRuleException, createUnsupportedMatchingRuleException, fuzzyStringPredicate, getSingleValue, isIgnoreCaseFilter, predicateWithNotTreated, singleValuePredicate, singleValuePredicateWithNotTreated
-
Constructor Details
-
EnumItemFilterProcessor
public EnumItemFilterProcessor(SqlQueryContext<S, Q, R> context, Function<Q, com.querydsl.core.types.dsl.EnumPath<E>> rootToQueryItem)
-
-
Method Details
-
process
public com.querydsl.core.types.Predicate process(PropertyValueFilter<E> filter) throws QueryException - Throws:
QueryException
-
process
public com.querydsl.core.types.Predicate process(PropertyValueFilter<E> filter, RightHandProcessor rightPath) throws RepositoryException - Throws:
RepositoryException
-
operation
- Overrides:
operation
in classItemValueFilterProcessor<PropertyValueFilter<E extends Enum<E>>>
- Throws:
QueryException
-