Class MessageSourceResourceBundle

java.lang.Object
java.util.ResourceBundle
org.springframework.context.support.MessageSourceResourceBundle

public class MessageSourceResourceBundle extends ResourceBundle
Helper class that allows for accessing a Spring MessageSource as a ResourceBundle. Used for example to expose a Spring MessageSource to JSTL web views.
Since:
27.02.2003
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • MessageSourceResourceBundle

      public MessageSourceResourceBundle(MessageSource source, Locale locale)
      Create a new MessageSourceResourceBundle for the given MessageSource and Locale.
      Parameters:
      source - the MessageSource to retrieve messages from
      locale - the Locale to retrieve messages for
    • MessageSourceResourceBundle

      public MessageSourceResourceBundle(MessageSource source, Locale locale, ResourceBundle parent)
      Create a new MessageSourceResourceBundle for the given MessageSource and Locale.
      Parameters:
      source - the MessageSource to retrieve messages from
      locale - the Locale to retrieve messages for
      parent - the parent ResourceBundle to delegate to if no local message found
  • Method Details

    • handleGetObject

      protected @Nullable Object handleGetObject(String key)
      This implementation resolves the code in the MessageSource. Returns null if the message could not be resolved.
      Specified by:
      handleGetObject in class ResourceBundle
    • containsKey

      public boolean containsKey(String key)
      This implementation checks whether the target MessageSource can resolve a message for the given key, translating NoSuchMessageException accordingly. In contrast to ResourceBundle's default implementation in JDK 1.6, this does not rely on the capability to enumerate message keys.
      Overrides:
      containsKey in class ResourceBundle
    • getKeys

      public Enumeration<String> getKeys()
      This implementation throws UnsupportedOperationException, as a MessageSource does not allow for enumerating the defined message codes.
      Specified by:
      getKeys in class ResourceBundle
    • getLocale

      public Locale getLocale()
      This implementation exposes the specified Locale for introspection through the standard ResourceBundle.getLocale() method.
      Overrides:
      getLocale in class ResourceBundle