Class ShadowAssociationValue

java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.PrismValueImpl
com.evolveum.midpoint.prism.impl.PrismContainerValueImpl<ShadowAssociationValueType>
com.evolveum.midpoint.schema.processor.ShadowAssociationValue
All Implemented Interfaces:
Freezable, ItemDefinitionTransformer.TransformableValue, MidpointOriginMetadata, ParentVisitable, PathVisitable, PrismContainerValue<ShadowAssociationValueType>, PrismValue, Revivable, Visitable, DebugDumpable, Serializable

@Experimental public class ShadowAssociationValue extends com.evolveum.midpoint.prism.impl.PrismContainerValueImpl<ShadowAssociationValueType>
Represents a specific shadow association value - i.e. something that is put into ShadowReferenceAttribute. For example, a single group membership for a given account: `joe` is a member of `admins`. NOTE: As an experiment, we try to keep instances as consistent as possible. E.g., we require correct `shadowRef` etc. Any places where this is checked, will throw IllegalStateException instead of SchemaException. We will simply not allow creating a non-compliant association object. At least we'll try to do this. The exception are situations where the object exists between instantiation and providing the data. *Instantiation* In particular, we must provide reasonable CTD when instantiating this object. Otherwise, PrismContainerValue.asContainerable() will fail. TODO check if it's possible to implement this approach regarding createNewValue in ShadowAssociation
See Also: