org.apache.struts.util
Class PropertyMessageResources
- Serializable
public class PropertyMessageResources
Concrete subclass of
MessageResources
that reads message keys
and corresponding strings from named property resources in the same manner
that
java.util.PropertyResourceBundle
does. The
base
property defines the base property resource name, and
must be specified.
IMPLEMENTATION NOTE - This class trades memory for
speed by caching all messages located via generalizing the Locale under
the original locale as well.
This results in specific messages being stored in the message cache
more than once, but improves response time on subsequent requests for
the same locale + key combination.
$Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $protected HashMap | locales - The set of locale keys for which we have already loaded messages, keyed
by the value calculated in
localeKey() .
|
protected static Log | log - The
Log instance for this class.
|
protected HashMap | messages - The cache of messages we have accumulated over time, keyed by the
value calculated in
messageKey() .
|
String | getMessage(Locale locale, String key) - Returns a text message for the specified key, for the default Locale.
|
protected void | loadLocale(String localeKey) - Load the messages associated with the specified Locale key.
|
escape , getConfig , getFactory , getMessage , getMessage , getMessage , getMessage , getMessage , getMessage , getMessage , getMessage , getMessage , getMessage , getMessage , getMessage , getMessageResources , getReturnNull , isEscape , isPresent , isPresent , localeKey , log , log , messageKey , messageKey , setEscape , setReturnNull |
locales
protected HashMap locales
The set of locale keys for which we have already loaded messages, keyed
by the value calculated in localeKey()
.
log
protected static final Log log
The Log
instance for this class.
messages
protected HashMap messages
The cache of messages we have accumulated over time, keyed by the
value calculated in messageKey()
.
PropertyMessageResources
public PropertyMessageResources(MessageResourcesFactory factory,
String config)
Construct a new PropertyMessageResources according to the
specified parameters.
factory
- The MessageResourcesFactory that created usconfig
- The configuration parameter for this MessageResources
PropertyMessageResources
public PropertyMessageResources(MessageResourcesFactory factory,
String config,
boolean returnNull)
Construct a new PropertyMessageResources according to the
specified parameters.
factory
- The MessageResourcesFactory that created usconfig
- The configuration parameter for this MessageResourcesreturnNull
- The returnNull property we should initialize with
getMessage
public String getMessage(Locale locale,
String key)
Returns a text message for the specified key, for the default Locale.
A null string result will be returned by this method if no relevant
message resource is found for this key or Locale, if the
returnNull
property is set. Otherwise, an appropriate
error message will be returned.
This method must be implemented by a concrete subclass.
- getMessage in interface MessageResources
locale
- The requested message Locale, or null
for the system default Localekey
- The message key to look up
- text message for the specified key and locale
loadLocale
protected void loadLocale(String localeKey)
Load the messages associated with the specified Locale key. For this
implementation, the config
property should contain a fully
qualified package and resource name, separated by periods, of a series
of property resources to be loaded from the class loader that created
this PropertyMessageResources instance. This is exactly the same name
format you would use when utilizing the
java.util.PropertyResourceBundle
class.
localeKey
- Locale key for the messages to be retrieved
Copyright B) 2000-2007 - The Apache Software Foundation