Class ShadowReferenceAttribute
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.ItemImpl<PrismReferenceValue,PrismReferenceDefinition>
com.evolveum.midpoint.prism.impl.PrismReferenceImpl
com.evolveum.midpoint.schema.processor.ShadowReferenceAttribute
- All Implemented Interfaces:
Freezable
,Item<PrismReferenceValue,
,PrismReferenceDefinition> Itemable
,ItemDefinitionTransformer.TransformableItem
,ParentVisitable
,PathVisitable
,PrismReference
,Revivable
,Visitable
,ShadowAttribute<ShadowReferenceAttributeValue,
,ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute> DebugDumpable
,Serializable
public class ShadowReferenceAttribute
extends com.evolveum.midpoint.prism.impl.PrismReferenceImpl
implements ShadowAttribute<ShadowReferenceAttributeValue,ShadowReferenceAttributeDefinition,Referencable,ShadowReferenceAttribute>
Represents a shadow reference attribute (like `ri:group` or `ri:access`). It is a reference to another shadow.
It is a regular attribute, just like
ShadowSimpleAttribute
.
The reference can be _native_ or _simulated_. The former is provided by the connector, while the latter is simulated
by the midPoint provisioning module.
NOTE: This is a lower-level concept, present in resource-facing shadows and shadows stored in the repository.
For model-visible shadows, each such attribute is converted into a ShadowAssociation
.
(Whether the value of this attribute will be kept in the shadow, is an open question.)-
Field Summary
Fields inherited from class com.evolveum.midpoint.prism.impl.ItemImpl
definition, elementName, incomplete, parent, values
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
Fields inherited from interface com.evolveum.midpoint.prism.Item
KEY_NAMESPACE_CONTEXT
-
Constructor Summary
ConstructorDescriptionShadowReferenceAttribute
(QName name, ShadowReferenceAttributeDefinition definition) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
applyDefinitionFrom
(@NotNull ResourceObjectDefinition objectDefinition) clone()
Literal clone.cloneComplex
(CloneStrategy strategy) Complex clone with different cloning strategies.@NotNull ShadowReferenceAttributeValue
createNewValueWithFullObject
(@NotNull AbstractShadow target) Creates a value holding the full object.@NotNull ShadowReferenceAttributeValue
createNewValueWithIdentifier
(@NotNull ShadowSimpleAttribute<?> identifier) @NotNull ShadowReferenceAttributeValue
createNewValueWithIdentifiers
(@NotNull AbstractShadow shadow) @NotNull ReferenceDelta
Creates a delta that would enforce (via REPLACE operation) the values of this attribute.protected String
TODO shouldn't be the definition always required?@NotNull ShadowReferenceAttributeDefinition
@NotNull List<ObjectReferenceType>
@NotNull List<ShadowReferenceAttributeValue>
@NotNull ShadowReferenceAttributeValue
boolean
int
size()
Returns the number of values for this item.Methods inherited from class com.evolveum.midpoint.prism.impl.PrismReferenceImpl
copyValues, createDelta, createDelta, debugDump, find, findPartial, findReferencedItem, findValueByOid, getAllValues, getOid, getRealValue, getRealValues, getTargetName, getValue, merge, toString
Methods inherited from class com.evolveum.midpoint.prism.impl.ItemImpl
accept, accept, acceptParentVisitor, add, addAll, addForced, addIgnoringEquivalents, addInternal, addInternalExecution, addRespectingMetadataAndCloning, addWithResult, appendDebugDumpSuffix, applyDefinition, applyDefinitionToValues, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, checkDefinition, clear, copyValues, diff, equals, equals, equals, fixupDelta, getAllItems, getElementName, getHighestId, getParent, getPath, getPathComponent, getRealValue, getRealValuesArray, getUserData, getUserData, getValues, hashCode, hashCode, hashCode, isIncomplete, merge, normalize, performFreeze, propagateDeepCloneDefinition, recomputeAllValues, remove, remove, removeAll, removeRespectingMetadata, removeWithResult, replace, replaceAll, revive, setDefinition, setElementName, setIncomplete, setParent, setUserData, transformDefinition, valueRemoved
Methods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutable
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
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, applyDefinitionIfMissing, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, contains, contains, copy, diff, diff, equals, equals, equals, filterValues, filterYields, findValue, findValue, getAllItems, getAnyValue, getAnyValue, getClonedValues, getDisplayName, getElementName, getHelp, getHighestId, getNamespaceContext, getParent, getPath, getRealValue, getRealValues, getRealValuesArray, getRealValuesOrRawTypes, getUserData, getUserData, getValues, hasAnyValue, hasCompleteDefinition, hashCode, hashCode, hashCode, hasRaw, isEmpty, isIncomplete, isOperational, isRaw, isSingleValue, isSingleValueByDefinition, merge, normalize, recomputeAllValues, remove, remove, removeAll, removeIf, removeRespectingMetadata, replace, replaceAll, setDefinition, setElementName, setIncomplete, setParent, setUserData, valuesStream
Methods inherited from interface com.evolveum.midpoint.prism.PathVisitable
accept
Methods inherited from interface com.evolveum.midpoint.schema.processor.ShadowAttribute
createDelta, createDelta, getElementName, isIncomplete, setIncomplete
-
Constructor Details
-
ShadowReferenceAttribute
-
-
Method Details
-
semanticEqualsChecker
-
getDefinition
TODO shouldn't be the definition always required?- Specified by:
getDefinition
in interfaceItem<PrismReferenceValue,
PrismReferenceDefinition> - Specified by:
getDefinition
in interfaceItemable
- Specified by:
getDefinition
in interfaceShadowAttribute<ShadowReferenceAttributeValue,
ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute> - Overrides:
getDefinition
in classcom.evolveum.midpoint.prism.impl.ItemImpl<PrismReferenceValue,
PrismReferenceDefinition> - Returns:
- applicable definition
-
getDefinitionRequired
-
clone
Description copied from interface:Item
Literal clone.- Specified by:
clone
in interfaceItem<PrismReferenceValue,
PrismReferenceDefinition> - Specified by:
clone
in interfacePrismReference
- Specified by:
clone
in interfaceShadowAttribute<ShadowReferenceAttributeValue,
ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute> - Overrides:
clone
in classcom.evolveum.midpoint.prism.impl.PrismReferenceImpl
-
cloneComplex
Description copied from interface:Item
Complex clone with different cloning strategies.- Specified by:
cloneComplex
in interfaceItem<PrismReferenceValue,
PrismReferenceDefinition> - Specified by:
cloneComplex
in interfacePrismReference
- Specified by:
cloneComplex
in interfaceShadowAttribute<ShadowReferenceAttributeValue,
ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute> - Overrides:
cloneComplex
in classcom.evolveum.midpoint.prism.impl.PrismReferenceImpl
- See Also:
-
size
public int size()Description copied from interface:Item
Returns the number of values for this item.- Specified by:
size
in interfaceItem<PrismReferenceValue,
PrismReferenceDefinition>
-
getDebugDumpClassName
- Overrides:
getDebugDumpClassName
in classcom.evolveum.midpoint.prism.impl.PrismReferenceImpl
-
createNewValueWithIdentifiers
@NotNull public @NotNull ShadowReferenceAttributeValue createNewValueWithIdentifiers(@NotNull @NotNull AbstractShadow shadow) throws SchemaException - Throws:
SchemaException
-
createNewValueWithIdentifier
@NotNull public @NotNull ShadowReferenceAttributeValue createNewValueWithIdentifier(@NotNull @NotNull ShadowSimpleAttribute<?> identifier) throws SchemaException - Throws:
SchemaException
-
createNewValueWithFullObject
@NotNull public @NotNull ShadowReferenceAttributeValue createNewValueWithFullObject(@NotNull @NotNull AbstractShadow target) throws SchemaException Creates a value holding the full object. Its definition must correspond to the one of the association.- Throws:
SchemaException
-
getReferenceValues
-
getReferenceRealValues
-
addValueSkipUniquenessCheck
- Specified by:
addValueSkipUniquenessCheck
in interfaceShadowAttribute<ShadowReferenceAttributeValue,
ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute> - Throws:
SchemaException
-
hasNoValues
public boolean hasNoValues()- Specified by:
hasNoValues
in interfaceItem<PrismReferenceValue,
PrismReferenceDefinition> - Specified by:
hasNoValues
in interfaceShadowAttribute<ShadowReferenceAttributeValue,
ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute>
-
createImmutableClone
- Specified by:
createImmutableClone
in interfaceItem<PrismReferenceValue,
PrismReferenceDefinition> - Specified by:
createImmutableClone
in interfacePrismReference
- Specified by:
createImmutableClone
in interfaceShadowAttribute<ShadowReferenceAttributeValue,
ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute> - Overrides:
createImmutableClone
in classcom.evolveum.midpoint.prism.impl.PrismReferenceImpl
-
getSingleValueRequired
-
applyDefinitionFrom
public void applyDefinitionFrom(@NotNull @NotNull ResourceObjectDefinition objectDefinition) throws SchemaException - Specified by:
applyDefinitionFrom
in interfaceShadowAttribute<ShadowReferenceAttributeValue,
ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute> - Throws:
SchemaException
-
createReplaceDelta
Creates a delta that would enforce (via REPLACE operation) the values of this attribute.- Specified by:
createReplaceDelta
in interfaceShadowAttribute<ShadowReferenceAttributeValue,
ShadowReferenceAttributeDefinition, Referencable, ShadowReferenceAttribute>
-