Class PrismContainerDefinitionImpl<C extends Containerable>

All Implemented Interfaces:
Definition, Freezable, ItemDefinition<PrismContainer<C>>, ItemDefinitionTestAccess, LocalItemDefinitionStore, MutableDefinition, MutableItemDefinition<PrismContainer<C>>, MutablePrismContainerDefinition<C>, PrismContainerDefinition<C>, PrismContextSensitive, PrismItemAccessDefinition, Revivable, SmartVisitable<Definition>, Visitable<Definition>, DebugDumpable, Serializable, Cloneable
Direct Known Subclasses:
PrismObjectDefinitionImpl, ResourceAttributeContainerDefinitionImpl

public class PrismContainerDefinitionImpl<C extends Containerable> extends ItemDefinitionImpl<PrismContainer<C>> implements MutablePrismContainerDefinition<C>
Definition of a property container.

Property container groups properties into logical blocks. The reason for grouping may be as simple as better understandability of data structure. But the group usually means different meaning, source or structure of the data. For example, the property container is frequently used to hold properties that are dynamic, not fixed by a static schema. Such grouping also naturally translates to XML and helps to "quarantine" such properties to avoid Unique Particle Attribute problems.

Property Container contains a set of (potentially multi-valued) properties. The order of properties is not significant, regardless of the fact that it may be fixed in the XML representation. In the XML representation, each element inside Property Container must be either Property or a Property Container.

This class represents schema definition for property container. See Definition for more details.

Author:
Radovan Semancik
See Also: