org.springframework.webflow.validation
Class WebFlowMessageCodesResolver

java.lang.Object
  extended by 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:

Will create four message codes for a field error, in the following order:

For example, in case of code "typeMismatch", object name "user", field "age" of type Integer:

Author:
Keith Donald

Field Summary
static String CODE_SEPARATOR
          The separator that this implementation uses when resolving message codes.
 
Constructor Summary
WebFlowMessageCodesResolver()
           
 
Method Summary
 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 setPrefix(String prefix)
          Specify a prefix to be applied to any code built by this resolver.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CODE_SEPARATOR

public static final String CODE_SEPARATOR
The separator that this implementation uses when resolving message codes.

See Also:
Constant Field Values
Constructor Detail

WebFlowMessageCodesResolver

public WebFlowMessageCodesResolver()
Method Detail

setPrefix

public void setPrefix(String prefix)
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".


resolveMessageCodes

public String[] resolveMessageCodes(String errorCode,
                                    String objectName)
Specified by:
resolveMessageCodes in interface org.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 interface org.springframework.validation.MessageCodesResolver
Returns:
the list of codes