Package org.springframework.context
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[] 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.
-
Method Details
-
getMessage
@Nullable String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale) Try to resolve the message. Return default message if no message was found.- 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
String getMessage(String code, @Nullable Object[] args, 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, 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
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:
-