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
ConstructorDescriptionJsonbPolysPathItemFilterProcessor
(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, 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>>
-