Package com.evolveum.midpoint.prism
Interface PrismReferenceValue
-
- All Superinterfaces:
DebugDumpable
,Freezable
,MidpointOriginMetadata
,PathVisitable
,PrismContextSensitive
,PrismValue
,Revivable
,Serializable
,ShortDumpable
,Visitable
- All Known Implementing Classes:
PrismReferenceValueImpl
public interface PrismReferenceValue extends PrismValue, ShortDumpable
- Author:
- Radovan Semancik
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
-
Methods inherited from interface com.evolveum.midpoint.prism.metadata.MidpointOriginMetadata
getOriginObject, getOriginType, setOriginObject, setOriginType
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismValue
accept, accept, applyDefinition, checkConsistenceInternal, clearParent, diff, equals, equals, find, getAllItems, getAllValues, getParent, getParentContainerValue, getPath, getRealValueOrRawType, getRootValue, getTypeName, getUserData, getUserData, getValueMetadata, getValueMetadataAsContainer, hashCode, hashCode, hasRealClass, hasValueMetadata, isEmpty, isRaw, isTransient, normalize, recompute, recompute, representsSameValue, setParent, setPrismContext, setTransient, setUserData, setValueMetadata, setValueMetadata, setValueMetadata, toHumanReadableString, valueMetadata
-
Methods inherited from interface com.evolveum.midpoint.util.ShortDumpable
shortDump, shortDump, shortDumpLazily
-
-
-
-
Method Detail
-
getOid
String 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
void setOid(String oid)
-
getObject
<O extends Objectable> PrismObject<O> getObject()
Returns 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
void setObject(PrismObject<?> object)
-
getTargetType
QName 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
void setTargetType(QName targetType)
-
setTargetType
void setTargetType(QName targetType, boolean allowEmptyNamespace)
- Parameters:
allowEmptyNamespace
- This is an ugly hack. See comment in DOMUtil.validateNonEmptyQName.
-
getTargetName
PolyString 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
void setTargetName(PolyString name)
-
setTargetName
void setTargetName(PolyStringType name)
-
getTargetTypeCompileTimeClass
Class<Objectable> getTargetTypeCompileTimeClass()
-
getTargetTypeCompileTimeClass
Class<Objectable> getTargetTypeCompileTimeClass(PrismContext prismContext)
-
getRelation
QName getRelation()
-
setRelation
void setRelation(QName relation)
-
relation
PrismReferenceValue relation(QName relation)
-
getDescription
String getDescription()
-
setDescription
void setDescription(String description)
-
getFilter
SearchFilterType getFilter()
-
setFilter
void setFilter(SearchFilterType filter)
-
getResolutionTime
EvaluationTimeType getResolutionTime()
-
setResolutionTime
void setResolutionTime(EvaluationTimeType resolutionTime)
-
getReferentialIntegrity
ReferentialIntegrityType getReferentialIntegrity()
-
setReferentialIntegrity
void setReferentialIntegrity(ReferentialIntegrityType referentialIntegrity)
-
getDefinition
PrismReferenceDefinition getDefinition()
-
findPartial
<IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path)
-
applyDefinition
void applyDefinition(ItemDefinition definition, boolean force) throws SchemaException
- Specified by:
applyDefinition
in interfacePrismValue
- Throws:
SchemaException
-
applyDefinition
void applyDefinition(PrismReferenceDefinition definition, boolean force) throws SchemaException
- Throws:
SchemaException
-
toCanonical
PrismReferenceValue 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.
-
asReferencable
Referencable asReferencable()
-
debugDump
String debugDump(int indent, boolean expandObject)
-
clone
PrismReferenceValue clone()
Description copied from interface:PrismValue
Literal clone.- Specified by:
clone
in interfacePrismValue
-
createImmutableClone
PrismReferenceValue createImmutableClone()
- Specified by:
createImmutableClone
in interfacePrismValue
-
cloneComplex
PrismReferenceValue cloneComplex(CloneStrategy strategy)
Description copied from interface:PrismValue
Complex clone with different cloning strategies.- Specified by:
cloneComplex
in interfacePrismValue
- See Also:
CloneStrategy
-
getRealClass
Class<?> getRealClass()
- Specified by:
getRealClass
in interfacePrismValue
-
getRealValue
@Nullable @Nullable Referencable getRealValue()
Description copied from interface:PrismValue
Returns 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:
getRealValue
in interfacePrismValue
-
findReferencedItem
@Experimental <I extends Item<?,?>> I findReferencedItem(ItemPath path, Class<I> type)
-
-