Class ValueFilterValues<T>
- java.lang.Object
-
- com.evolveum.midpoint.repo.sql.pure.mapping.ValueFilterValues<T>
-
public class ValueFilterValues<T> extends Object
Object wraps zero, one or multiple values and makes their processing easier. Instead of just wrapping the values it uses the whole filter object to utilize its convenience methods.Returned values are typed to Object, because they can be converted from original type. Conversion is moved into this class, so the client code doesn't have to handle translation from
PrismPropertyValue
to "real value" and then to convert it. BothsingleValue()
andallValues()
are handled the same way.If
conversionFunction
is used anyIllegalArgumentException
will be rewrapped asQueryException
, other runtime exceptions are not intercepted.
-
-
Constructor Summary
Constructors Constructor Description ValueFilterValues(@NotNull PropertyValueFilter<T> filter, @Nullable Function<T,?> conversionFunction)
ValueFilterValues(PropertyValueFilter<T> filter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull List<?>
allValues()
Returns multiple values, all converted, or empty list - never null.@NotNull List<T>
allValuesRaw()
Returns multiple real values without conversion or empty list - never null.boolean
isEmpty()
boolean
isMultiValue()
@Nullable Object
singleValue()
Returns single value or null or fails if there are multiple values, all converted.T
singleValueRaw()
Returns single value or null or fails if there are multiple values without conversion.
-
-
-
Constructor Detail
-
ValueFilterValues
public ValueFilterValues(PropertyValueFilter<T> filter)
-
ValueFilterValues
public ValueFilterValues(@NotNull @NotNull PropertyValueFilter<T> filter, @Nullable @Nullable Function<T,?> conversionFunction)
-
-
Method Detail
-
singleValue
@Nullable public @Nullable Object singleValue() throws QueryException
Returns single value or null or fails if there are multiple values, all converted.- Throws:
QueryException
-
singleValueRaw
@Nullable public T singleValueRaw()
Returns single value or null or fails if there are multiple values without conversion. Null-safe version ofValueFilter.getSingleValue()
followed byPrismPropertyValue.getRealValue()
.
-
allValues
@NotNull public @NotNull List<?> allValues()
Returns multiple values, all converted, or empty list - never null.
-
allValuesRaw
@NotNull public @NotNull List<T> allValuesRaw()
Returns multiple real values without conversion or empty list - never null.
-
isEmpty
public boolean isEmpty()
-
isMultiValue
public boolean isMultiValue()
-
-