Class ValueFilterImpl<V extends PrismValue,D extends ItemDefinition<?>>
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.query.ObjectFilterImpl
com.evolveum.midpoint.prism.impl.query.ValueFilterImpl<V,D>
- All Implemented Interfaces:
Freezable,Itemable,PrismContextSensitive,ItemFilter,ObjectFilter,ValueFilter<V,,D> Revivable,DebugDumpable,Serializable
- Direct Known Subclasses:
PropertyValueFilterImpl,RefFilterImpl
public abstract class ValueFilterImpl<V extends PrismValue,D extends ItemDefinition<?>>
extends ObjectFilterImpl
implements ValueFilter<V,D>
- See Also:
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedValueFilterImpl(@NotNull ItemPath fullPath, D definition, @Nullable QName matchingRule, @Nullable List<V> values, @Nullable ExpressionWrapper expression, @Nullable ItemPath rightHandSidePath, @Nullable ItemDefinition<?> rightHandSideDefinition) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanNestInsideExists(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) abstract ValueFilterImpl<V,D> clone()Does a SHALLOW clone.voidcollectUsedPaths(TypedItemPath base, Consumer<TypedItemPath> pathConsumer, boolean expandReferences) debugDump(int indent) protected voiddebugDump(int indent, StringBuilder sb) booleanboolean@Nullable QNameReturns explicit matching rule provided in the filter.@NotNull ItemName@Nullable ExpressionWrapperprotected abstract String@NotNull ItemPath@NotNull ItemPathgetPath()@Nullable ItemDefinition<?>@Nullable ItemPathReturns single value ornull, throws exception if multiple values are present.Returns a live list of values.inthashCode()booleanisRaw()abstract booleanmatch(PrismContainerValue<?> cvalue, MatchingRuleRegistry matchingRuleRegistry) protected voidvoidsetDefinition(D definition) voidsetExpression(@Nullable ExpressionWrapper expression) voidsetMatchingRule(@Nullable QName matchingRule) voidsetRightHandSideDefinition(@Nullable ItemDefinition<?> rightHandSideDefinition) voidsetRightHandSidePath(@Nullable ItemPath rightHandSidePath) voidtoString()protected StringMethods inherited from class com.evolveum.midpoint.prism.impl.query.ObjectFilterImpl
accept, revive, setPrismContextMethods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutableMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
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, reviveMethods inherited from interface com.evolveum.midpoint.prism.query.ValueFilter
getMatchingRule, hasNoValue, matchesOnly, nested
-
Constructor Details
-
ValueFilterImpl
protected ValueFilterImpl(@NotNull @NotNull ItemPath fullPath, @Nullable D definition, @Nullable @Nullable QName matchingRule, @Nullable @Nullable List<V> values, @Nullable @Nullable ExpressionWrapper expression, @Nullable @Nullable ItemPath rightHandSidePath, @Nullable @Nullable ItemDefinition<?> rightHandSideDefinition)
-
-
Method Details
-
getFullPath
- Specified by:
getFullPathin interfaceItemFilter- Specified by:
getFullPathin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getParentPath
- Specified by:
getParentPathin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getElementName
- Specified by:
getElementNamein interfaceItemable- Specified by:
getElementNamein interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getDefinition
- Specified by:
getDefinitionin interfaceItemable- Specified by:
getDefinitionin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
setDefinition
- Specified by:
setDefinitionin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getDeclaredMatchingRule
Description copied from interface:ValueFilterReturns explicit matching rule provided in the filter.- Specified by:
getDeclaredMatchingRulein interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
setMatchingRule
- Specified by:
setMatchingRulein interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getValues
Description copied from interface:ValueFilterReturns a live list of values. The filter values can be manipulated through it. TODO - reconsider.- Specified by:
getValuesin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getSingleValue
Description copied from interface:ValueFilterReturns single value ornull, throws exception if multiple values are present.- Specified by:
getSingleValuein interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
setValue
- Specified by:
setValuein interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>> - Parameters:
value- value, has to be parent-less
-
getExpression
- Specified by:
getExpressionin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
setExpression
- Specified by:
setExpressionin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getRightHandSidePath
- Specified by:
getRightHandSidePathin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
setRightHandSidePath
- Specified by:
setRightHandSidePathin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getRightHandSideDefinition
- Specified by:
getRightHandSideDefinitionin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
setRightHandSideDefinition
public void setRightHandSideDefinition(@Nullable @Nullable ItemDefinition<?> rightHandSideDefinition) - Specified by:
setRightHandSideDefinitionin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
getPrismContext
- Specified by:
getPrismContextin interfacePrismContextSensitive- Overrides:
getPrismContextin classObjectFilterImpl
-
getPath
- Specified by:
getPathin interfaceItemable- Specified by:
getPathin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
isRaw
public boolean isRaw()- Specified by:
isRawin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
match
public abstract boolean match(PrismContainerValue<?> cvalue, MatchingRuleRegistry matchingRuleRegistry) throws SchemaException - Specified by:
matchin interfaceObjectFilter- Specified by:
matchin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>> - Throws:
SchemaException
-
clone
Description copied from interface:ObjectFilterDoes a SHALLOW clone.- Specified by:
clonein interfaceObjectFilter- Specified by:
clonein interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>> - Specified by:
clonein classObjectFilterImpl
-
equals
-
equals
- Specified by:
equalsin interfaceObjectFilter- Specified by:
equalsin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
hashCode
public int hashCode() -
debugDump
- Specified by:
debugDumpin interfaceDebugDumpable
-
toString
-
getFilterName
-
debugDump
-
toString
-
performFreeze
protected void performFreeze()- Specified by:
performFreezein classObjectFilterImpl
-
checkConsistence
public void checkConsistence(boolean requireDefinitions) - Specified by:
checkConsistencein interfaceObjectFilter- Specified by:
checkConsistencein interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>>
-
canNestInsideExists
Description copied from interface:ValueFilterReturns 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)- Specified by:
canNestInsideExistsin interfaceValueFilter<V extends PrismValue,D extends ItemDefinition<?>> - Returns:
- true if filter can be rewritten and nested inside exists
-
collectUsedPaths
public void collectUsedPaths(TypedItemPath base, Consumer<TypedItemPath> pathConsumer, boolean expandReferences) - Specified by:
collectUsedPathsin interfaceObjectFilter
-