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>,PrismVisitable,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. Each association value consists of a single
reference value, pointing to one 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
compileTimeClassFields inherited from class com.evolveum.midpoint.prism.impl.ItemImpl
definition, elementName, incomplete, parent, valuesFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRINGFields inherited from interface com.evolveum.midpoint.prism.Item
KEY_NAMESPACE_CONTEXT -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanaddInternalExecution(@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 ShadowAssociationempty(@NotNull ShadowAssociationDefinition definition) static ShadowAssociationempty(@NotNull QName name, @NotNull ShadowAssociationDefinition definition) @NotNull List<ShadowAssociationValue>protected StringReturn a human readable name of this class suitable for logs.@NotNull ShadowAssociationDefinitionReturns applicable property container definition.booleanstatic EqualsChecker<ShadowAssociation>Returns an equals checker that compares the associations by their meaning.intsize()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, useIdentifierIndexMethods 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, valueRemovedMethods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutableMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.Item
acceptParentVisitor, acceptVisitor, 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, valuesStreamMethods inherited from interface com.evolveum.midpoint.prism.PrismContainer
getValuesMethods 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
Returns an equals checker that compares the associations by their meaning. The core of the comparison is inShadowAssociationValue.semanticEqualsChecker(). -
getDefinition
Description copied from class:PrismContainerImplReturns applicable property container definition.May return null if no definition is applicable or the definition is not know.
- Specified by:
getDefinitionin interfaceItem<PrismContainerValue<ShadowAssociationValueType>,PrismContainerDefinition<ShadowAssociationValueType>> - Specified by:
getDefinitionin interfaceItemable- Specified by:
getDefinitionin interfacePrismContainer<ShadowAssociationValueType>- Specified by:
getDefinitionin interfacePrismContainerable<ShadowAssociationValueType>- Overrides:
getDefinitionin classPrismContainerImpl<ShadowAssociationValueType>- Returns:
- applicable property container definition
-
clone
Description copied from interface:ItemLiteral clone.- Specified by:
clonein interfaceItem<PrismContainerValue<ShadowAssociationValueType>,PrismContainerDefinition<ShadowAssociationValueType>> - Specified by:
clonein interfacePrismContainer<ShadowAssociationValueType>- Overrides:
clonein classPrismContainerImpl<ShadowAssociationValueType>
-
cloneComplex
Description copied from interface:ItemComplex clone with different cloning strategies.- Specified by:
cloneComplexin interfaceItem<PrismContainerValue<ShadowAssociationValueType>,PrismContainerDefinition<ShadowAssociationValueType>> - Specified by:
cloneComplexin interfacePrismContainer<ShadowAssociationValueType>- Overrides:
cloneComplexin classPrismContainerImpl<ShadowAssociationValueType>- See Also:
-
addInternalExecution
protected boolean addInternalExecution(@NotNull @NotNull PrismContainerValue<ShadowAssociationValueType> newValue) - Overrides:
addInternalExecutionin classPrismContainerImpl<ShadowAssociationValueType>
-
createNewValue
- Specified by:
createNewValuein interfacePrismContainer<ShadowAssociationValueType>- Overrides:
createNewValuein classPrismContainerImpl<ShadowAssociationValueType>
-
createNewValueInternal
@NotNull protected @NotNull PrismContainerValueImpl<ShadowAssociationValueType> createNewValueInternal()Description copied from class:PrismContainerImplCan be overridden in subclasses.- Overrides:
createNewValueInternalin classPrismContainerImpl<ShadowAssociationValueType>
-
size
public int size()Description copied from interface:ItemReturns the number of values for this item.- Specified by:
sizein interfaceItem<PrismContainerValue<ShadowAssociationValueType>,PrismContainerDefinition<ShadowAssociationValueType>>
-
getDebugDumpClassName
Description copied from class:PrismContainerImplReturn a human readable name of this class suitable for logs.- Overrides:
getDebugDumpClassNamein classPrismContainerImpl<ShadowAssociationValueType>
-
getAssociationValues
-
hasNoValues
public boolean hasNoValues()- Specified by:
hasNoValuesin interfaceItem<PrismContainerValue<ShadowAssociationValueType>,PrismContainerDefinition<ShadowAssociationValueType>>
-