| 
 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.springframework.context.support.AbstractMessageSource
Abstract implementation of HierarchicalMessageSource interface, making it easy to implement a custom MessageSource. Subclasses must implement the abstract resolveCode method.
Supports not only MessageSourceResolvables as primary messages but also resolution of message arguments that are in turn MessageSourceResolvables themselves.
This class does not implement caching, thus subclasses can dynamically change messages over time.
resolveCode(java.lang.String, java.util.Locale)| Field Summary | |
| protected  org.apache.commons.logging.Log | logger | 
| Constructor Summary | |
| AbstractMessageSource() | |
| Method Summary | |
|  java.lang.String | getMessage(MessageSourceResolvable resolvable,
           java.util.Locale locale)Try to resolve the message using all the attributes contained within the MessageSourceResolvableargument that was passed in. | 
|  java.lang.String | getMessage(java.lang.String code,
           java.lang.Object[] args,
           java.util.Locale locale)Try to resolve the message. | 
|  java.lang.String | getMessage(java.lang.String code,
           java.lang.Object[] args,
           java.lang.String defaultMessage,
           java.util.Locale locale)Try to resolve the message. | 
| protected  java.lang.String | getMessageInternal(java.lang.String code,
                   java.lang.Object[] args,
                   java.util.Locale locale)Resolve the given code and arguments as message in the given Locale, throwing a NoSuchMessageException if not found. | 
|  MessageSource | getParentMessageSource()Return the parent of this MessageSource, or null if none. | 
| protected abstract  java.text.MessageFormat | resolveCode(java.lang.String code,
            java.util.Locale locale)Subclasses must implement this method to resolve a message. | 
|  void | setParentMessageSource(MessageSource parent)Set the parent that will be used to try to resolve messages that this object can't resolve. | 
|  void | setUseCodeAsDefaultMessage(boolean useCodeAsDefaultMessage)Set whether to use the message code as default message instead of throwing a NoSuchMessageException. | 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
protected final org.apache.commons.logging.Log logger
| Constructor Detail | 
public AbstractMessageSource()
| Method Detail | 
public void setParentMessageSource(MessageSource parent)
HierarchicalMessageSource
setParentMessageSource in interface HierarchicalMessageSourceparent - parent MessageSource that will be used to
 resolve messages that this object can't resolve.
 May be null, in which case no further resolution is possible.public MessageSource getParentMessageSource()
HierarchicalMessageSource
getParentMessageSource in interface HierarchicalMessageSourcepublic void setUseCodeAsDefaultMessage(boolean useCodeAsDefaultMessage)
getMessage(String, Object[], Locale)
public final java.lang.String getMessage(java.lang.String code,
                                         java.lang.Object[] args,
                                         java.lang.String defaultMessage,
                                         java.util.Locale locale)
MessageSource
getMessage in interface MessageSourcecode - code to lookup up, such as 'calculator.noRateSet'. Users of
 this class are encouraged to base message names on the relevant fully
 qualified class name, thus avoiding conflict and ensuring maximum clarity.args - array of arguments that will be filled in for params within
 the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
 or null if none.locale - the Locale in which to do lookupdefaultMessage - String to return if the lookup fails
public final java.lang.String getMessage(java.lang.String code,
                                         java.lang.Object[] args,
                                         java.util.Locale locale)
                                  throws NoSuchMessageException
MessageSource
getMessage in interface MessageSourcecode - code to lookup up, such as 'calculator.noRateSet'args - Array of arguments that will be filled in for params within
 the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
 or null if none.locale - Locale in which to do lookup
NoSuchMessageException - if not found in any locale
public final java.lang.String getMessage(MessageSourceResolvable resolvable,
                                         java.util.Locale locale)
                                  throws NoSuchMessageException
MessageSourceMessageSourceResolvable argument that was passed in.
 NOTE: We must throw a NoSuchMessageException on this method
 since at the time of calling this method we aren't able to determine if the
 defaultMessage property of the resolvable is null or not.
getMessage in interface MessageSourceresolvable - value object storing attributes required to properly resolve a messagelocale - Locale to be used as the "driver" to figuring out what message to return
NoSuchMessageException - if not found in any locale
protected java.lang.String getMessageInternal(java.lang.String code,
                                              java.lang.Object[] args,
                                              java.util.Locale locale)
                                       throws NoSuchMessageException
NoSuchMessageExceptiongetMessage(String, Object[], Locale), 
getMessage(MessageSourceResolvable, Locale), 
setUseCodeAsDefaultMessage(boolean)
protected abstract java.text.MessageFormat resolveCode(java.lang.String code,
                                                       java.util.Locale locale)
Returns a MessageFormat instance rather than a message String, to allow for appropriate caching of MessageFormats in subclasses.
code - the code of the message to resolvelocale - the Locale to resolve the code for
 (subclasses are encouraged to support internationalization)
| 
 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||