Package com.evolveum.midpoint.prism.impl
Class PrismReferenceImpl
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.ItemImpl<PrismReferenceValue,PrismReferenceDefinition>
com.evolveum.midpoint.prism.impl.PrismReferenceImpl
- All Implemented Interfaces:
Freezable,Item<PrismReferenceValue,,PrismReferenceDefinition> Itemable,ItemDefinitionTransformer.TransformableItem,ParentVisitable,PathVisitable,PrismContextSensitive,PrismReference,Revivable,Visitable,DebugDumpable,Serializable
public class PrismReferenceImpl
extends ItemImpl<PrismReferenceValue,PrismReferenceDefinition>
implements PrismReference
Object Reference is a property that describes reference to an object. It is
used to represent association between objects. For example reference from
User object to Account objects that belong to the user. The reference is a
simple uni-directional link using an OID as an identifier.
This type should be used for all object references so the implementations can
detect them and automatically resolve them.
- Author:
- semancik
- See Also:
-
Field Summary
Fields inherited from class com.evolveum.midpoint.prism.impl.ItemImpl
definition, elementName, incomplete, parent, valuesFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Constructor Summary
ConstructorsConstructorDescriptionPrismReferenceImpl(QName name) PrismReferenceImpl(QName name, PrismReferenceDefinition definition, PrismContext prismContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidclone()Literal clone.cloneComplex(CloneStrategy strategy) Complex clone with different cloning strategies.protected voidcopyValues(CloneStrategy strategy, PrismReferenceImpl clone) Creates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g.createDelta(ItemPath path) debugDump(int indent) Returns object (Item or PrismValue) pointed to by the given path.<IV extends PrismValue,ID extends ItemDefinition<?>>
PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) <I extends Item<?,?>>
IfindReferencedItem(ItemPath path, Class<I> type) Tries to find referenced path (path starting with object derefence) in-memory.findValueByOid(String oid) protected StringReturn a human readable name of this class suitable for logs.getOid()Returns the "real value" (content) of this item: - value contained in PrismPropertyValue - Referencable in PrismReferenceValue - Containerable in PrismContainerValue - Objectable in PrismObjectValue Note that the real value can contain operational items.@NotNull Collection<Referencable>Returns (potentially empty) collection of "real values".@NotNull PrismReferenceValuegetValue()Returns the value, if there is only one.booleanmerge(PrismReferenceValue value) toString()Methods inherited from class com.evolveum.midpoint.prism.impl.ItemImpl
accept, accept, acceptParentVisitor, add, addAll, addForced, addIgnoringEquivalents, addInternal, addInternalExecution, addRespectingMetadataAndCloning, appendDebugDumpSuffix, applyDefinition, applyDefinition, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, copyValues, diff, equals, equals, equals, fixupDelta, getAllItems, getAllValues, getDefinition, getElementName, getHighestId, getParent, getPath, getPathComponent, getPrismContext, getPrismContextLocal, getRealValue, getRealValuesArray, getUserData, getUserData, getValues, hashCode, hashCode, hashCode, isIncomplete, merge, normalize, performFreeze, propagateDeepCloneDefinition, recomputeAllValues, remove, remove, removeAll, removeRespectingMetadata, replace, replaceAll, revive, setDefinition, setElementName, setIncomplete, setParent, setPrismContext, setUserData, transformDefinition, valueRemovedMethods 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.Item
acceptParentVisitor, add, add, addAll, addAll, addIgnoringEquivalents, addRespectingMetadataAndCloning, applyDefinition, applyDefinition, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, contains, contains, copy, diff, diff, equals, equals, equals, filterValues, filterYields, findValue, findValue, getAllItems, getAllValues, getAnyValue, getAnyValue, getClonedValues, getDefinition, getDisplayName, getElementName, getHelp, getHighestId, getParent, getPath, getPrismContextLocal, getRealValue, getRealValuesArray, getRealValuesOrRawTypes, getUserData, getUserData, getValues, hasAnyValue, hasCompleteDefinition, hashCode, hashCode, hashCode, hasNoValues, hasRaw, isEmpty, isIncomplete, isOperational, isRaw, isSingleValue, isSingleValueByDefinition, merge, normalize, recomputeAllValues, remove, remove, removeAll, removeIf, removeRespectingMetadata, replace, replaceAll, setDefinition, setElementName, setIncomplete, setParent, setPrismContext, setUserData, size, valuesStreamMethods inherited from interface com.evolveum.midpoint.prism.PathVisitable
acceptMethods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
Constructor Details
-
PrismReferenceImpl
-
PrismReferenceImpl
public PrismReferenceImpl(QName name, PrismReferenceDefinition definition, PrismContext prismContext)
-
-
Method Details
-
getValue
Description copied from interface:ItemReturns the value, if there is only one. Throws exception if there are more values. If there is no value, this method either: - returns null (for properties) - throws an exception (for items that can hold multiple values) - creates an empty value (for containers and references). TODO think again whether getOrCreateValue would not be better- Specified by:
getValuein interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Overrides:
getValuein classItemImpl<PrismReferenceValue,PrismReferenceDefinition>
-
getRealValue
Description copied from interface:ItemReturns the "real value" (content) of this item: - value contained in PrismPropertyValue - Referencable in PrismReferenceValue - Containerable in PrismContainerValue - Objectable in PrismObjectValue Note that the real value can contain operational items. It can also contain container IDs (although they are not considered to be part of the real value). It does not contain information about item element name nor other metadata like origin, definition, etc. (Although e.g. Containerable can be converted back into PrismContainerValue that can be used to retrieve this information.)- Specified by:
getRealValuein interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Specified by:
getRealValuein interfacePrismReference- Overrides:
getRealValuein classItemImpl<PrismReferenceValue,PrismReferenceDefinition>
-
getRealValues
Description copied from interface:ItemReturns (potentially empty) collection of "real values".- Specified by:
getRealValuesin interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Specified by:
getRealValuesin interfacePrismReference
-
merge
- Specified by:
mergein interfacePrismReference
-
getOid
- Specified by:
getOidin interfacePrismReference
-
getTargetName
- Specified by:
getTargetNamein interfacePrismReference
-
findValueByOid
- Specified by:
findValueByOidin interfacePrismReference
-
find
Description copied from interface:ItemReturns object (Item or PrismValue) pointed to by the given path.- Specified by:
findin interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
-
findPartial
public <IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) - Specified by:
findPartialin interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Specified by:
findPartialin interfacePrismReference
-
createDelta
Description copied from interface:ItemCreates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g. PropertyDelta, ContainerDelta, ...)- Specified by:
createDeltain interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Specified by:
createDeltain interfacePrismReference
-
createDelta
- Specified by:
createDeltain interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Specified by:
createDeltain interfacePrismReference
-
checkDefinition
- Specified by:
checkDefinitionin classItemImpl<PrismReferenceValue,PrismReferenceDefinition>
-
clone
Description copied from interface:ItemLiteral clone.- Specified by:
clonein interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Specified by:
clonein interfacePrismReference- Specified by:
clonein classItemImpl<PrismReferenceValue,PrismReferenceDefinition>
-
createImmutableClone
- Specified by:
createImmutableClonein interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Specified by:
createImmutableClonein interfacePrismReference- Overrides:
createImmutableClonein classItemImpl<PrismReferenceValue,PrismReferenceDefinition>
-
cloneComplex
Description copied from interface:ItemComplex clone with different cloning strategies.- Specified by:
cloneComplexin interfaceItem<PrismReferenceValue,PrismReferenceDefinition> - Specified by:
cloneComplexin interfacePrismReference- See Also:
-
copyValues
-
toString
- Specified by:
toStringin interfacePrismReference- Overrides:
toStringin classItemImpl<PrismReferenceValue,PrismReferenceDefinition>
-
debugDump
- Specified by:
debugDumpin interfaceDebugDumpable- Specified by:
debugDumpin interfacePrismReference- Overrides:
debugDumpin classItemImpl<PrismReferenceValue,PrismReferenceDefinition>
-
getDebugDumpClassName
Return a human readable name of this class suitable for logs.- Overrides:
getDebugDumpClassNamein classItemImpl<PrismReferenceValue,PrismReferenceDefinition>
-
findReferencedItem
Description copied from interface:PrismReferenceTries to find referenced path (path starting with object derefence) in-memory. This works only for single-value references, whose value also contains embedded object. The search is performed on embedded object.- Specified by:
findReferencedItemin interfacePrismReference
-