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.
  • Element Details

    • binding

      @NonNull Class<? extends 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 IDataTypeAdapter<?>> typeAdapter
      The Metaschema data type adapter for the field's value.
      Returns:
      the data type adapter
      Default:
      gov.nist.secauto.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:
      @gov.nist.secauto.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"