Package com.evolveum.midpoint.prism
Interface PrismReferenceValue
- All Superinterfaces:
- DebugDumpable,- Freezable,- MidpointOriginMetadata,- PathVisitable,- PrismContextSensitive,- PrismValue,- Revivable,- Serializable,- ShortDumpable,- Visitable
- All Known Implementing Classes:
- PrismReferenceValueImpl
- Author:
- Radovan Semancik
- 
Field SummaryFields inherited from interface com.evolveum.midpoint.util.DebugDumpableINDENT_STRING
- 
Method SummaryModifier and TypeMethodDescriptionvoidapplyDefinition(ItemDefinition definition, boolean force) voidapplyDefinition(PrismReferenceDefinition definition, boolean force) clone()Literal clone.cloneComplex(CloneStrategy strategy) Complex clone with different cloning strategies.debugDump(int indent, boolean expandObject) default @Nullable QNameDetermines the type name from the value or from its definition (if known).<IV extends PrismValue,ID extends ItemDefinition<?>> 
 PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) <I extends Item<?,?>> 
 IfindReferencedItem(ItemPath path, Class<I> type) default @NotNull EvaluationTimeType<O extends Objectable>
 PrismObject<O>Returns object that this reference points to.getOid()OID of the object that this reference refers to (reference target).Class<?>@Nullable ReferencableReturns the statically-typed "real value".Returns cached name of the target object.Returns XSD type of the object that this reference refers to.getTargetTypeCompileTimeClass(PrismContext prismContext) voidsetDescription(String description) voidsetFilter(SearchFilterType filter) voidsetObject(PrismObject<?> object) voidvoidsetReferentialIntegrity(ReferentialIntegrityType referentialIntegrity) voidsetRelation(QName relation) voidsetResolutionTime(EvaluationTimeType resolutionTime) voidsetTargetName(PolyString name) voidsetTargetName(PolyStringType name) voidsetTargetType(QName targetType) voidsetTargetType(QName targetType, boolean allowEmptyNamespace) Returns a version of this value that is canonical, that means it has the minimal form.Methods inherited from interface com.evolveum.midpoint.util.DebugDumpabledebugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.FreezablecheckImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.metadata.MidpointOriginMetadatagetOriginObject, getOriginType, setOriginObject, setOriginTypeMethods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitivegetPrismContextMethods inherited from interface com.evolveum.midpoint.prism.PrismValueaccept, accept, applyDefinition, checkConsistenceInternal, clearParent, cloneIfImmutable, diff, equals, equals, find, getAllItems, getAllValues, getNearestValueOfType, getParent, getParentContainerValue, getPath, getRealValueIfExists, getRealValueOrRawType, getRootObjectable, getRootValue, getTypeName, getUserData, getUserData, getValueMetadata, getValueMetadataAsContainer, hashCode, hashCode, hasRealClass, hasValueMetadata, isEmpty, isObjectable, isOfType, isRaw, isTransient, normalize, recompute, recompute, representsSameValue, setParent, setPrismContext, setTransient, setUserData, setValueMetadata, setValueMetadata, setValueMetadata, toHumanReadableString, valueMetadataMethods inherited from interface com.evolveum.midpoint.util.ShortDumpableshortDump, shortDump, shortDumpLazily
- 
Method Details- 
getOidString getOid()OID of the object that this reference refers to (reference target). May return null, but the reference is in that case incomplete and unusable.- Returns:
- the target oid
 
- 
setOid
- 
getObjectReturns object that this reference points to. The object is supposed to be used for caching and optimizations. Only oid and type of the object really matters for the reference. The object is transient. It will NOT be serialized. Therefore the client must expect that the object can disappear when serialization boundary is crossed. The client must expect that the object is null.
- 
setObject
- 
getTargetTypeQName getTargetType()Returns XSD type of the object that this reference refers to. It may be used in XPath expressions and similar filters. May return null if the type name is not set.- Returns:
- the target type name
 
- 
setTargetType
- 
setTargetType- Parameters:
- allowEmptyNamespace- This is an ugly hack. See comment in DOMUtil.validateNonEmptyQName.
 
- 
determineTargetTypeNameDetermines the type name from the value or from its definition (if known).
- 
getTargetNamePolyString getTargetName()Returns cached name of the target object. This is a ephemeral value. It may be computed at object retrieval time or it may not be present at all. This is NOT an authoritative information. Setting it or changing it will not influence the reference meaning. OID is the only authoritative linking mechanism.- Returns:
- cached name of the target object.
 
- 
setTargetName
- 
setTargetName
- 
getTargetTypeCompileTimeClassClass<Objectable> getTargetTypeCompileTimeClass()
- 
getTargetTypeCompileTimeClass
- 
getRelationQName getRelation()
- 
setRelation
- 
relation
- 
getDescriptionString getDescription()
- 
setDescription
- 
getFilterSearchFilterType getFilter()
- 
setFilter
- 
getResolutionTimeEvaluationTimeType getResolutionTime()
- 
getEffectiveResolutionTime
- 
setResolutionTime
- 
getReferentialIntegrityReferentialIntegrityType getReferentialIntegrity()
- 
setReferentialIntegrity
- 
getDefinitionPrismReferenceDefinition getDefinition()
- 
findPartial<IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) 
- 
applyDefinition- Specified by:
- applyDefinitionin interface- PrismValue
- Throws:
- SchemaException
 
- 
applyDefinition- Throws:
- SchemaException
 
- 
toCanonicalPrismReferenceValue toCanonical()Returns a version of this value that is canonical, that means it has the minimal form. E.g. it will have only OID and no object.
- 
asReferencableReferencable asReferencable()
- 
debugDump
- 
clonePrismReferenceValue clone()Description copied from interface:PrismValueLiteral clone.- Specified by:
- clonein interface- PrismValue
 
- 
createImmutableClonePrismReferenceValue createImmutableClone()- Specified by:
- createImmutableClonein interface- PrismValue
 
- 
cloneComplexDescription copied from interface:PrismValueComplex clone with different cloning strategies.- Specified by:
- cloneComplexin interface- PrismValue
- See Also:
 
- 
getRealClassClass<?> getRealClass()- Specified by:
- getRealClassin interface- PrismValue
 
- 
getRealValueDescription copied from interface:PrismValueReturns the statically-typed "real value". TODO specify when exactly the returned value can be null. TODO decide for containers: they throw an exception if the value is not statically typed.- Specified by:
- getRealValuein interface- PrismValue
 
- 
findReferencedItem
 
-