public class DelegatingMessageSource extends MessageSourceSupport implements HierarchicalMessageSource
MessageSource that delegates all calls to the parent MessageSource.
If no parent is available, it simply won't resolve any message.
Used as placeholder by AbstractApplicationContext, if the context doesn't define its own MessageSource. Not intended for direct use in applications.
AbstractApplicationContextlogger| Constructor and Description |
|---|
DelegatingMessageSource() |
| Modifier and Type | Method and Description |
|---|---|
String |
getMessage(MessageSourceResolvable resolvable,
Locale locale)
Try to resolve the message using all the attributes contained within the
MessageSourceResolvable argument that was passed in. |
String |
getMessage(String code,
Object[] args,
Locale locale)
Try to resolve the message.
|
String |
getMessage(String code,
Object[] args,
String defaultMessage,
Locale locale)
Try to resolve the message.
|
MessageSource |
getParentMessageSource()
Return the parent of this MessageSource, or
null if none. |
void |
setParentMessageSource(MessageSource parent)
Set the parent that will be used to try to resolve messages
that this object can't resolve.
|
String |
toString() |
createMessageFormat, formatMessage, isAlwaysUseMessageFormat, renderDefaultMessage, resolveArguments, setAlwaysUseMessageFormatpublic void setParentMessageSource(@Nullable MessageSource parent)
HierarchicalMessageSourcesetParentMessageSource in interface HierarchicalMessageSourceparent - the 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.@Nullable public MessageSource getParentMessageSource()
HierarchicalMessageSourcenull if none.getParentMessageSource in interface HierarchicalMessageSource@Nullable public String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale)
MessageSourcegetMessage in interface MessageSourcecode - the message code to look up, e.g. 'calculator.noRateSet'.
MessageSource users are encouraged to base message names on qualified class
or package names, avoiding potential conflicts and ensuring maximum clarity.args - an 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 nonedefaultMessage - a default message to return if the lookup failslocale - the locale in which to do the lookupnull)MessageSource.getMessage(MessageSourceResolvable, Locale),
MessageFormatpublic String getMessage(String code, @Nullable Object[] args, Locale locale) throws NoSuchMessageException
MessageSourcegetMessage in interface MessageSourcecode - the message code to look up, e.g. 'calculator.noRateSet'.
MessageSource users are encouraged to base message names on qualified class
or package names, avoiding potential conflicts and ensuring maximum clarity.args - an 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 nonelocale - the locale in which to do the lookupnull)NoSuchMessageException - if no corresponding message was foundMessageSource.getMessage(MessageSourceResolvable, Locale),
MessageFormatpublic String getMessage(MessageSourceResolvable resolvable, 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 - the value object storing attributes required to resolve a message
(may include a default message)locale - the locale in which to do the lookupnull since even a
MessageSourceResolvable-provided default message needs to be non-null)NoSuchMessageException - if no corresponding message was found
(and no default message was provided by the MessageSourceResolvable)MessageSourceResolvable.getCodes(),
MessageSourceResolvable.getArguments(),
MessageSourceResolvable.getDefaultMessage(),
MessageFormat