Annotation Type CustomCollectionConversion


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

Defines a form field (whether on a Struts Action or model of ModelDriven Struts Action) should be converted using a client supplied collection converter to a recipient field of some type of collection and error message to display if this fails. The custom collection converter must implement CollectionConverter, preferably extending AbstractCustomCollectionConverterSupport, and have a default public constructor. Also, defines a view helper field receives a sting formated by the custom collection converter.

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

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

By default, messages are written as Action error messages for form processing Actions and logged as warnings for viewer Actions but this can be overridden by messageType. For viewer Actions, it's recommended they implement LoggingAware and set a logging message type.

Message Types
DEFAULT Uses default setting of controlling interceptor or library, which is usually Action error messages for form processing Actions and logged as warnings for view ActionsMessage. Default.
ERROR Message added to Action level error messages.
FIELD Message added to field error messages using same name as field.
IGNORE Message is not shown to user or logged. This is not recommended.
LOG_DEBUG Logged to Action's Log4j2 logger (or controlling interceptor's if not available) at DEBUG level.
LOG_ERROR Logged to Action's Log4j2 logger (or controlling interceptor's if not available) at ERROR level.
LOG_INFO Logged to Action's Log4j2 logger (or controlling interceptor's if not available) at INFO level.
LOG_TRACE Logged to Action's Log4j2 logger (or controlling interceptor's if not available) at TRACE level.
LOG_WARN Logged to Action's Log4j2 logger (or controlling interceptor's if not available) at WARN level.
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.
param1 Parameter recognised by custom converter. Defaults to empty string.
param2 Parameter recognised by custom converter. Defaults to empty string.
param3 Parameter recognised by custom converter. Defaults to empty string.
param4 Parameter recognised by custom converter. Defaults to empty string.
param5 Parameter recognised by custom converter. Defaults to empty string.
parsedFieldName If not empty string, name of field to contain parsed value. Defaults to 'parsed' plus capitalised field name, such as 'parsedLimit'.
processNoValueIf true, can convert empty string and format null or empty collection. Defaults to false.
validatorClass Class of client supplied validator. See notes above.

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 Collection of collection converter recipient type