Class DelegatingMessageSource
java.lang.Object
org.springframework.context.support.MessageSourceSupport
org.springframework.context.support.DelegatingMessageSource
- All Implemented Interfaces:
HierarchicalMessageSource
,MessageSource
public class DelegatingMessageSource
extends MessageSourceSupport
implements HierarchicalMessageSource
Empty
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.
- Since:
- 1.1.5
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class org.springframework.context.support.MessageSourceSupport
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetMessage
(String code, Object[] args, String defaultMessage, Locale locale) Try to resolve the message.getMessage
(String code, Object[] args, Locale locale) Try to resolve the message.getMessage
(MessageSourceResolvable resolvable, Locale locale) Try to resolve the message using all the attributes contained within theMessageSourceResolvable
argument that was passed in.Return the parent of this MessageSource, ornull
if none.void
setParentMessageSource
(MessageSource parent) Set the parent that will be used to try to resolve messages that this object can't resolve.toString()
Methods inherited from class org.springframework.context.support.MessageSourceSupport
createMessageFormat, formatMessage, isAlwaysUseMessageFormat, renderDefaultMessage, resolveArguments, setAlwaysUseMessageFormat
-
Constructor Details
-
DelegatingMessageSource
public DelegatingMessageSource()
-
-
Method Details
-
setParentMessageSource
Description copied from interface:HierarchicalMessageSource
Set the parent that will be used to try to resolve messages that this object can't resolve.- Specified by:
setParentMessageSource
in interfaceHierarchicalMessageSource
- Parameters:
parent
- the parent MessageSource that will be used to resolve messages that this object can't resolve. May benull
, in which case no further resolution is possible.
-
getParentMessageSource
Description copied from interface:HierarchicalMessageSource
Return the parent of this MessageSource, ornull
if none.- Specified by:
getParentMessageSource
in interfaceHierarchicalMessageSource
-
getMessage
@Nullable public String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale) Description copied from interface:MessageSource
Try to resolve the message. Return default message if no message was found.- Specified by:
getMessage
in interfaceMessageSource
- Parameters:
code
- 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), ornull
if nonedefaultMessage
- a default message to return if the lookup failslocale
- the locale in which to do the lookup- Returns:
- the resolved message if the lookup was successful, otherwise
the default message passed as a parameter (which may be
null
) - See Also:
-
getMessage
public String getMessage(String code, @Nullable Object[] args, Locale locale) throws NoSuchMessageException Description copied from interface:MessageSource
Try to resolve the message. Treat as an error if the message can't be found.- Specified by:
getMessage
in interfaceMessageSource
- Parameters:
code
- 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), ornull
if nonelocale
- the locale in which to do the lookup- Returns:
- the resolved message (never
null
) - Throws:
NoSuchMessageException
- if no corresponding message was found- See Also:
-
getMessage
public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException Description copied from interface:MessageSource
Try to resolve the message using all the attributes contained within theMessageSourceResolvable
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 thedefaultMessage
property of the resolvable isnull
or not.- Specified by:
getMessage
in interfaceMessageSource
- Parameters:
resolvable
- the value object storing attributes required to resolve a message (may include a default message)locale
- the locale in which to do the lookup- Returns:
- the resolved message (never
null
since even aMessageSourceResolvable
-provided default message needs to be non-null) - Throws:
NoSuchMessageException
- if no corresponding message was found (and no default message was provided by theMessageSourceResolvable
)- See Also:
-
toString
-