Interface ValueFilter<V extends PrismValue,D extends ItemDefinition>
-
- All Superinterfaces:
DebugDumpable
,Freezable
,Itemable
,ItemFilter
,ObjectFilter
,PrismContextSensitive
,Revivable
,Serializable
- All Known Subinterfaces:
ComparativeFilter<T>
,EqualFilter<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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
canNestInsideExists(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)void
checkConsistence(boolean requireDefinitions)
ValueFilter<V,D>
clone()
Does a SHALLOW clone.boolean
equals(Object o, boolean exact)
@Nullable QName
getDeclaredMatchingRule()
Returns explicit matching rule provided in the filter.D
getDefinition()
@NotNull ItemName
getElementName()
@Nullable ExpressionWrapper
getExpression()
@NotNull ItemPath
getFullPath()
@Nullable QName
getMatchingRule()
Returns matching rule that should be used.@NotNull ItemPath
getParentPath()
ItemPath
getPath()
@Nullable ItemDefinition<?>
getRightHandSideDefinition()
@Nullable ItemPath
getRightHandSidePath()
V
getSingleValue()
Returns single value ornull
, throws exception if multiple values are present.@Nullable List<V>
getValues()
boolean
isRaw()
boolean
match(PrismContainerValue cvalue, MatchingRuleRegistry matchingRuleRegistry)
ValueFilter<V,D>
nested(ItemPath existsPath)
void
setDefinition(D definition)
void
setExpression(@Nullable ExpressionWrapper expression)
void
setMatchingRule(@Nullable QName matchingRule)
void
setRightHandSideDefinition(@Nullable ItemDefinition<?> rightHandSideDefinition)
void
setRightHandSidePath(@Nullable ItemPath rightHandSidePath)
void
setValue(V value)
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
-
Methods inherited from interface com.evolveum.midpoint.prism.query.ObjectFilter
accept, revive
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
-
-
-
Method Detail
-
getFullPath
@NotNull @NotNull ItemPath getFullPath()
- Specified by:
getFullPath
in interfaceItemFilter
-
getParentPath
@NotNull @NotNull ItemPath getParentPath()
-
getElementName
@NotNull @NotNull ItemName getElementName()
- Specified by:
getElementName
in interfaceItemable
-
getDefinition
@Nullable D getDefinition()
- Specified by:
getDefinition
in interfaceItemable
-
setDefinition
void setDefinition(@Nullable D definition)
-
getMatchingRule
@Nullable @Nullable QName 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
@Nullable @Nullable QName getDeclaredMatchingRule()
Returns explicit matching rule provided in the filter.
-
setMatchingRule
void setMatchingRule(@Nullable @Nullable QName matchingRule)
-
getSingleValue
@Nullable V getSingleValue()
Returns single value ornull
, throws exception if multiple values are present.
-
setValue
void setValue(V value)
- Parameters:
value
- value, has to be parent-less
-
getExpression
@Nullable @Nullable ExpressionWrapper getExpression()
-
setExpression
void setExpression(@Nullable @Nullable ExpressionWrapper expression)
-
getRightHandSidePath
@Nullable @Nullable ItemPath getRightHandSidePath()
-
setRightHandSidePath
void setRightHandSidePath(@Nullable @Nullable ItemPath rightHandSidePath)
-
getRightHandSideDefinition
@Nullable @Nullable ItemDefinition<?> getRightHandSideDefinition()
-
setRightHandSideDefinition
void setRightHandSideDefinition(@Nullable @Nullable ItemDefinition<?> rightHandSideDefinition)
-
isRaw
boolean isRaw()
-
match
boolean match(PrismContainerValue cvalue, MatchingRuleRegistry matchingRuleRegistry) throws SchemaException
- Specified by:
match
in interfaceObjectFilter
- Throws:
SchemaException
-
clone
ValueFilter<V,D> clone()
Description copied from interface:ObjectFilter
Does a SHALLOW clone.- Specified by:
clone
in interfaceObjectFilter
-
equals
boolean equals(Object o, boolean exact)
- Specified by:
equals
in interfaceObjectFilter
-
checkConsistence
void checkConsistence(boolean requireDefinitions)
- Specified by:
checkConsistence
in interfaceObjectFilter
-
canNestInsideExists
@Experimental boolean canNestInsideExists(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)- Parameters:
potential
- exists path- Returns:
- true if filter can be rewritten and nested inside exists
-
nested
@Experimental ValueFilter<V,D> nested(ItemPath existsPath)
-
-