Interface PrismProperty<T>

All Superinterfaces:
DebugDumpable, Freezable, Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>, Itemable, ParentVisitable, PathVisitable, Revivable, Serializable, Visitable
All Known Subinterfaces:
ShadowSimpleAttribute<T>
All Known Implementing Classes:
DummyPropertyImpl, PrismPropertyImpl, ShadowSimpleAttributeImpl

public interface PrismProperty<T> extends Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
Property is a specific characteristic of an object. It may be considered object "attribute" or "field". For example User has fullName property that contains string value of user's full name.

Properties may be single-valued or multi-valued

Properties may contain primitive types or complex types (defined by XSD schema)

Property values are unordered, implementation may change the order of values

Duplicate values of properties should be silently removed by implementations, but clients must be able tolerate presence of duplicate values.

Operations that modify the objects work with the granularity of properties. They add/remove/replace the values of properties, but do not "see" inside the property.

Property is mutable.

Author:
Radovan Semancik