Class JsonbPolysPathItemFilterProcessor<T>
java.lang.Object
com.evolveum.midpoint.repo.sqlbase.filtering.item.ItemValueFilterProcessor<PropertyValueFilter<T>>
com.evolveum.midpoint.repo.sqlbase.filtering.item.SinglePathItemFilterProcessor<T,JsonbPath>
com.evolveum.midpoint.repo.sqale.filtering.JsonbPolysPathItemFilterProcessor<T>
- Type Parameters:
T
- PolyString or String
- All Implemented Interfaces:
FilterProcessor<PropertyValueFilter<T>>
,RightHandProcessor
public class JsonbPolysPathItemFilterProcessor<T>
extends SinglePathItemFilterProcessor<T,JsonbPath>
Filter processor for multi-value property stored as JSONB array.
Support for contains and other operations was added in 4.6.
Multiple values in filter are not supported.
-
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
ConstructorsConstructorDescriptionJsonbPolysPathItemFilterProcessor
(SqlQueryContext<?, Q, R> context, @NotNull Function<Q, JsonbPath> rootToPath) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
isIgnoreCaseFilter
(ValueFilter<?, ?> filter) Returns true, if the filter implies ignore-case behavior.com.querydsl.core.types.Predicate
process
(PropertyValueFilter<T> filter) 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, operation, predicateWithNotTreated, singleValuePredicate, singleValuePredicateWithNotTreated
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
-
Constructor Details
-
JsonbPolysPathItemFilterProcessor
public JsonbPolysPathItemFilterProcessor(SqlQueryContext<?, Q, R> context, @NotNull @NotNull Function<Q, JsonbPath> rootToPath)
-
-
Method Details
-
process
public com.querydsl.core.types.Predicate process(PropertyValueFilter<T> filter) throws RepositoryException - Throws:
RepositoryException
-
isIgnoreCaseFilter
Description copied from class:ItemValueFilterProcessor
Returns true, if the filter implies ignore-case behavior. Used when filter is transformed to SQL operation, or to determine whether operands need some treatment (e.g. `lower()` function). Can be overridden to cover other matching rules, e.g. for poly-strings.- Overrides:
isIgnoreCaseFilter
in classItemValueFilterProcessor<PropertyValueFilter<T>>
-