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:
  `java.io.Serializable`, `java.lang.Cloneable`

    @Deprecated
    public class ExtendedMessageFormat
    extends java.text.MessageFormat

Deprecated.
as of 3.6, use commons-text ExtendedMessageFormat instead
Extends `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):
`{}<i>argument-number</i><b>(</b>{@code ,}<i>format-name</i><b> (</b>{@code ,}<i>format-style</i><b>)?)?</b>{@code }`

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`:

- When using "choice" subformats, support for nested formatting instructions is limited to that provided by the base class.
- Thread-safety of `Format`s, including `MessageFormat` and thus `ExtendedMessageFormat`, is not guaranteed.

Since:
  2.4
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.text.MessageFormat

`java.text.MessageFormat.Field`

### Constructor Summary

Constructors
`ExtendedMessageFormat​(java.lang.String pattern)` Deprecated. Create a new ExtendedMessageFormat for the default locale.
`ExtendedMessageFormat​(java.lang.String pattern, java.util.Locale locale)` Deprecated. Create a new ExtendedMessageFormat.
`ExtendedMessageFormat​(java.lang.String pattern, java.util.Locale locale, java.util.Map<java.lang.String,​? extends FormatFactory> registry)` Deprecated. Create a new ExtendedMessageFormat.
`ExtendedMessageFormat​(java.lang.String pattern, java.util.Map<java.lang.String,​? extends FormatFactory> registry)` Deprecated. Create a new ExtendedMessageFormat for the default locale.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`void` `applyPattern​(java.lang.String pattern)` Deprecated. Apply the specified pattern.
`boolean` `equals​(java.lang.Object obj)` Deprecated. Check if this extended message format is equal to another object.
`int` `hashCode()` Deprecated.
`void` `setFormat​(int formatElementIndex, java.text.Format newFormat)` Deprecated. Throws UnsupportedOperationException - see class Javadoc for details.
`void` `setFormatByArgumentIndex​(int argumentIndex, java.text.Format newFormat)` Deprecated. Throws UnsupportedOperationException - see class Javadoc for details.
`void` `setFormats​(java.text.Format[] newFormats)` Deprecated. Throws UnsupportedOperationException - see class Javadoc for details.
`void` `setFormatsByArgumentIndex​(java.text.Format[] newFormats)` Deprecated. Throws UnsupportedOperationException - see class Javadoc for details.
`java.lang.String` `toPattern()` 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`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ExtendedMessageFormat

    public ExtendedMessageFormat​(java.lang.String pattern)

Deprecated.
Create a new ExtendedMessageFormat for the default locale.

Parameters:
  `pattern` - the pattern to use, not null
Throws:
  `java.lang.IllegalArgumentException` - in case of a bad pattern.

#### ExtendedMessageFormat

    public ExtendedMessageFormat​(java.lang.String pattern,
                                 java.util.Locale locale)

Deprecated.
Create a new ExtendedMessageFormat.

Parameters:
  `pattern` - the pattern to use, not null
  `locale` - the locale to use, not null
Throws:
  `java.lang.IllegalArgumentException` - in case of a bad pattern.

#### ExtendedMessageFormat

    public ExtendedMessageFormat​(java.lang.String pattern,
                                 java.util.Map<java.lang.String,​? extends FormatFactory> registry)

Deprecated.
Create a new ExtendedMessageFormat for the default locale.

Parameters:
  `pattern` - the pattern to use, not null
  `registry` - the registry of format factories, may be null
Throws:
  `java.lang.IllegalArgumentException` - in case of a bad pattern.

#### ExtendedMessageFormat

    public ExtendedMessageFormat​(java.lang.String pattern,
                                 java.util.Locale locale,
                                 java.util.Map<java.lang.String,​? extends FormatFactory> registry)

Deprecated.
Create a new ExtendedMessageFormat.

Parameters:
  `pattern` - the pattern to use, not null
  `locale` - the locale to use, not null
  `registry` - the registry of format factories, may be null
Throws:
  `java.lang.IllegalArgumentException` - in case of a bad pattern.

### Method Detail

#### toPattern

    public java.lang.String toPattern()

Deprecated.

Overrides:
  `toPattern` in class `java.text.MessageFormat`

#### applyPattern

    public final void applyPattern​(java.lang.String pattern)

Deprecated.
Apply the specified pattern.

Overrides:
  `applyPattern` in class `java.text.MessageFormat`
Parameters:
  `pattern` - String

#### setFormat

    public void setFormat​(int formatElementIndex,
                          java.text.Format newFormat)

Deprecated.
Throws UnsupportedOperationException - see class Javadoc for details.

Overrides:
  `setFormat` in class `java.text.MessageFormat`
Parameters:
  `formatElementIndex` - format element index
  `newFormat` - the new format
Throws:
  `java.lang.UnsupportedOperationException` - always thrown since this isn't supported by ExtendMessageFormat

#### setFormatByArgumentIndex

    public void setFormatByArgumentIndex​(int argumentIndex,
                                         java.text.Format newFormat)

Deprecated.
Throws UnsupportedOperationException - see class Javadoc for details.

Overrides:
  `setFormatByArgumentIndex` in class `java.text.MessageFormat`
Parameters:
  `argumentIndex` - argument index
  `newFormat` - the new format
Throws:
  `java.lang.UnsupportedOperationException` - always thrown since this isn't supported by ExtendMessageFormat

#### setFormats

    public void setFormats​(java.text.Format[] newFormats)

Deprecated.
Throws UnsupportedOperationException - see class Javadoc for details.

Overrides:
  `setFormats` in class `java.text.MessageFormat`
Parameters:
  `newFormats` - new formats
Throws:
  `java.lang.UnsupportedOperationException` - always thrown since this isn't supported by ExtendMessageFormat

#### setFormatsByArgumentIndex

    public void setFormatsByArgumentIndex​(java.text.Format[] newFormats)

Deprecated.
Throws UnsupportedOperationException - see class Javadoc for details.

Overrides:
  `setFormatsByArgumentIndex` in class `java.text.MessageFormat`
Parameters:
  `newFormats` - new formats
Throws:
  `java.lang.UnsupportedOperationException` - always thrown since this isn't supported by ExtendMessageFormat

#### equals

    public boolean equals​(java.lang.Object obj)

Deprecated.
Check if this extended message format is equal to another object.

Overrides:
  `equals` in class `java.text.MessageFormat`
Parameters:
  `obj` - the object to compare to
Returns:
  true if this object equals the other, otherwise false

#### hashCode

    public int hashCode()

Deprecated.

Overrides:
  `hashCode` in class `java.text.MessageFormat`