Class ShadowAssociation
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.ItemImpl<PrismContainerValue<C>,PrismContainerDefinition<C>>
com.evolveum.midpoint.prism.impl.PrismContainerImpl<ShadowAssociationValueType>
com.evolveum.midpoint.schema.processor.ShadowAssociation
- All Implemented Interfaces:
Freezable
,Item<PrismContainerValue<ShadowAssociationValueType>,
,PrismContainerDefinition<ShadowAssociationValueType>> Itemable
,ItemDefinitionTransformer.TransformableItem
,ParentVisitable
,PathVisitable
,PrismContainer<ShadowAssociationValueType>
,PrismContainerable<ShadowAssociationValueType>
,Revivable
,Visitable
,DebugDumpable
,Serializable
,Cloneable
public class ShadowAssociation
extends PrismContainerImpl<ShadowAssociationValueType>
implements Cloneable
Represents an association between shadows: one subject and zero or more objects.
There are two major types of associations:
. "Simple" associations, which are represented by a single reference to the target shadow.
Typical case here is Active Directory style group membership, where each object can belong to zero or more groups,
and each membership value consists only of a reference to the particular group shadow.
. "Rich" associations, which are represented by a complex structure containing additional information, like own attributes,
activation, and the like, in addition to reference(s) to objects. Examples are
.. `ri:contract` for HR systems, binding persons with org units, cost centers, and probably other kinds of objects
(with a lot of attributes and the validity information);
.. `ri:access` for systems with rich access management information, binding users with objects requiring access control
(with, e.g., the access level attribute).
NOTE: It is present only in model-level shadows; never propagated to resources nor stored in the repository.
The lower-level representation of the association is
ShadowReferenceAttribute
.- See Also:
-
Field Summary
Fields inherited from class com.evolveum.midpoint.prism.impl.PrismContainerImpl
compileTimeClass
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
addInternalExecution
(@NotNull PrismContainerValue<ShadowAssociationValueType> newValue) clone()
Literal clone.cloneComplex
(CloneStrategy strategy) Complex clone with different cloning strategies.protected @NotNull PrismContainerValueImpl<ShadowAssociationValueType>
Can be overridden in subclasses.static ShadowAssociation
empty
(@NotNull ShadowAssociationDefinition definition) static ShadowAssociation
empty
(@NotNull QName name, @NotNull ShadowAssociationDefinition definition) @NotNull List<ShadowAssociationValue>
protected String
Return a human readable name of this class suitable for logs.@NotNull ShadowAssociationDefinition
Returns applicable property container definition.@NotNull ShadowAssociationDefinition
boolean
static EqualsChecker<ShadowAssociation>
int
size()
Returns the number of values for this item.Methods inherited from class com.evolveum.midpoint.prism.impl.PrismContainerImpl
accept, add, addInternal, applyDefinition, assertDefinitions, canRepresent, canRepresent, checkConsistenceInternal, containsItem, copyValues, createDelta, createDelta, createImmutableClone, createParentIfNeeded, debugDump, deepCloneDefinition, diff, diff, diffModifications, equivalent, find, findContainer, findContainer, findCreateItem, findCreateItem, findItem, findItem, findItem, findOrCreateContainer, findOrCreateItem, findOrCreateItem, findOrCreateProperty, findOrCreateReference, findPartial, findProperty, findReference, findValue, getAllItems, getAllValues, getCompileTimeClass, getPropertyRealValue, getRealValue, getRealValues, getValue, getValue, hasCompleteDefinition, isEmpty, mergeValue, mergeValues, mergeValues, propagateDeepCloneDefinition, remove, removeContainer, removeItem, removeProperty, removeReference, setContainerRealValue, setDefinition, setDefinitionHack, setPropertyRealValue, setPropertyRealValues, setRealValue, setValue, startStrictModifications, stopStrictModifications, toString, trim, trimDefinitionTree, useIdentifierIndex
Methods inherited from class com.evolveum.midpoint.prism.impl.ItemImpl
accept, acceptParentVisitor, add, addAll, addForced, addIgnoringEquivalents, addRespectingMetadataAndCloning, addWithResult, appendDebugDumpSuffix, applyDefinitionToValues, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkDefinition, clear, copyValues, diff, equals, equals, equals, fixupDelta, getElementName, getHighestId, getParent, getPath, getPathComponent, getRealValue, getRealValuesArray, getUserData, getUserData, getValues, hashCode, hashCode, hashCode, isIncomplete, merge, normalize, performFreeze, recomputeAllValues, remove, remove, removeAll, removeRespectingMetadata, removeWithResult, replace, replaceAll, revive, 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, applyDefinitionIfMissing, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, clear, contains, contains, copy, diff, diff, equals, equals, equals, filterValues, filterYields, findValue, findValue, getAnyValue, getAnyValue, getClonedValues, getDisplayName, getElementName, getHelp, getHighestId, getNamespaceContext, getParent, getPath, getRealValue, getRealValues, getRealValuesArray, getRealValuesOrRawTypes, getUserData, getUserData, hasAnyValue, hashCode, hashCode, hashCode, hasRaw, isIncomplete, isOperational, isRaw, isSingleValue, isSingleValueByDefinition, merge, normalize, recomputeAllValues, remove, remove, removeAll, removeIf, removeRespectingMetadata, replace, replaceAll, setElementName, setIncomplete, setParent, setUserData, valuesStream
Methods inherited from interface com.evolveum.midpoint.prism.PrismContainer
getValues
Methods inherited from interface com.evolveum.midpoint.prism.PrismContainerable
getComplexTypeDefinition
-
Method Details
-
empty
-
empty
public static ShadowAssociation empty(@NotNull @NotNull QName name, @NotNull @NotNull ShadowAssociationDefinition definition) -
semanticEqualsChecker
-
getDefinition
Description copied from class:PrismContainerImpl
Returns applicable property container definition.May return null if no definition is applicable or the definition is not know.
- Specified by:
getDefinition
in interfaceItem<PrismContainerValue<ShadowAssociationValueType>,
PrismContainerDefinition<ShadowAssociationValueType>> - Specified by:
getDefinition
in interfaceItemable
- Specified by:
getDefinition
in interfacePrismContainer<ShadowAssociationValueType>
- Specified by:
getDefinition
in interfacePrismContainerable<ShadowAssociationValueType>
- Overrides:
getDefinition
in classPrismContainerImpl<ShadowAssociationValueType>
- Returns:
- applicable property container definition
-
getDefinitionRequired
-
clone
Description copied from interface:Item
Literal clone.- Specified by:
clone
in interfaceItem<PrismContainerValue<ShadowAssociationValueType>,
PrismContainerDefinition<ShadowAssociationValueType>> - Specified by:
clone
in interfacePrismContainer<ShadowAssociationValueType>
- Overrides:
clone
in classPrismContainerImpl<ShadowAssociationValueType>
-
cloneComplex
Description copied from interface:Item
Complex clone with different cloning strategies.- Specified by:
cloneComplex
in interfaceItem<PrismContainerValue<ShadowAssociationValueType>,
PrismContainerDefinition<ShadowAssociationValueType>> - Specified by:
cloneComplex
in interfacePrismContainer<ShadowAssociationValueType>
- Overrides:
cloneComplex
in classPrismContainerImpl<ShadowAssociationValueType>
- See Also:
-
addInternalExecution
protected boolean addInternalExecution(@NotNull @NotNull PrismContainerValue<ShadowAssociationValueType> newValue) - Overrides:
addInternalExecution
in classPrismContainerImpl<ShadowAssociationValueType>
-
createNewValue
- Specified by:
createNewValue
in interfacePrismContainer<ShadowAssociationValueType>
- Overrides:
createNewValue
in classPrismContainerImpl<ShadowAssociationValueType>
-
createNewValueInternal
@NotNull protected @NotNull PrismContainerValueImpl<ShadowAssociationValueType> createNewValueInternal()Description copied from class:PrismContainerImpl
Can be overridden in subclasses.- Overrides:
createNewValueInternal
in classPrismContainerImpl<ShadowAssociationValueType>
-
size
public int size()Description copied from interface:Item
Returns the number of values for this item.- Specified by:
size
in interfaceItem<PrismContainerValue<ShadowAssociationValueType>,
PrismContainerDefinition<ShadowAssociationValueType>>
-
getDebugDumpClassName
Description copied from class:PrismContainerImpl
Return a human readable name of this class suitable for logs.- Overrides:
getDebugDumpClassName
in classPrismContainerImpl<ShadowAssociationValueType>
-
getAssociationValues
-
hasNoValues
public boolean hasNoValues()- Specified by:
hasNoValues
in interfaceItem<PrismContainerValue<ShadowAssociationValueType>,
PrismContainerDefinition<ShadowAssociationValueType>>
-