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 inQuerydslUtils.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
Constructors Constructor Description EnumItemFilterProcessor(SqlQueryContext<S,Q,R> context, Function<Q,com.querydsl.core.types.dsl.EnumPath<E>> rootToQueryItem)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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, getSingleValue, isIgnoreCaseFilter, predicateWithNotTreated, singleValuePredicate, singleValuePredicateWithNotTreated
-
-
-
-
Constructor Detail
-
EnumItemFilterProcessor
public EnumItemFilterProcessor(SqlQueryContext<S,Q,R> context, Function<Q,com.querydsl.core.types.dsl.EnumPath<E>> rootToQueryItem)
-
-
Method Detail
-
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
protected FilterOperation operation(ValueFilter<?,?> filter) throws QueryException
- Overrides:
operation
in classItemValueFilterProcessor<PropertyValueFilter<E extends Enum<E>>>
- Throws:
QueryException
-
-