org.springframework.validation
Class DefaultMessageCodesResolver

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

public class DefaultMessageCodesResolver
extends java.lang.Object
implements MessageCodesResolver

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:
27.03.2004
Author:
Juergen Hoeller

Field Summary
static java.lang.String CODE_SEPARATOR
           
 
Constructor Summary
DefaultMessageCodesResolver()
           
 
Method Summary
protected  void buildFieldList(java.lang.String field, java.util.List fieldList)
          Add both keyed and non-keyed entries for the given field to the field list.
 java.lang.String[] resolveMessageCodes(java.lang.String errorCode, java.lang.String objectName)
          Build message codes for the given error code and object name.
 java.lang.String[] resolveMessageCodes(java.lang.String errorCode, java.lang.String objectName, java.lang.String field, java.lang.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 java.lang.String CODE_SEPARATOR
See Also:
Constant Field Values
Constructor Detail

DefaultMessageCodesResolver

public DefaultMessageCodesResolver()
Method Detail

resolveMessageCodes

public java.lang.String[] resolveMessageCodes(java.lang.String errorCode,
                                              java.lang.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 java.lang.String[] resolveMessageCodes(java.lang.String errorCode,
                                              java.lang.String objectName,
                                              java.lang.String field,
                                              java.lang.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(java.lang.String field,
                              java.util.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.