org.springframework.context
Interface MessageSource

All Known Subinterfaces:
ApplicationContext, ConfigurableApplicationContext, ConfigurableWebApplicationContext, HierarchicalMessageSource, WebApplicationContext
All Known Implementing Classes:
AbstractApplicationContext, AbstractMessageSource, AbstractRefreshableWebApplicationContext, DelegatingMessageSource, StaticWebApplicationContext

public interface MessageSource

Interface to be implemented by objects that can resolve messages. This enables parameterization and internationalization of messages.

Spring provides two out-of-the-box implementations for production:

Author:
Rod Johnson, Juergen Hoeller
See Also:
ResourceBundleMessageSource, ReloadableResourceBundleMessageSource

Method Summary
 String getMessage(MessageSourceResolvable resolvable, Locale locale)
          Try to resolve the message using all the attributes contained within the MessageSourceResolvable argument that was passed in.
 String getMessage(String code, Object[] args, Locale locale)
          Try to resolve the message.
 String getMessage(String code, Object[] args, String defaultMessage, Locale locale)
          Try to resolve the message.
 

Method Detail

getMessage

public 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 code to lookup up, such as 'calculator.noRateSet'. Users of this class are encouraged to base message names on the relevant fully qualified class name, thus avoiding conflict and ensuring maximum clarity.
args - array of arguments that will be filled in for params within the message (params look like "{0}", "{1,date}", "{2,time}" within a message), or null if none.
locale - the Locale in which to do the lookup
defaultMessage - String to return if the lookup fails
Returns:
the resolved message if the lookup was successful; otherwise the default message passed as a parameter
See Also:
java.text.MessageFormat

getMessage

public 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 code to lookup up, such as 'calculator.noRateSet'
args - Array of arguments that will be filled in for params within the message (params look like "{0}", "{1,date}", "{2,time}" within a message), or null if none.
locale - the Locale in which to do the lookup
Returns:
the resolved message
Throws:
NoSuchMessageException - if the message wasn't found
See Also:
java.text.MessageFormat

getMessage

public String getMessage(MessageSourceResolvable resolvable,
                         Locale locale)
                  throws NoSuchMessageException
Try to resolve the message using all the attributes contained within the MessageSourceResolvable 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 the defaultMessage property of the resolvable is null or not.

Parameters:
resolvable - value object storing attributes required to properly resolve a message
locale - the Locale in which to do the lookup
Returns:
the resolved message
Throws:
NoSuchMessageException - if the message wasn't found
See Also:
java.text.MessageFormat


Copyright (C) 2003-2004 The Spring Framework Project.