Interface PrismProperty<T>

  • All Superinterfaces:
    DebugDumpable, Freezable, Item<PrismPropertyValue<T>,​PrismPropertyDefinition<T>>, Itemable, ParentVisitable, PathVisitable, PrismContextSensitive, Revivable, Serializable, Visitable
    All Known Subinterfaces:
    ResourceAttribute<T>
    All Known Implementing Classes:
    com.evolveum.midpoint.prism.impl.PrismPropertyImpl, ResourceAttributeImpl

    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