Class ItemFilterProcessor<O extends ObjectFilter>
- java.lang.Object
-
- com.evolveum.midpoint.repo.sqlbase.filtering.item.ItemFilterProcessor<O>
-
- All Implemented Interfaces:
FilterProcessor<O>
- Direct Known Subclasses:
DetailTableItemFilterProcessor
,PolyStringItemFilterProcessor
,SinglePathItemFilterProcessor
public abstract class ItemFilterProcessor<O extends ObjectFilter> extends Object implements FilterProcessor<O>
Type ofFilterProcessor
for a single Prism item (not necessarily one SQL column). These are executed as "leaves" of filter processing tree returning terminal predicates. These are used inQueryTableMapping
objects. This superclass contains support methods for determining operator from filter, getting single value and other typical operations needed by item filter processors. SeeValueFilterProcessor
for details how complex paths are resolved to its last part.
-
-
Field Summary
Fields Modifier and Type Field Description protected SqlQueryContext<?,?,?>
context
-
Constructor Summary
Constructors Modifier Constructor Description protected
ItemFilterProcessor(SqlQueryContext<?,?,?> context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <T> @NotNull com.querydsl.core.types.Predicate
createBinaryCondition(ValueFilter<?,?> filter, com.querydsl.core.types.Path<T> path, ValueFilterValues<?,T> values)
protected <T> T
getSingleValue(PropertyValueFilter<T> filter)
Returns the single "real" value from the property filter (or null).protected boolean
isIgnoreCaseFilter(ValueFilter<?,?> filter)
protected com.querydsl.core.types.Ops
operation(ValueFilter<?,?> filter)
protected com.querydsl.core.types.Predicate
predicateWithNotTreated(com.querydsl.core.types.Path<?> path, com.querydsl.core.types.Predicate predicate)
Returns the predicate or (predicate AND path IS NOT NULL) if NOT is used somewhere above.protected com.querydsl.core.types.Predicate
singleValuePredicate(com.querydsl.core.types.Path<?> path, com.querydsl.core.types.Ops operator, Object value)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.evolveum.midpoint.repo.sqlbase.filtering.FilterProcessor
process
-
-
-
-
Field Detail
-
context
protected final SqlQueryContext<?,?,?> context
-
-
Constructor Detail
-
ItemFilterProcessor
protected ItemFilterProcessor(SqlQueryContext<?,?,?> context)
-
-
Method Detail
-
getSingleValue
@Nullable protected <T> T getSingleValue(PropertyValueFilter<T> filter)
Returns the single "real" value from the property filter (or null).
-
operation
protected com.querydsl.core.types.Ops operation(ValueFilter<?,?> filter) throws QueryException
- Throws:
QueryException
-
isIgnoreCaseFilter
protected boolean isIgnoreCaseFilter(ValueFilter<?,?> filter)
-
createBinaryCondition
@NotNull protected <T> @NotNull com.querydsl.core.types.Predicate createBinaryCondition(ValueFilter<?,?> filter, com.querydsl.core.types.Path<T> path, ValueFilterValues<?,T> values) throws QueryException
- Throws:
QueryException
-
singleValuePredicate
protected com.querydsl.core.types.Predicate singleValuePredicate(com.querydsl.core.types.Path<?> path, com.querydsl.core.types.Ops operator, Object value)
-
predicateWithNotTreated
protected com.querydsl.core.types.Predicate predicateWithNotTreated(com.querydsl.core.types.Path<?> path, com.querydsl.core.types.Predicate predicate)
Returns the predicate or (predicate AND path IS NOT NULL) if NOT is used somewhere above. This makes NOT truly complementary to non-NOT result.
-
-