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
FieldsModifier and TypeFieldDescriptionstatic final StringThe separator that this implementation uses when resolving message codes. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbuildFieldList(String field, List<String> fieldList) Add both keyed and non-keyed entries for the suppliedfieldto the supplied field list.protected StringReturn the prefix to be applied to any code built by this resolver.protected StringpostProcessMessageCode(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.voidSpecify 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:
resolveMessageCodesin 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 Javadocfor details on the generated codes.- Specified by:
resolveMessageCodesin interfaceorg.springframework.validation.MessageCodesResolver- Returns:
- the list of codes
-
buildFieldList
Add both keyed and non-keyed entries for the suppliedfieldto 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:
-