Class CompositeObjectDefinitionImpl

java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.schema.processor.CompositeObjectDefinitionImpl
All Implemented Interfaces:
AbstractTypeDefinition, Definition, Freezable, LocalItemDefinitionStore, PrismLifecycleDefinition, PrismPresentationDefinition, Revivable, SmartVisitable<Definition>, TypeDefinition, Visitable<Definition>, AssociationDefinitionStore, AttributeDefinitionStore, CompositeObjectDefinition, FrameworkNameResolver, IdentifiersDefinitionStore, LayeredDefinition, ResourceObjectDefinition, ResourceObjectInboundDefinition, DebugDumpable, Serializable, Cloneable

public class CompositeObjectDefinitionImpl extends AbstractFreezable implements CompositeObjectDefinition
Represents ad-hoc combination of definitions of structural and auxiliary object classes. A specialty of this class is the caching of attribute definitions. It can be done but only if the object classes are immutable. (Which is currently the case for all parsed resource schemas, but sometimes it must be relaxed, namely when applying security constraints onto the definitions.) Not caching attribute definitions in the case of mutable definition is quite dangerous, as it can lead to silent loss of performance if the definitions are not frozen appropriately. See MID-9156.
Author:
semancik
See Also: