org.springframework.context.support
Class MessageSourceResourceBundle

java.lang.Object
  extended by java.util.ResourceBundle
      extended by 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:
MessageSource, ResourceBundle, JstlUtils.exposeLocalizationContext(javax.servlet.http.HttpServletRequest, org.springframework.context.MessageSource)

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.ResourceBundle
ResourceBundle.Control
 
Field Summary
 
Fields inherited from class java.util.ResourceBundle
parent
 
Constructor Summary
MessageSourceResourceBundle(MessageSource source, Locale locale)
          Create a new MessageSourceResourceBundle for the given MessageSource and Locale.
MessageSourceResourceBundle(MessageSource source, Locale locale, ResourceBundle parent)
          Create a new MessageSourceResourceBundle for the given MessageSource and Locale.
 
Method Summary
 boolean containsKey(String key)
          This implementation checks whether the target MessageSource can resolve a message for the given key, translating NoSuchMessageException accordingly.
 Enumeration<String> getKeys()
          This implementation throws UnsupportedOperationException, as a MessageSource does not allow for enumerating the defined message codes.
 Locale getLocale()
          This implementation exposes the specified Locale for introspection through the standard ResourceBundle.getLocale() method.
protected  Object handleGetObject(String key)
          This implementation resolves the code in the MessageSource.
 
Methods inherited from class java.util.ResourceBundle
clearCache, clearCache, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getObject, getString, getStringArray, handleKeySet, keySet, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

handleGetObject

protected 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