Annotation Type EnumConversion


@Documented @Inherited @Target(FIELD) @Retention(RUNTIME) public @interface EnumConversion

Defines a form field (whether on a Struts Action or model of ModelDriven Struts Action) should be parsed to a enumerated type and error message to display if this fails. Also, defines a view helper field receives a formatted enumerated value. This is the default converter for enumerated fields.

There are two modes of behaviour for conversion, depending on the type of form field.

Validation Annotation Usage
Form field type Mode Description
String Pair conversion Converts string field value to enumerated field named by parsedFieldName
enumerated Auto conversion Converts directly from request parameter

By default, messages are added to the actionErrors list but this can be overridden by messageType:

Message Types
ERROR Message added to Action level error messages. Default.
FIELD Message added to field error messages using same name as field.
MESSAGE Message added to Action level info messages.
WARNING Message added to Action level warning messages.

Other parameters

Other Parameters
message If not empty string, text message to display. Used if messageKey is empty string or finds no message.
messageKey If not empty string, message key to retrieve from Action's TextProvider. Uses message if no key provided or no message found.
parsedFieldName If not empty string, name of field to contain parsed value. Defaults to 'parsed' plus capitalised field name, such as 'parsedLimit'. Only applies for pair conversion.

When applied to a view helper field, StrutsMiscellaneousLibrary#updateDisplay formats from a source record field with the same name but only certain combinations are recognised.

Formatting Annotation Usage
Display field type Record field type Notes
String Enum
String array Enum array
String array Enum collection
String collection Enum array
String collection Enum collection
  • Element Details

    • message

      String message
      Default:
      ""
    • messageKey

      String messageKey
      Default:
      ""
    • messageType

      Default:
      ERROR
    • parsedFieldName

      String parsedFieldName
      Default:
      ""