Interface PrismPropertyDefinition<T>

All Superinterfaces:
Cloneable, DebugDumpable, Definition, Freezable, ItemDefinition<PrismProperty<T>>, PrismContextSensitive, PrismItemAccessDefinition, Revivable, Serializable, SmartVisitable<Definition>, Visitable<Definition>
All Known Subinterfaces:
AttributeDefinitionDelegator<T>, MutablePrismPropertyDefinition<T>, MutableRawResourceAttributeDefinition<T>, PartiallyMutableItemDefinition.Attribute<T>, PartiallyMutableItemDefinition.Property<T>, PrismPropertyWrapper<T>, PropertyDefinitionDelegator<T>, RawResourceAttributeDefinition<T>, RefinedAttributeDefinitionDelegator<T>, ResourceAttributeDefinition<T>, ResourceAttributeWrapper<T>
All Known Implementing Classes:
ExpressionWrapper, PrismPropertyDefinitionImpl, PrismPropertyWrapperImpl, ProtectedStringTypeWrapperImpl, RawResourceAttributeDefinitionImpl, ResourceAttributeDefinitionImpl, ResourceAttributeWrapperImpl, TransformablePropertyDefinition, TransformablePropertyDefinition.RefinedAttribute, TransformablePropertyDefinition.ResourceAttribute

public interface PrismPropertyDefinition<T> extends ItemDefinition<PrismProperty<T>>
Definition of a prism property.
  • Method Details

    • getAllowedValues

      @Nullable @Nullable Collection<? extends DisplayableValue<T>> getAllowedValues()
      Returns allowed values for this property.
    • getSuggestedValues

      @Nullable @Nullable Collection<? extends DisplayableValue<T>> getSuggestedValues()
      Returns suggested values for this property.
    • defaultValue

      @Nullable T defaultValue()
    • isIndexed

      Boolean isIndexed()
      This is XSD annotation that specifies whether a property should be indexed in the storage. It can only apply to properties. It has following meaning: true: the property must be indexed. If the storage is not able to index the value, it should indicate an error. false: the property should not be indexed. null: data store decides whether to index the property or not.
    • isAnyType

      default boolean isAnyType()
    • getMatchingRuleQName

      QName getMatchingRuleQName()
      Returns matching rule name. Matching rules are algorithms that specify how to compare, normalize and/or order the values. E.g. there are matching rules for case insensitive string comparison, for LDAP DNs, etc.
      Returns:
      matching rule name
    • createEmptyDelta

      @NotNull @NotNull PropertyDelta<T> createEmptyDelta(ItemPath path)
      Description copied from interface: ItemDefinition
      Creates an empty delta (with appropriate implementation class), pointing to this item definition, with a given path.
      Specified by:
      createEmptyDelta in interface ItemDefinition<T>
    • instantiate

      @NotNull @NotNull PrismProperty<T> instantiate()
      Description copied from interface: ItemDefinition
      Create an item instance. Definition name or default name will be used as an element name for the instance. The instance will otherwise be empty.
      Specified by:
      instantiate in interface ItemDefinition<T>
    • instantiate

      @NotNull @NotNull PrismProperty<T> instantiate(QName name)
      Description copied from interface: ItemDefinition
      Create an item instance. Definition name will use provided name. for the instance. The instance will otherwise be empty.
      Specified by:
      instantiate in interface ItemDefinition<T>
    • clone

      @NotNull @NotNull PrismPropertyDefinition<T> clone()
      Specified by:
      clone in interface Definition
      Specified by:
      clone in interface ItemDefinition<T>
    • getTypeClass

      Class<T> getTypeClass()
      Description copied from interface: Definition
      Returns a compile-time class that is used to represent items. E.g. returns String, Integer, subclasses of Objectable and Containerable and so on.
      Specified by:
      getTypeClass in interface Definition
    • toMutable

      Description copied from interface: Definition
      Returns an interface to mutate this definition.
      Specified by:
      toMutable in interface Definition
      Specified by:
      toMutable in interface ItemDefinition<T>