Interface PropertyDefinition

All Superinterfaces:
Attribute, AttributeDefinition, Comparable<PropertyDefinition>, Element, PropertyElement, Serializable
All Known Implementing Classes:
PropertyDefinitionImpl

@TypeMetadata(name="PropertyDefinition", description="Defines a property of an entity or another property, including its name, type, cardinality (min/max), regex, readonly/mandatory constraints, and default value.", version="2.0.0") @Change(version="2.0.0",description="Removed \'notnull\': a null value means the same as an absent one, and \'mandatory\' means present with a real value. \'min\' and \'max\' are optional, and admit a decimal number when the property is a Double or a Float; \'regexp\' is always present, empty for no pattern.") @Change(version="1.1.0",description="The type comply with [AttributeDefinition](type:AttributeDefinition) which add \'defaultValue\'") @Change(version="1.0.0",description="First Version") public interface PropertyDefinition extends PropertyElement, Comparable<PropertyDefinition>, AttributeDefinition
Defines a property of an entity or another property, including its constraints and metadata.
Author:
Luca Frosini (ISTI - CNR)
  • Field Details

    • NAME

      static final String NAME
      The name of the PropertyDefinition type.
      See Also:
    • VERSION

      static final String VERSION
      The version of this type definition.
      See Also:
    • SYSTEM_FIELD_GETTERS

      static final Map<String,String> SYSTEM_FIELD_GETTERS
      The system field names, each with the getter the model declares for that field. A property takes a system field name only to describe that very field, on that getter: any other property with one of these names would share its JSON key with the system field.
    • READ_ONLY_PROPERTY

      static final String READ_ONLY_PROPERTY
      The property name for the 'readonly' flag.
      See Also:
  • Method Details