public class ExtendedMessageFormat extends MessageFormat
java.text.MessageFormat
to allow pluggable/additional formatting
options for embedded format elements. Client code should specify a registry
of FormatFactory
instances associated with String
format names. This registry will be consulted when the format elements are
parsed from the message pattern. In this way custom patterns can be specified,
and the formats supported by java.text.MessageFormat
can be overridden
at the format and/or format style level (see MessageFormat). A "format element"
embedded in the message pattern is specified (()? signifies optionality):{
argument-number(,
format-name
(,
format-style)?)?}
format-name and format-style values are trimmed of surrounding whitespace
in the manner of java.text.MessageFormat
. If format-name denotes
FormatFactory formatFactoryInstance
in registry
, a Format
matching format-name and format-style is requested from
formatFactoryInstance
. If this is successful, the Format
found is used for this format element.
NOTICE: The various subformat mutator methods are considered unnecessary; they exist on the parent
class to allow the type of customization which it is the job of this class to provide in
a configurable fashion. These methods have thus been disabled and will throw
UnsupportedOperationException
if called.
Limitations inherited from java.text.MessageFormat
:
Format
s, including MessageFormat
and thus
ExtendedMessageFormat
, is not guaranteed.MessageFormat.Field
Constructor and Description |
---|
ExtendedMessageFormat(String pattern)
Create a new ExtendedMessageFormat for the default locale.
|
ExtendedMessageFormat(String pattern,
Locale locale)
Create a new ExtendedMessageFormat.
|
ExtendedMessageFormat(String pattern,
Locale locale,
Map<String,? extends FormatFactory> registry)
Create a new ExtendedMessageFormat.
|
ExtendedMessageFormat(String pattern,
Map<String,? extends FormatFactory> registry)
Create a new ExtendedMessageFormat for the default locale.
|
Modifier and Type | Method and Description |
---|---|
void |
applyPattern(String pattern)
Apply the specified pattern.
|
boolean |
equals(Object obj)
Check if this extended message format is equal to another object.
|
int |
hashCode() |
void |
setFormat(int formatElementIndex,
Format newFormat)
Throws UnsupportedOperationException - see class Javadoc for details.
|
void |
setFormatByArgumentIndex(int argumentIndex,
Format newFormat)
Throws UnsupportedOperationException - see class Javadoc for details.
|
void |
setFormats(Format[] newFormats)
Throws UnsupportedOperationException - see class Javadoc for details.
|
void |
setFormatsByArgumentIndex(Format[] newFormats)
Throws UnsupportedOperationException - see class Javadoc for details.
|
String |
toPattern() |
clone, format, format, format, formatToCharacterIterator, getFormats, getFormatsByArgumentIndex, getLocale, parse, parse, parseObject, setLocale
format, parseObject
public ExtendedMessageFormat(String pattern)
pattern
- the pattern to use, not nullIllegalArgumentException
- in case of a bad pattern.public ExtendedMessageFormat(String pattern, Locale locale)
pattern
- the pattern to use, not nulllocale
- the locale to use, not nullIllegalArgumentException
- in case of a bad pattern.public ExtendedMessageFormat(String pattern, Map<String,? extends FormatFactory> registry)
pattern
- the pattern to use, not nullregistry
- the registry of format factories, may be nullIllegalArgumentException
- in case of a bad pattern.public ExtendedMessageFormat(String pattern, Locale locale, Map<String,? extends FormatFactory> registry)
pattern
- the pattern to use, not nulllocale
- the locale to use, not nullregistry
- the registry of format factories, may be nullIllegalArgumentException
- in case of a bad pattern.public String toPattern()
toPattern
in class MessageFormat
public final void applyPattern(String pattern)
applyPattern
in class MessageFormat
pattern
- Stringpublic void setFormat(int formatElementIndex, Format newFormat)
setFormat
in class MessageFormat
formatElementIndex
- format element indexnewFormat
- the new formatUnsupportedOperationException
- always thrown since this isn't supported by ExtendMessageFormatpublic void setFormatByArgumentIndex(int argumentIndex, Format newFormat)
setFormatByArgumentIndex
in class MessageFormat
argumentIndex
- argument indexnewFormat
- the new formatUnsupportedOperationException
- always thrown since this isn't supported by ExtendMessageFormatpublic void setFormats(Format[] newFormats)
setFormats
in class MessageFormat
newFormats
- new formatsUnsupportedOperationException
- always thrown since this isn't supported by ExtendMessageFormatpublic void setFormatsByArgumentIndex(Format[] newFormats)
setFormatsByArgumentIndex
in class MessageFormat
newFormats
- new formatsUnsupportedOperationException
- always thrown since this isn't supported by ExtendMessageFormatpublic boolean equals(Object obj)
equals
in class MessageFormat
obj
- the object to compare topublic int hashCode()
hashCode
in class MessageFormat
Copyright © 2014–2017 The Apache Software Foundation. All rights reserved.