Annotation Interface EnumOptions


@Retention(RUNTIME) @Inherited @Target({FIELD,METHOD,ANNOTATION_TYPE}) public @interface EnumOptions
The EnumSelector annotation is meant to be used in conjunction with enumeration attributes.

Values parsed from the input will be matched against one or more properties of the enumeration type. By default, values read from the input will be matched against:

  • Enum.name() - the name of the elements in the enumeration type
  • Enum.ordinal() - the ordinal of the elements in the enumeration type
  • Enum.toString() - the String representation of the elements in the enumeration type
You can also define a customElement() of your enumeration type (an attribute or method), as long as it uniquely identifies each value of your enumeration type.

Use the selectors() option to choose which properties to match the parsed input against, and in what order. You will only need to explicitly add a EnumSelector.CUSTOM_FIELD or EnumSelector.CUSTOM_METHOD to the list of selectors() if your customElement() name could point to both an attribute and a method in your enumeration.

This will assign an EnumConversion to this field.

Commonly used for java beans processed using BeanProcessor and/or BeanWriterProcessor

See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Defines the name of a custom element (attribute or method) of the annotated enumeration.
    A list of properties of the enumeration type that will be matched against the parsed input to identify which enum element should be assigned to the annotated field.
  • Element Details

    • selectors

      EnumSelector[] selectors

      A list of properties of the enumeration type that will be matched against the parsed input to identify which enum element should be assigned to the annotated field. By default, values read from the input will be matched against:

      • Enum.name() - the name of the elements in the enumeration type
      • Enum.ordinal() - the ordinal of the elements in the enumeration type
      • Enum.toString() - the String representation of the elements in the enumeration type
      Returns:
      the sequence of properties of the enumeration type to match against the parsed input.
      Default:
      {NAME, ORDINAL, STRING}
    • customElement

      String customElement
      Defines the name of a custom element (attribute or method) of the annotated enumeration. This will be used to match the parsed input and identify an individual value of the enumeration. The attribute value, or object returned from the method, should uniquely identify a value of the enumeration;

      You will only need to explicitly add a EnumSelector.CUSTOM_FIELD or EnumSelector.CUSTOM_METHOD to the list of selectors() if your customElement() name could point to both an attribute and a method in your enumeration.

      Returns:
      the name of a custom element (attribute or method) of the enumeration which will match the parsed input and identify an enumeration's value.
      Default:
      ""