Package com.evolveum.midpoint.prism
Interface PrismReference
-
- All Superinterfaces:
DebugDumpable
,Freezable
,Item<PrismReferenceValue,PrismReferenceDefinition>
,Itemable
,ParentVisitable
,PathVisitable
,PrismContextSensitive
,Revivable
,Serializable
,Visitable
- All Known Implementing Classes:
DummyReferenceImpl
,PrismReferenceImpl
public interface PrismReference extends Item<PrismReferenceValue,PrismReferenceDefinition>
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
-
-
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 PrismReference
clone()
Literal clone.PrismReference
cloneComplex(CloneStrategy strategy)
Complex clone with different cloning strategies.ReferenceDelta
createDelta()
Creates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g.ReferenceDelta
createDelta(ItemPath path)
PrismReference
createImmutableClone()
String
debugDump(int indent)
<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.PrismReferenceValue
findValueByOid(String oid)
String
getOid()
Referencable
getRealValue()
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>
getRealValues()
Returns (potentially empty) collection of "real values".PolyString
getTargetName()
boolean
merge(PrismReferenceValue value)
String
toString()
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
-
Methods 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, find, findValue, findValue, getAllItems, getAllValues, getAnyValue, getAnyValue, getClonedValues, getDefinition, getDisplayName, getElementName, getHelp, getHighestId, getParent, getPath, getPrismContextLocal, getRealValue, getRealValuesArray, getRealValuesOrRawTypes, getUserData, getUserData, getValue, 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, valuesStream
-
Methods inherited from interface com.evolveum.midpoint.prism.PathVisitable
accept
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
-
-
-
Method Detail
-
getRealValue
Referencable getRealValue()
Description copied from interface:Item
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. 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:
getRealValue
in interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
-
getRealValues
@NotNull @NotNull Collection<Referencable> getRealValues()
Description copied from interface:Item
Returns (potentially empty) collection of "real values".- Specified by:
getRealValues
in interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
-
merge
boolean merge(PrismReferenceValue value)
-
getOid
String getOid()
-
getTargetName
PolyString getTargetName()
-
findValueByOid
PrismReferenceValue findValueByOid(String oid)
-
findPartial
<IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path)
- Specified by:
findPartial
in interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
-
createDelta
ReferenceDelta createDelta()
Description copied from interface:Item
Creates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g. PropertyDelta, ContainerDelta, ...)- Specified by:
createDelta
in interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
-
createDelta
ReferenceDelta createDelta(ItemPath path)
- Specified by:
createDelta
in interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
-
clone
PrismReference clone()
Description copied from interface:Item
Literal clone.- Specified by:
clone
in interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
-
createImmutableClone
PrismReference createImmutableClone()
- Specified by:
createImmutableClone
in interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
-
cloneComplex
PrismReference cloneComplex(CloneStrategy strategy)
Description copied from interface:Item
Complex clone with different cloning strategies.- Specified by:
cloneComplex
in interfaceItem<PrismReferenceValue,PrismReferenceDefinition>
- See Also:
CloneStrategy
-
debugDump
String debugDump(int indent)
- Specified by:
debugDump
in interfaceDebugDumpable
-
findReferencedItem
@Experimental <I extends Item<?,?>> I findReferencedItem(ItemPath path, Class<I> type)
Tries 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.
-
-