Package org.springframework.context
Interface MessageSource
- All Known Subinterfaces:
ApplicationContext
,ConfigurableApplicationContext
,ConfigurablePortletApplicationContext
,ConfigurableWebApplicationContext
,HierarchicalMessageSource
,WebApplicationContext
- All Known Implementing Classes:
AbstractApplicationContext
,AbstractMessageSource
,AbstractRefreshableApplicationContext
,AbstractRefreshableConfigApplicationContext
,AbstractRefreshablePortletApplicationContext
,AbstractRefreshableWebApplicationContext
,AbstractResourceBasedMessageSource
,AbstractXmlApplicationContext
,AnnotationConfigApplicationContext
,AnnotationConfigWebApplicationContext
,ClassPathXmlApplicationContext
,DelegatingMessageSource
,FileSystemXmlApplicationContext
,GenericApplicationContext
,GenericGroovyApplicationContext
,GenericWebApplicationContext
,GenericXmlApplicationContext
,GroovyWebApplicationContext
,ReloadableResourceBundleMessageSource
,ResourceAdapterApplicationContext
,ResourceBundleMessageSource
,StaticApplicationContext
,StaticMessageSource
,StaticPortletApplicationContext
,StaticWebApplicationContext
,XmlPortletApplicationContext
,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:
ResourceBundleMessageSource
,ReloadableResourceBundleMessageSource
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
getMessage(String code, Object[] args, String defaultMessage, Locale locale)
Try to resolve the message.String
getMessage(String code, Object[] args, Locale locale)
Try to resolve the message.String
getMessage(MessageSourceResolvable resolvable, Locale locale)
Try to resolve the message using all the attributes contained within theMessageSourceResolvable
argument that was passed in.
Method Detail
getMessage
String getMessage(String code, Object[] args, 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(MessageSourceResolvable, Locale)
,MessageFormat
getMessage
String getMessage(String code, 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(MessageSourceResolvable, Locale)
,MessageFormat
getMessage
String getMessage(MessageSourceResolvable resolvable, 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:
MessageSourceResolvable.getCodes()
,MessageSourceResolvable.getArguments()
,MessageSourceResolvable.getDefaultMessage()
,MessageFormat