public class LocalizedMessageSource extends java.lang.Object implements MessageSource
MessageSource
interface for obtaining localized messages
for tracing, status messages, etc.
The class is designed such that class hierarchies can use a hierarchy
of LocalizedMessageSource
instances to obtain localized strings. For
example assume com.company.DerivedClass is derived from com.company.BaseClass.
BaseClass would contain a member variable of class LocalizedMessageSource
that is constructed as follows:
LocalizedMessageSource msgSource = new LocalizedMessageSource("com.company.BaseClass");
DerivedClass would contain a member variable of class LocalizedMessageSource that is
constructed as follows:
LocalizedMessageSource msgSource = new LocalizedMessageSource("com.company.DerivedClass",super.msgSource);
DerivedClass can then use message IDs defined in either DerivedClass or BaseClass.
Messages are located in a resource bundle and formatted using java.text.MessageFormat
.
ResourceBundle
,
MessageFormat
Modifier and Type | Field and Description |
---|---|
protected java.util.ResourceBundle |
bundle
ResourceBundle from which to obtain message strings. |
protected LocalizedMessageSource |
parent
Parent
LocalizedMessageSource . |
Constructor and Description |
---|
LocalizedMessageSource(java.lang.String resourceBundleName)
Construct a
LocalizedMessageSource based on the passed resource name. |
LocalizedMessageSource(java.lang.String resourceBundleName,
java.util.Locale locale)
Construct a
LocalizedMessageSource based on the passed resource name. |
LocalizedMessageSource(java.lang.String resourceBundleName,
LocalizedMessageSource parent)
Construct a
LocalizedMessageSource based on the passed resource name and a parent
class's LocalizedMessageSource instance. |
LocalizedMessageSource(java.lang.String resourceBundleName,
LocalizedMessageSource parent,
java.util.Locale locale)
Construct a
LocalizedMessageSource based on the passed resource name and a parent
class's LocalizedMessageSource instance. |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getMessage(java.lang.String msgID,
java.lang.Object[] parms)
Get a localized message.
|
java.lang.String |
getMessageString(java.lang.String msgID)
Get a message string from this instance's ResourceBundle.
|
protected java.util.ResourceBundle bundle
ResourceBundle
from which to obtain message strings.protected LocalizedMessageSource parent
LocalizedMessageSource
. If a message is not found in bundle then
parent.getMessageString()
is called.public LocalizedMessageSource(java.lang.String resourceBundleName) throws java.util.MissingResourceException
LocalizedMessageSource
based on the passed resource name. The
resource name is typically the name of the class that is constructing the
instance. Uses default locale.resourceBundleName
- name of resource bundlejava.util.MissingResourceException
public LocalizedMessageSource(java.lang.String resourceBundleName, java.util.Locale locale) throws java.util.MissingResourceException
LocalizedMessageSource
based on the passed resource name. The
resource name is typically the name of the class that is constructing the
instance.resourceBundleName
- name of resource bundlelocale
- locale for localized resources.java.util.MissingResourceException
public LocalizedMessageSource(java.lang.String resourceBundleName, LocalizedMessageSource parent) throws java.util.MissingResourceException
LocalizedMessageSource
based on the passed resource name and a parent
class's LocalizedMessageSource
instance.resourceBundleName
- name of resource bundleparent
- parent class's LocalizedMessageSource instance.java.util.MissingResourceException
public LocalizedMessageSource(java.lang.String resourceBundleName, LocalizedMessageSource parent, java.util.Locale locale) throws java.util.MissingResourceException
LocalizedMessageSource
based on the passed resource name and a parent
class's LocalizedMessageSource
instance.resourceBundleName
- name of resource bundleparent
- parent class's LocalizedMessageSource instance.locale
- locale for localized resources.java.util.MissingResourceException
public java.lang.String getMessage(java.lang.String msgID, java.lang.Object[] parms)
getMessage
in interface MessageSource
msgID
- message key or IDparms
- array of parameters for message (may be null for
messages that do not require parameters).public java.lang.String getMessageString(java.lang.String msgID)
msgID
- id or key of message string in resource bundle.