Class CmsMessages
- Direct Known Subclasses:
CmsMultiMessages
,CmsXmlMessages
java.util.ResourceBundle
and provides convenience methods to access the Strings from a template.
This class is frequently used from JSP templates. Because of that, throwing of
exceptions related to the access of the resource bundle are suppressed
so that a template always execute. The class provides an isInitialized()
method
that can be checked to see if the instance was properly initialized.
- Since:
- 6.0.0
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
Empty constructor for subclassing.CmsMessages
(String bundleName, String language) Constructor for the messages with a language string.CmsMessages
(String bundleName, String language, String country) Constructor for the messages with language and country code strings.CmsMessages
(String bundleName, String language, String country, String variant) Constructor for the messages with language, country code and variant strings.CmsMessages
(String bundleName, Locale locale) Constructor for the messages with an initializedjava.util.Locale
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
static String
formatUnknownKey
(String keyName) Formats an unknown key.protected String
Returns the name of the resource bundle this object was initialized with.getDate
(long time) Returns a formated date String from a timestamp value, the format beingDateFormat.SHORT
and the locale based on this instance.Returns a formated date String from a Date value, the format beingDateFormat.SHORT
and the locale based on this instance.Returns a formated date String from a Date value, the formatting based on the provided option and the locale based on this instance.getDateTime
(long time) Returns a formated date and time String from a timestamp value, the format beingDateFormat.SHORT
and the locale based on this instance.getDateTime
(Date date) Returns a formated date and time String from a Date value, the format beingDateFormat.SHORT
and the locale based on this instance.getDateTime
(Date date, int format) Returns a formated date and time String from a Date value, the formatting based on the provided option and the locale based on this instance.Returns the locale to use for looking up this messages.Returns the resource bundle this message object was initialized with.Directly calls the getString(String) method of the wrapped ResourceBundle.int
hashCode()
boolean
Checks if the bundle was properly initialized.boolean
Indicates that users of this CmsMessages instance should not cache message from it.static boolean
isUnknownKey
(String value) Returnstrue
if the provided value matches the scheme"??? " + keyName + " ???"
, that is the value appears to be an unknown key.Returns the localized resource string for a given message key.Returns the localized resource string for a given message key.Returns the selected localized message for the initialized resource bundle and locale.Returns the selected localized message for the initialized resource bundle and locale.Returns the selected localized message for the initialized resource bundle and locale.Returns the selected localized message for the initialized resource bundle and locale.Returns the selected localized message for the initialized resource bundle and locale.keyDefault
(String keyName, String defaultValue) Returns the localized resource string for a given message key.keyWithParams
(String keyName) Returns the localized resource string for a given message key, treating all values appended with "|" as replacement parameters.keyWithParams
(String keyName, Function<String, String> unknownKeyFormatter) Returns the localized resource string for a given message key, treating all values appended with "|" as replacement parameters.protected void
setBundleName
(String bundleName) Sets the bundleName.protected void
Sets the locale.protected void
setResourceBundle
(ResourceBundle resourceBundle) Sets the resource bundle.toString()
-
Field Details
-
KEY_SHORT_SUFFIX
The suffix of a "short" localized key name.- See Also:
-
UNKNOWN_KEY_EXTENSION
Prefix / Suffix for unknown keys.- See Also:
-
-
Constructor Details
-
CmsMessages
Constructor for the messages with an initializedjava.util.Locale
.- Parameters:
bundleName
- the base ResourceBundle namelocale
- the m_locale to use, eg. "de", "en" etc.
-
CmsMessages
Constructor for the messages with a language string.The
language
is a 2 letter language ISO code, e.g."EN"
.The Locale for the messages will be created like this:
new Locale(language, "", "")
.- Parameters:
bundleName
- the base ResourceBundle namelanguage
- ISO language indentificator for the m_locale of the bundle
-
CmsMessages
Constructor for the messages with language and country code strings.The
language
is a 2 letter language ISO code, e.g."EN"
. Thecountry
is a 2 letter country ISO code, e.g."us"
.The Locale for the messages will be created like this:
new Locale(language, country, "")
.- Parameters:
bundleName
- the base ResourceBundle namelanguage
- ISO language indentificator for the m_locale of the bundlecountry
- ISO 2 letter country code for the m_locale of the bundle
-
CmsMessages
Constructor for the messages with language, country code and variant strings.The
language
is a 2 letter language ISO code, e.g."EN"
. Thecountry
is a 2 letter country ISO code, e.g."us"
. Thevariant
is a vendor or browser-specific code, e.g."POSIX"
.The Locale for the messages will be created like this:
new Locale(language, country, variant)
.- Parameters:
bundleName
- the base ResourceBundle namelanguage
- language indentificator for the m_locale of the bundlecountry
- 2 letter country code for the m_locale of the bundlevariant
- a vendor or browser-specific variant code
-
CmsMessages
protected CmsMessages()Empty constructor for subclassing.
-
-
Method Details
-
formatUnknownKey
Formats an unknown key.- Parameters:
keyName
- the key to format- Returns:
- the formatted unknown key
- See Also:
-
isUnknownKey
Returnstrue
if the provided value matches the scheme"??? " + keyName + " ???"
, that is the value appears to be an unknown key.Also returns
true
if the given value isnull
.- Parameters:
value
- the value to check- Returns:
- true if the value is matches the scheme for unknown keys
- See Also:
-
equals
-
getDate
Returns a formated date String from a Date value, the format beingDateFormat.SHORT
and the locale based on this instance.- Parameters:
date
- the Date object to format as String- Returns:
- the formatted date
-
getDate
Returns a formated date String from a Date value, the formatting based on the provided option and the locale based on this instance.- Parameters:
date
- the Date object to format as Stringformat
- the format to use, seeCmsMessages
for possible values- Returns:
- the formatted date
-
getDate
Returns a formated date String from a timestamp value, the format beingDateFormat.SHORT
and the locale based on this instance.- Parameters:
time
- the time value to format as date- Returns:
- the formatted date
-
getDateTime
Returns a formated date and time String from a Date value, the format beingDateFormat.SHORT
and the locale based on this instance.- Parameters:
date
- the Date object to format as String- Returns:
- the formatted date and time
-
getDateTime
Returns a formated date and time String from a Date value, the formatting based on the provided option and the locale based on this instance.- Parameters:
date
- the Date object to format as Stringformat
- the format to use, seeCmsMessages
for possible values- Returns:
- the formatted date and time
-
getDateTime
Returns a formated date and time String from a timestamp value, the format beingDateFormat.SHORT
and the locale based on this instance.- Parameters:
time
- the time value to format as date- Returns:
- the formatted date and time
-
getLocale
Returns the locale to use for looking up this messages.- Returns:
- the locale to use for looking up this messages
-
getResourceBundle
Returns the resource bundle this message object was initialized with.- Returns:
- the resource bundle this message object was initialized with or null if initialization was not successful
-
getString
Directly calls the getString(String) method of the wrapped ResourceBundle.If you use this this class on a template, you should consider using the
key(String)
method to get the value from the ResourceBundle because it handles the exception for you in a convenient way.- Parameters:
keyName
- the key- Returns:
- the resource string for the given key
- Throws:
CmsMessageException
- in case the key is not found or the bundle is not initialized
-
hashCode
-
isInitialized
Checks if the bundle was properly initialized.- Returns:
true
if bundle was initialized,false
otherwise
-
isUncacheable
Indicates that users of this CmsMessages instance should not cache message from it.- Returns:
- true if messages from this CmsMessages instance should not be cached
-
key
Returns the localized resource string for a given message key.If the key was not found in the bundle, the return value is
"??? " + keyName + " ???"
. This will also be returned if the bundle was not properly initialized first.- Parameters:
keyName
- the key for the desired string- Returns:
- the resource string for the given key
-
key
Returns the localized resource string for a given message key.If the key was not found in the bundle, the return value depends on the setting of the allowNull parameter. If set to false, the return value is always a String in the format
"??? " + keyName + " ???"
. If set to true, null is returned if the key is not found. This will also be returned if the bundle was not properly initialized first.- Parameters:
keyName
- the key for the desired stringallowNull
- if true, 'null' is an allowed return value- Returns:
- the resource string for the given key
-
key
Returns the selected localized message for the initialized resource bundle and locale.Convenience method for messages with one argument.
- Parameters:
key
- the message keyarg0
- the message argument- Returns:
- the selected localized message for the initialized resource bundle and locale
-
key
Returns the selected localized message for the initialized resource bundle and locale.Convenience method for messages with two arguments.
- Parameters:
key
- the message keyarg0
- the first message argumentarg1
- the second message argument- Returns:
- the selected localized message for the initialized resource bundle and locale
-
key
Returns the selected localized message for the initialized resource bundle and locale.Convenience method for messages with three arguments.
- Parameters:
key
- the message keyarg0
- the first message argumentarg1
- the second message argumentarg2
- the third message argument- Returns:
- the selected localized message for the initialized resource bundle and locale
-
key
Returns the selected localized message for the initialized resource bundle and locale.If the key was found in the bundle, it will be formatted using a
using the provided parameters.MessageFormat
If the key was not found in the bundle, the return value is
"??? " + keyName + " ???"
. This will also be returned if the bundle was not properly initialized first.- Parameters:
key
- the message keyargs
- the message arguments- Returns:
- the selected localized message for the initialized resource bundle and locale
-
key
Returns the selected localized message for the initialized resource bundle and locale.If the key was found in the bundle, it will be formatted using a
using the provided parameters.MessageFormat
If the key was not found in the bundle, the return value will be the result of passing the key to the unknownKeyFormatter function.
- Parameters:
key
- the message keyargs
- the message argumentsunknownKeyFormatter
- the function for formatting unknown keys- Returns:
- the selected localized message for the initialized resource bundle and locale
-
keyDefault
Returns the localized resource string for a given message key.If the key was not found in the bundle, the provided default value is returned.
- Parameters:
keyName
- the key for the desired stringdefaultValue
- the default value in case the key does not exist in the bundle- Returns:
- the resource string for the given key it it exists, or the given default if not
-
keyWithParams
Returns the localized resource string for a given message key, treating all values appended with "|" as replacement parameters.If the key was found in the bundle, it will be formatted using a
using the provided parameters. The parameters have to be appended to the key separated by a "|". For example, the keyNameMessageFormat
error.message|First|Second
would use the keyerror.message
with the parametersFirst
andSecond
. This would be the same as calling
.key(String, Object[])
If no parameters are appended with "|", this is the same as calling
.key(String)
If the key was not found in the bundle, the return value is
"??? " + keyName + " ???"
. This will also be returned if the bundle was not properly initialized first.- Parameters:
keyName
- the key for the desired string, optinally containing parameters appended with a "|"- Returns:
- the resource string for the given key
- See Also:
-
keyWithParams
Returns the localized resource string for a given message key, treating all values appended with "|" as replacement parameters.If the key was found in the bundle, it will be formatted using a
using the provided parameters. The parameters have to be appended to the key separated by a "|". For example, the keyNameMessageFormat
error.message|First|Second
would use the keyerror.message
with the parametersFirst
andSecond
. This would be the same as calling
.key(String, Object[])
If no parameters are appended with "|", this is the same as calling
.key(String)
If the key was not found in the bundle, the function from the unknownKeyFormatter parameter is used to generate the return value.
- Parameters:
keyName
- the key for the desired string, optinally containing parameters appended with a "|"unknownKeyFormatter
- the function to use to generate the returned result for unknown keys- Returns:
- the resource string for the given key
- See Also:
-
toString
-
getBundleName
Returns the name of the resource bundle this object was initialized with.- Returns:
- the name of the resource bundle this object was initialized with
-
setBundleName
Sets the bundleName.- Parameters:
bundleName
- the bundleName to set
-
setLocale
Sets the locale.- Parameters:
locale
- the locale to set
-
setResourceBundle
Sets the resource bundle.- Parameters:
resourceBundle
- the resource bundle to set
-