Interface MessageSource
- All Known Subinterfaces:
ApplicationContext, ConfigurableApplicationContext, ConfigurableWebApplicationContext, HierarchicalMessageSource, WebApplicationContext
- All Known Implementing Classes:
AbstractApplicationContext, AbstractMessageSource, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractRefreshableWebApplicationContext, AbstractResourceBasedMessageSource, AbstractXmlApplicationContext, AnnotationConfigApplicationContext, AnnotationConfigWebApplicationContext, ClassPathXmlApplicationContext, DelegatingMessageSource, FileSystemXmlApplicationContext, GenericApplicationContext, GenericGroovyApplicationContext, GenericWebApplicationContext, GenericXmlApplicationContext, GroovyWebApplicationContext, ReloadableResourceBundleMessageSource, ResourceBundleMessageSource, StaticApplicationContext, StaticMessageSource, StaticWebApplicationContext, XmlWebApplicationContext
public interface MessageSource
Strategy interface for resolving messages, with support for the parameterization
and internationalization of such messages.
Spring provides two out-of-the-box implementations for production:
ResourceBundleMessageSource
: built on top of the standardResourceBundle
, sharing its limitations.ReloadableResourceBundleMessageSource
: highly configurable, in particular with respect to reloading message definitions.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiongetMessage
(String code, Object @Nullable [] args, @Nullable String defaultMessage, @Nullable Locale locale) Try to resolve the message.Try to resolve the message.getMessage
(MessageSourceResolvable resolvable, @Nullable Locale locale) Try to resolve the message using all the attributes contained within theMessageSourceResolvable
argument that was passed in.
-
Method Details
-
getMessage
@Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, @Nullable Locale locale) Try to resolve the message. Return default message if no message was found.- Parameters:
code
- the message code to look up, for example, '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
String getMessage(String code, Object @Nullable [] args, @Nullable Locale locale) throws NoSuchMessageException Try to resolve the message. Treat as an error if the message can't be found.- Parameters:
code
- the message code to look up, for example, '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
String getMessage(MessageSourceResolvable resolvable, @Nullable Locale locale) throws NoSuchMessageException 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.- 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:
-