Interface ValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
- All Superinterfaces:
DebugDumpable,Freezable,Itemable,ItemFilter,ObjectFilter,Revivable,Serializable
- All Known Subinterfaces:
AnyInFilter<T>,ComparativeFilter<T>,EqualFilter<T>,FuzzyStringMatchFilter<T>,GreaterFilter<T>,LessFilter<T>,PropertyValueFilter<T>,RefFilter,SubstringFilter<T>
public interface ValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
extends ObjectFilter, ItemFilter, Itemable
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescriptiondefault booleancanNestInsideExists(ItemPath existsPath) Returns true, if current filter can be rewritten to be nested inside exists filter with prefix path This means filter with path prefix/item will become prefix exists (item)voidcheckConsistence(boolean requireDefinitions) clone()Does a SHALLOW clone.boolean@Nullable QNameReturns explicit matching rule provided in the filter.@NotNull ItemName@Nullable ExpressionWrapper@NotNull ItemPath@Nullable QNameReturns matching rule that should be used.@NotNull ItemPathgetPath()@Nullable ItemDefinition<?>@Nullable ItemPathReturns single value ornull, throws exception if multiple values are present.Returns a live list of values.default booleanReturns true if there are no values (list is null or empty).booleanisRaw()booleanmatch(PrismContainerValue<?> cvalue, MatchingRuleRegistry matchingRuleRegistry) default booleanmatchesOnly(ItemPath... paths) Returns true, if filter processes only enumerated item paths and does not use referencedBy, ownedBy where path context changes drastically.default ValueFilter<V,D> voidsetDefinition(D definition) voidsetExpression(@Nullable ExpressionWrapper expression) voidsetMatchingRule(@Nullable QName matchingRule) voidsetRightHandSideDefinition(@Nullable ItemDefinition<?> rightHandSideDefinition) voidsetRightHandSidePath(@Nullable ItemPath rightHandSidePath) voidvoidsetValues(@NotNull Collection<V> values) Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.query.ObjectFilter
accept, collectUsedPaths, revive, transformItemPaths, usedPaths
-
Method Details
-
getFullPath
- Specified by:
getFullPathin interfaceItemFilter
-
getParentPath
-
getElementName
- Specified by:
getElementNamein interfaceItemable
-
getDefinition
- Specified by:
getDefinitionin interfaceItemable
-
setDefinition
-
getMatchingRule
Returns matching rule that should be used. This can be matching rule provided with the filter or some fallback/default. See MID-6935 for more, currently only returns the explicitly provided matching rule. -
getDeclaredMatchingRule
Returns explicit matching rule provided in the filter. -
setMatchingRule
-
getValues
Returns a live list of values. The filter values can be manipulated through it. TODO - reconsider. -
hasNoValue
default boolean hasNoValue()Returns true if there are no values (list is null or empty). If false is returned, thengetValues()is definitely not null. -
getSingleValue
Returns single value ornull, throws exception if multiple values are present. -
setValue
- Parameters:
value- value, has to be parent-less
-
setValues
- Parameters:
values- values to be set, have to be parent-less
-
getExpression
-
setExpression
-
getRightHandSidePath
-
setRightHandSidePath
-
getRightHandSideDefinition
-
setRightHandSideDefinition
-
getPath
ItemPath getPath() -
isRaw
boolean isRaw() -
match
boolean match(PrismContainerValue<?> cvalue, MatchingRuleRegistry matchingRuleRegistry) throws SchemaException - Specified by:
matchin interfaceObjectFilter- Throws:
SchemaException
-
clone
ValueFilter<V,D> clone()Description copied from interface:ObjectFilterDoes a SHALLOW clone.- Specified by:
clonein interfaceObjectFilter
-
equals
- Specified by:
equalsin interfaceObjectFilter
-
checkConsistence
void checkConsistence(boolean requireDefinitions) - Specified by:
checkConsistencein interfaceObjectFilter
-
matchesOnly
Description copied from interface:ObjectFilterReturns true, if filter processes only enumerated item paths and does not use referencedBy, ownedBy where path context changes drastically. Useful to find if filter could be executed with limited set of information (e.g. only access to target name inRefFilter- Specified by:
matchesOnlyin interfaceObjectFilter
-
canNestInsideExists
Returns true, if current filter can be rewritten to be nested inside exists filter with prefix path This means filter with path prefix/item will become prefix exists (item)- Parameters:
potential- exists path- Returns:
- true if filter can be rewritten and nested inside exists
-
nested
-