Interface Property

All Superinterfaces:
ModelElement, NamedElement
All Known Implementing Classes:
DefaultProperty, DefaultPropertyWrapper

public interface Property extends NamedElement
A Property has a name that is unique to its use in an Aspect or an Entity, and a Characteristic (i.e., the description of the Property). It describes a single piece of information in the Aspect or Entity.
Since:
SAMM 1.0.0
  • Method Details

    • getCharacteristic

      Optional<Characteristic> getCharacteristic()
      Returns:
      the Characteristic describing this Property. This can be empty when the Property is abstract.
    • getExampleValue

      Optional<ScalarValue> getExampleValue()
      Returns:
      an Optional which may contain an example value for the Property. The type of the value is determined by the Type returned by getDataType().
    • getPayloadName

      String getPayloadName()
      Returns:
      the name of the Property used in the runtime payload.
    • isOptional

      default boolean isOptional()
      Returns:
      a boolean which determines whether the Property is optional. Properties are mandatory by default.
    • isNotInPayload

      default boolean isNotInPayload()
      Returns:
      a boolean which determines whether the Property is included in the runtime data of an Aspect. By default Properties are included in the runtime data.
      Since:
      SAMM 1.0.0
      See Also:
    • isAbstract

      default boolean isAbstract()
      Returns true if the Property is abstract
      Returns:
    • getEffectiveCharacteristic

      default Optional<Characteristic> getEffectiveCharacteristic()
      Returns the Property's unconstrained Characteristic. This is undefined when the Property is abstract
      Returns:
      The Property's Characteristic without Constraints, or empty, if isAbstract() is true
    • getDataType

      default Optional<Type> getDataType()
      Returns:
      the type for the Property.
    • getExtends

      default Optional<Property> getExtends()
      Returns:
      the Property that is extended by this Property, if present