org.springframework.validation
Class DefaultMessageCodesResolver

java.lang.Object
  extended byorg.springframework.validation.DefaultMessageCodesResolver
All Implemented Interfaces:
MessageCodesResolver, Serializable

public class DefaultMessageCodesResolver
extends Object
implements MessageCodesResolver, Serializable

Default implementation of the MessageCodesResolver interface.

Will create 2 message codes for an object error, in the following order:

Will create 4 message codes for a field specification, in the following order:

E.g. in case of code "typeMismatch", object name "user", field "age":

Thus, this resolution algorithm can be leveraged for example to show specific messages for binding errors like "required" and "typeMismatch":

In case of array, List or Map properties, both codes for specific elements and for the whole collection are generated. Assuming a field "name" of an array "groups" in object "user":

Since:
1.0.1
Author:
Juergen Hoeller
See Also:
Serialized Form

Field Summary
static String CODE_SEPARATOR
           
 
Constructor Summary
DefaultMessageCodesResolver()
           
 
Method Summary
protected  void buildFieldList(String field, List fieldList)
          Add both keyed and non-keyed entries for the given field to the field list.
 String[] resolveMessageCodes(String errorCode, String objectName)
          Build message codes for the given error code and object name.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CODE_SEPARATOR

public static final String CODE_SEPARATOR
See Also:
Constant Field Values
Constructor Detail

DefaultMessageCodesResolver

public DefaultMessageCodesResolver()
Method Detail

resolveMessageCodes

public String[] resolveMessageCodes(String errorCode,
                                    String objectName)
Description copied from interface: MessageCodesResolver
Build message codes for the given error code and object name. Used for building the codes list of an ObjectError.

Specified by:
resolveMessageCodes in interface MessageCodesResolver
Parameters:
errorCode - the error code used for rejecting the object
objectName - the name of the object
Returns:
the message codes to use

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 class javadoc for details on the generated codes.

Specified by:
resolveMessageCodes in interface MessageCodesResolver
Parameters:
errorCode - the error code used for rejecting the value
objectName - the name of the object
field - the field name
fieldType - the field type (may be null if not determinable)
Returns:
the list of codes

buildFieldList

protected void buildFieldList(String field,
                              List fieldList)
Add both keyed and non-keyed entries for the given field to the field list.



Copyright (C) 2003-2004 The Spring Framework Project.