Package com.evolveum.midpoint.prism
Interface PrismValue
-
- All Superinterfaces:
DebugDumpable
,PathVisitable
,Revivable
,Serializable
,Visitable
- All Known Subinterfaces:
PrismContainerValue<C>
,PrismObjectValue<O>
,PrismPropertyValue<T>
,PrismReferenceValue
- All Known Implementing Classes:
PrismContainerValueImpl
,PrismObjectValueImpl
,PrismPropertyValueImpl
,PrismReferenceValueImpl
,PrismValueImpl
public interface PrismValue extends Visitable, PathVisitable, Serializable, DebugDumpable, Revivable
- Author:
- semancik
-
-
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 void
accept(Visitor visitor)
void
accept(Visitor visitor, ItemPath path, boolean recursive)
void
applyDefinition(ItemDefinition definition)
void
applyDefinition(ItemDefinition definition, boolean force)
void
checkConsistenceInternal(Itemable rootItem, boolean requireDefinitions, boolean prohibitRaw, ConsistencyCheckScope scope)
void
clearParent()
Used when we are removing the value from the previous parent.PrismValue
clone()
Literal clone.PrismValue
cloneComplex(CloneStrategy strategy)
Complex clone with different cloning strategies.Collection<? extends ItemDelta>
diff(PrismValue otherValue)
Assumes matching representations.Collection<? extends ItemDelta>
diff(PrismValue otherValue, ParameterizedEquivalenceStrategy strategy)
Assumes matching representations.boolean
equals(PrismValue otherValue, EquivalenceStrategy strategy)
boolean
equals(PrismValue otherValue, ParameterizedEquivalenceStrategy strategy)
boolean
equals(PrismValue thisValue, PrismValue otherValue)
Object
find(ItemPath path)
Collection<PrismValue>
getAllValues(ItemPath path)
Objectable
getOriginObject()
OriginType
getOriginType()
Itemable
getParent()
PrismContainerValue<?>
getParentContainerValue()
ItemPath
getPath()
PrismContext
getPrismContext()
Class<?>
getRealClass()
<T> T
getRealValue()
PrismValue
getRootValue()
QName
getTypeName()
Map<String,Object>
getUserData()
Object
getUserData(String key)
int
hashCode(EquivalenceStrategy equivalenceStrategy)
int
hashCode(ParameterizedEquivalenceStrategy equivalenceStrategy)
boolean
isEmpty()
boolean
isImmutable()
boolean
isRaw()
void
normalize()
void
recompute()
Recompute the value or otherwise "initialize" it before adding it to a prism tree.void
recompute(PrismContext prismContext)
boolean
representsSameValue(PrismValue other, boolean lax)
Returns true if this and other value represent the same value.void
revive(PrismContext prismContext)
void
setImmutable(boolean immutable)
void
setOriginObject(Objectable source)
void
setOriginType(OriginType type)
void
setParent(Itemable parent)
void
setPrismContext(PrismContext prismContext)
void
setUserData(String key, Object value)
String
toHumanReadableString()
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
-
-
-
Method Detail
-
setPrismContext
void setPrismContext(PrismContext prismContext)
-
setOriginObject
void setOriginObject(Objectable source)
-
setOriginType
void setOriginType(OriginType type)
-
getOriginType
OriginType getOriginType()
-
getOriginObject
Objectable getOriginObject()
-
getParent
Itemable getParent()
-
setParent
void setParent(Itemable parent)
-
getPath
@NotNull ItemPath getPath()
-
clearParent
void clearParent()
Used when we are removing the value from the previous parent. Or when we know that the previous parent will be discarded and we want to avoid unnecessary cloning.
-
getPrismContext
PrismContext getPrismContext()
-
applyDefinition
void applyDefinition(ItemDefinition definition) throws SchemaException
- Throws:
SchemaException
-
applyDefinition
void applyDefinition(ItemDefinition definition, boolean force) throws SchemaException
- Throws:
SchemaException
-
revive
void revive(PrismContext prismContext) throws SchemaException
- Specified by:
revive
in interfaceRevivable
- Throws:
SchemaException
-
recompute
void recompute()
Recompute the value or otherwise "initialize" it before adding it to a prism tree. This may as well do nothing if no recomputing or initialization is needed.
-
recompute
void recompute(PrismContext prismContext)
-
accept
void accept(Visitor visitor, ItemPath path, boolean recursive)
- Specified by:
accept
in interfacePathVisitable
-
checkConsistenceInternal
void checkConsistenceInternal(Itemable rootItem, boolean requireDefinitions, boolean prohibitRaw, ConsistencyCheckScope scope)
-
representsSameValue
boolean representsSameValue(PrismValue other, boolean lax)
Returns true if this and other value represent the same value. E.g. if they have the same IDs, OIDs or it is otherwise know that they "belong together" without a deep examination of the values.- Parameters:
lax
- If we can reasonably assume that the two values belong together even if they don't have the same ID, e.g. if they both belong to single-valued parent items. This is useful e.g. when comparing multi-valued containers. But can cause problems when we want to be sure we are removing the correct value.
-
normalize
void normalize()
-
clone
PrismValue clone()
Literal clone.
-
cloneComplex
PrismValue cloneComplex(CloneStrategy strategy)
Complex clone with different cloning strategies.- See Also:
CloneStrategy
-
hashCode
int hashCode(@NotNull EquivalenceStrategy equivalenceStrategy)
-
hashCode
int hashCode(@NotNull ParameterizedEquivalenceStrategy equivalenceStrategy)
-
equals
boolean equals(PrismValue otherValue, @NotNull EquivalenceStrategy strategy)
-
equals
boolean equals(PrismValue otherValue, @NotNull ParameterizedEquivalenceStrategy strategy)
-
equals
boolean equals(PrismValue thisValue, PrismValue otherValue)
-
diff
Collection<? extends ItemDelta> diff(PrismValue otherValue)
Assumes matching representations. I.e. it assumes that both this and otherValue represent the same instance of item. E.g. the container with the same ID.
-
diff
Collection<? extends ItemDelta> diff(PrismValue otherValue, ParameterizedEquivalenceStrategy strategy)
Assumes matching representations. I.e. it assumes that both this and otherValue represent the same instance of item. E.g. the container with the same ID.
-
isImmutable
boolean isImmutable()
-
setImmutable
void setImmutable(boolean immutable)
-
getRealClass
@Nullable Class<?> getRealClass()
-
getRealValue
@Nullable <T> T getRealValue()
-
getRootValue
PrismValue getRootValue()
-
getParentContainerValue
PrismContainerValue<?> getParentContainerValue()
-
getTypeName
QName getTypeName()
-
getAllValues
@NotNull Collection<PrismValue> getAllValues(ItemPath path)
-
isRaw
boolean isRaw()
-
isEmpty
boolean isEmpty()
-
toHumanReadableString
String toHumanReadableString()
-
-