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 theMessageSourceResolvableargument 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), ornullif 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), ornullif 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 theMessageSourceResolvableargument that was passed in.NOTE: We must throw a
NoSuchMessageExceptionon this method since at the time of calling this method we aren't able to determine if thedefaultMessageproperty of the resolvable isnullor 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
nullsince 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:
-