Class WebFlowMessageCodesResolver
java.lang.Object
org.springframework.webflow.validation.WebFlowMessageCodesResolver
- All Implemented Interfaces:
org.springframework.validation.MessageCodesResolver
public class WebFlowMessageCodesResolver
extends Object
implements org.springframework.validation.MessageCodesResolver
Message Codes Resolver that implements the default Web Flow 2.x algorithm. The default algorithm differs from the
Spring MVC
DefaultMessageCodesResolver
by appending the errorCode last instead of first. For
example: myBean.myProperty.required instead of required.myBean.myProperty.
Specifically:
Will create two message codes for an object error, in the following order:
- 1.: objectName.errorCode
- 2.: errorCode
Will create four message codes for a field error, in the following order:
- 1.: object name.field.rrorCode
- 2.: field.errorCode
- 3.: fieldType.errorCode
- 4.: errorCode
For example, in case of code "typeMismatch", object name "user", field "age" of type Integer:
- 1. try "user.age.typeMismatch"
- 2. try "age.typeMismatch"
- 3. try "java.lang.Integer.typeMismatch"
- 4. try "typeMismatch"
- Author:
- Keith Donald
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The separator that this implementation uses when resolving message codes. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
buildFieldList
(String field, List<String> fieldList) Add both keyed and non-keyed entries for the suppliedfield
to the supplied field list.protected String
Return the prefix to be applied to any code built by this resolver.protected String
postProcessMessageCode
(String code) Post-process the given message code, built by this resolver.String[]
resolveMessageCodes
(String errorCode, String objectName) String[]
resolveMessageCodes
(String errorCode, String objectName, String field, Class<?> fieldType) Build the code list for the given code and field: an object/field-specific code, a field-specific code, a plain error code.void
Specify a prefix to be applied to any code built by this resolver.
-
Field Details
-
CODE_SEPARATOR
The separator that this implementation uses when resolving message codes.- See Also:
-
-
Constructor Details
-
WebFlowMessageCodesResolver
public WebFlowMessageCodesResolver()
-
-
Method Details
-
setPrefix
Specify a prefix to be applied to any code built by this resolver.Default is none. Specify, for example, "validation." to get error codes like "validation.name.typeMismatch".
-
getPrefix
Return the prefix to be applied to any code built by this resolver.Returns an empty String in case of no prefix.
-
resolveMessageCodes
- Specified by:
resolveMessageCodes
in interfaceorg.springframework.validation.MessageCodesResolver
-
resolveMessageCodes
public String[] resolveMessageCodes(String errorCode, String objectName, String field, Class<?> fieldType) Build the code list for the given code and field: an object/field-specific code, a field-specific code, a plain error code.Arrays, Lists and Maps are resolved both for specific elements and the whole collection.
See the
class level Javadoc
for details on the generated codes.- Specified by:
resolveMessageCodes
in interfaceorg.springframework.validation.MessageCodesResolver
- Returns:
- the list of codes
-
buildFieldList
Add both keyed and non-keyed entries for the suppliedfield
to the supplied field list. -
postProcessMessageCode
Post-process the given message code, built by this resolver.The default implementation applies the specified prefix, if any.
- Parameters:
code
- the message code as built by this resolver- Returns:
- the final message code to be returned
- See Also:
-