Annotation Type BoundGroupedField


Identifies that the annotation target is a bound property that references a Module field.

For XML serialization, the useName() identifies the name of the element to use for this element.

For JSON and YAML serializations, the useName() identifies the property/item name to use.

The field must be either:

  1. A Module data type or a collection whose item value is Module data type, with a non-null typeAdapter().
  2. A type or a collection whose item value is a type based on a class with a MetaschemaField annotation, with a property annotated with BoundFieldValue.
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Class<? extends dev.metaschema.core.model.IBoundObject>
    The bound class associated with this assembly.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Get the documentary description of the field.
    Get any remarks for this field.
    Get the documentary formal name of the field.
    An optional set of associated properties.
    Get any remarks for this field.
    Class<? extends dev.metaschema.core.datatype.IDataTypeAdapter<?>>
    The Metaschema data type adapter for the field's value.
    int
    The binary use name of the field.
    The model name to use for JSON/YAML singleton values and associated XML elements.
    Get the value constraints defined for this Metaschema field inline definition.
  • Element Details

    • binding

      @NonNull Class<? extends dev.metaschema.core.model.IBoundObject> binding
      The bound class associated with this assembly.

      This is optional when used on a field or method, and required when used with an annotation type value, i.e. BoundChoiceGroup.

      Returns:
      the bound class
    • formalName

      @NonNull String formalName
      Get the documentary formal name of the field.

      If the value is "##none", then the description will be considered null.

      Returns:
      a markdown string or "##none" if no formal name is provided
      Default:
      "##none"
    • description

      Get the documentary description of the field.

      If the value is "##none", then the description will be considered null.

      Returns:
      a markdown string or "##none" if no description is provided
      Default:
      "##none"
    • useName

      @NonNull String useName
      The model name to use for JSON/YAML singleton values and associated XML elements.

      If the value is "##none", then the use name will be provided by the definition or by the field name if the item value class is missing the MetaschemaField annotation.

      Returns:
      the name
      Default:
      "##none"
    • useIndex

      The binary use name of the field.

      The value Integer.MIN_VALUE indicates that there is no use name.

      Returns:
      the index value
      Default:
      -2147483648
    • typeAdapter

      @NonNull Class<? extends dev.metaschema.core.datatype.IDataTypeAdapter<?>> typeAdapter
      The Metaschema data type adapter for the field's value.
      Returns:
      the data type adapter
      Default:
      dev.metaschema.databind.model.annotations.NullJavaTypeAdapter.class
    • properties

      An optional set of associated properties.
      Returns:
      the properties or an empty array with no properties
      Default:
      {}
    • remarks

      @NonNull String remarks
      Get any remarks for this field.
      Returns:
      a markdown string or "##none" if no remarks are provided
      Default:
      "##none"
    • valueConstraints

      Get the value constraints defined for this Metaschema field inline definition.
      Returns:
      the value constraints
      Default:
      @dev.metaschema.databind.model.annotations.ValueConstraints
    • discriminatorValue

      Get any remarks for this field.
      Returns:
      the discriminator string or "##none" if no discriminator is provided
      Default:
      "##none"