Class PolyStringItemFilterProcessor<T>
- java.lang.Object
-
- com.evolveum.midpoint.repo.sqlbase.filtering.item.ItemValueFilterProcessor<PropertyValueFilter<T>>
-
- com.evolveum.midpoint.repo.sqlbase.filtering.item.PolyStringItemFilterProcessor<T>
-
- Type Parameters:
T
- type of values in filter - PolyString, PolyStringType and String is supported
- All Implemented Interfaces:
FilterProcessor<PropertyValueFilter<T>>
,RightHandProcessor
public class PolyStringItemFilterProcessor<T> extends ItemValueFilterProcessor<PropertyValueFilter<T>>
Filter processor for a polystring attribute path (Prism item). This creates conditions to either*_orig
or*_norm
column depending on matching conditions. Sorting is always executed by*_orig
column.
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT
static String
NORM
static String
NORM_IGNORE_CASE
static String
ORIG
static String
ORIG_IGNORE_CASE
static String
STRICT
static String
STRICT_IGNORE_CASE
-
Fields inherited from class com.evolveum.midpoint.repo.sqlbase.filtering.item.ItemValueFilterProcessor
context
-
-
Constructor Summary
Constructors Constructor Description PolyStringItemFilterProcessor(SqlQueryContext<?,Q,R> context, Function<Q,com.querydsl.core.types.dsl.StringPath> origMapping, Function<Q,com.querydsl.core.types.dsl.StringPath> normMapping)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static String
extractNorm(Object value, PrismContext prismContext)
Method extracting normalized value from (potentially poly-)string.static String
extractOrig(Object value)
protected boolean
isIgnoreCaseFilter(ValueFilter<?,?> filter)
com.querydsl.core.types.Predicate
process(PropertyValueFilter<T> filter)
com.querydsl.core.types.Predicate
process(PropertyValueFilter<T> filter, RightHandProcessor rightPath)
com.querydsl.core.types.Expression<?>
rightHand(ValueFilter<?,?> filter)
-
Methods inherited from class com.evolveum.midpoint.repo.sqlbase.filtering.item.ItemValueFilterProcessor
createBinaryCondition, getSingleValue, operation, predicateWithNotTreated, singleValuePredicate, singleValuePredicateWithNotTreated
-
-
-
-
Field Detail
-
STRICT
public static final String STRICT
-
ORIG
public static final String ORIG
-
NORM
public static final String NORM
-
DEFAULT
public static final String DEFAULT
-
STRICT_IGNORE_CASE
public static final String STRICT_IGNORE_CASE
- See Also:
- Constant Field Values
-
ORIG_IGNORE_CASE
public static final String ORIG_IGNORE_CASE
- See Also:
- Constant Field Values
-
NORM_IGNORE_CASE
public static final String NORM_IGNORE_CASE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PolyStringItemFilterProcessor
public PolyStringItemFilterProcessor(SqlQueryContext<?,Q,R> context, Function<Q,com.querydsl.core.types.dsl.StringPath> origMapping, Function<Q,com.querydsl.core.types.dsl.StringPath> normMapping)
-
-
Method Detail
-
process
public com.querydsl.core.types.Predicate process(PropertyValueFilter<T> filter) throws QueryException
- Throws:
QueryException
-
isIgnoreCaseFilter
protected boolean isIgnoreCaseFilter(ValueFilter<?,?> filter)
- Overrides:
isIgnoreCaseFilter
in classItemValueFilterProcessor<PropertyValueFilter<T>>
-
extractNorm
public static String extractNorm(Object value, PrismContext prismContext)
Method extracting normalized value from (potentially poly-)string. May require adapter method to providePrismContext
for normalization, see usages.
-
rightHand
public com.querydsl.core.types.Expression<?> rightHand(ValueFilter<?,?> filter) throws RepositoryException
- Specified by:
rightHand
in interfaceRightHandProcessor
- Overrides:
rightHand
in classItemValueFilterProcessor<PropertyValueFilter<T>>
- Throws:
RepositoryException
-
process
public com.querydsl.core.types.Predicate process(PropertyValueFilter<T> filter, RightHandProcessor rightPath) throws RepositoryException
- Throws:
RepositoryException
-
-