Package org.apache.commons.lang3.text
Class ExtendedMessageFormat
java.lang.Object
java.text.Format
java.text.MessageFormat
org.apache.commons.lang3.text.ExtendedMessageFormat
- All Implemented Interfaces:
Serializable
,Cloneable
Deprecated.
As of 3.6, use Apache Commons Text
ExtendedMessageFormat instead
Extends
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 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 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 MessageFormat
:
- When using "choice" subformats, support for nested formatting instructions is limited to that provided by the base class.
- Thread-safety of
Format
s, includingMessageFormat
and thusExtendedMessageFormat
, is not guaranteed.
- Since:
- 2.4
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.text.MessageFormat
MessageFormat.Field
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
Deprecated.private static final char
Deprecated.private static final int
Deprecated.private static final char
Deprecated.private final Map
<String, ? extends FormatFactory> Deprecated.Our registry of FormatFactory.private static final long
Deprecated.private static final char
Deprecated.private static final char
Deprecated.private String
Deprecated.To pattern string. -
Constructor Summary
ConstructorsConstructorDescriptionExtendedMessageFormat
(String pattern) Deprecated.Create a new ExtendedMessageFormat for the default locale.ExtendedMessageFormat
(String pattern, Locale locale) Deprecated.Create a new ExtendedMessageFormat.ExtendedMessageFormat
(String pattern, Locale locale, Map<String, ? extends FormatFactory> registry) Deprecated.Create a new ExtendedMessageFormat.ExtendedMessageFormat
(String pattern, Map<String, ? extends FormatFactory> registry) Deprecated.Create a new ExtendedMessageFormat for the default locale. -
Method Summary
Modifier and TypeMethodDescriptionprivate StringBuilder
appendQuotedString
(String pattern, ParsePosition pos, StringBuilder appendTo) Deprecated.Consume a quoted string, adding it toappendTo
if specified.final void
applyPattern
(String pattern) Deprecated.Apply the specified pattern.private boolean
containsElements
(Collection<?> coll) Deprecated.Learn whether the specified Collection contains non-null elements.boolean
Deprecated.Check if this extended message format is equal to another object.private Format
Deprecated.Gets a custom format from a format description.private void
getQuotedString
(String pattern, ParsePosition pos) Deprecated.Consume quoted string onlyint
hashCode()
Deprecated.private String
insertFormats
(String pattern, ArrayList<String> customPatterns) Deprecated.Insert formats back into the pattern for toPattern() support.private ParsePosition
next
(ParsePosition pos) Deprecated.Convenience method to advance parse position by 1private String
parseFormatDescription
(String pattern, ParsePosition pos) Deprecated.Parse the format component of a format element.private int
readArgumentIndex
(String pattern, ParsePosition pos) Deprecated.Read the argument index from the current format elementprivate void
seekNonWs
(String pattern, ParsePosition pos) Deprecated.Consume whitespace from the current parse position.void
Deprecated.Throws UnsupportedOperationException - see class Javadoc for details.void
setFormatByArgumentIndex
(int argumentIndex, Format newFormat) Deprecated.Throws UnsupportedOperationException - see class Javadoc for details.void
setFormats
(Format[] newFormats) Deprecated.Throws UnsupportedOperationException - see class Javadoc for details.void
setFormatsByArgumentIndex
(Format[] newFormats) Deprecated.Throws UnsupportedOperationException - see class Javadoc for details.Deprecated.Methods inherited from class java.text.MessageFormat
clone, format, format, format, formatToCharacterIterator, getFormats, getFormatsByArgumentIndex, getLocale, parse, parse, parseObject, setLocale
Methods inherited from class java.text.Format
format, parseObject
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDDeprecated.- See Also:
-
HASH_SEED
private static final int HASH_SEEDDeprecated.- See Also:
-
DUMMY_PATTERN
Deprecated.- See Also:
-
START_FMT
private static final char START_FMTDeprecated.- See Also:
-
END_FE
private static final char END_FEDeprecated.- See Also:
-
START_FE
private static final char START_FEDeprecated.- See Also:
-
QUOTE
private static final char QUOTEDeprecated.- See Also:
-
toPattern
Deprecated.To pattern string. -
registry
Deprecated.Our registry of FormatFactory.
-
-
Constructor Details
-
ExtendedMessageFormat
Deprecated.Create a new ExtendedMessageFormat for the default locale.- Parameters:
pattern
- the pattern to use, not null- Throws:
IllegalArgumentException
- in case of a bad pattern.
-
ExtendedMessageFormat
Deprecated.Create a new ExtendedMessageFormat.- Parameters:
pattern
- the pattern to use, not nulllocale
- the locale to use, not null- Throws:
IllegalArgumentException
- in case of a bad pattern.
-
ExtendedMessageFormat
public ExtendedMessageFormat(String pattern, Locale locale, Map<String, ? extends FormatFactory> registry) Deprecated.Create a new ExtendedMessageFormat.- Parameters:
pattern
- the pattern to use, not null.locale
- the locale to use.registry
- the registry of format factories, may be null.- Throws:
IllegalArgumentException
- in case of a bad pattern.
-
ExtendedMessageFormat
Deprecated.Create a new ExtendedMessageFormat for the default locale.- Parameters:
pattern
- the pattern to use, not nullregistry
- the registry of format factories, may be null- Throws:
IllegalArgumentException
- in case of a bad pattern.
-
-
Method Details
-
appendQuotedString
Deprecated.Consume a quoted string, adding it toappendTo
if specified.- Parameters:
pattern
- pattern to parsepos
- current parse positionappendTo
- optional StringBuilder to append- Returns:
appendTo
-
applyPattern
Deprecated.Apply the specified pattern.- Overrides:
applyPattern
in classMessageFormat
- Parameters:
pattern
- String
-
containsElements
Deprecated.Learn whether the specified Collection contains non-null elements.- Parameters:
coll
- to check- Returns:
true
if some Object was found,false
otherwise.
-
equals
Deprecated.Check if this extended message format is equal to another object.- Overrides:
equals
in classMessageFormat
- Parameters:
obj
- the object to compare to- Returns:
- true if this object equals the other, otherwise false
-
getFormat
Deprecated.Gets a custom format from a format description.- Parameters:
desc
- String- Returns:
- Format
-
getQuotedString
Deprecated.Consume quoted string only- Parameters:
pattern
- pattern to parsepos
- current parse position
-
hashCode
public int hashCode()Deprecated.- Overrides:
hashCode
in classMessageFormat
-
insertFormats
Deprecated.Insert formats back into the pattern for toPattern() support.- Parameters:
pattern
- sourcecustomPatterns
- The custom patterns to re-insert, if any- Returns:
- full pattern
-
next
Deprecated.Convenience method to advance parse position by 1- Parameters:
pos
- ParsePosition- Returns:
pos
-
parseFormatDescription
Deprecated.Parse the format component of a format element.- Parameters:
pattern
- string to parsepos
- current parse position- Returns:
- Format description String
-
readArgumentIndex
Deprecated.Read the argument index from the current format element- Parameters:
pattern
- pattern to parsepos
- current parse position- Returns:
- argument index
-
seekNonWs
Deprecated.Consume whitespace from the current parse position.- Parameters:
pattern
- String to readpos
- current position
-
setFormat
Deprecated.Throws UnsupportedOperationException - see class Javadoc for details.- Overrides:
setFormat
in classMessageFormat
- Parameters:
formatElementIndex
- format element indexnewFormat
- the new format- Throws:
UnsupportedOperationException
- always thrown since this isn't supported by ExtendMessageFormat
-
setFormatByArgumentIndex
Deprecated.Throws UnsupportedOperationException - see class Javadoc for details.- Overrides:
setFormatByArgumentIndex
in classMessageFormat
- Parameters:
argumentIndex
- argument indexnewFormat
- the new format- Throws:
UnsupportedOperationException
- always thrown since this isn't supported by ExtendMessageFormat
-
setFormats
Deprecated.Throws UnsupportedOperationException - see class Javadoc for details.- Overrides:
setFormats
in classMessageFormat
- Parameters:
newFormats
- new formats- Throws:
UnsupportedOperationException
- always thrown since this isn't supported by ExtendMessageFormat
-
setFormatsByArgumentIndex
Deprecated.Throws UnsupportedOperationException - see class Javadoc for details.- Overrides:
setFormatsByArgumentIndex
in classMessageFormat
- Parameters:
newFormats
- new formats- Throws:
UnsupportedOperationException
- always thrown since this isn't supported by ExtendMessageFormat
-
toPattern
Deprecated.- Overrides:
toPattern
in classMessageFormat
-