Class ExtendedMessageFormat

java.lang.Object
java.text.Format
java.text.MessageFormat
org.apache.commons.lang3.text.ExtendedMessageFormat
All Implemented Interfaces:
Serializable, Cloneable

@Deprecated public class ExtendedMessageFormat extends 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):
{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:

  • When using "choice" subformats, support for nested formatting instructions is limited to that provided by the base class.
  • Thread-safety of Formats, including MessageFormat and thus ExtendedMessageFormat, is not guaranteed.
Since:
2.4
See Also:
  • Field Details

  • Constructor Details

    • ExtendedMessageFormat

      public ExtendedMessageFormat(String pattern)
      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

      public ExtendedMessageFormat(String pattern, Locale locale)
      Deprecated.
      Create a new ExtendedMessageFormat.
      Parameters:
      pattern - the pattern to use, not null
      locale - the locale to use, not null
      Throws:
      IllegalArgumentException - in case of a bad pattern.
    • ExtendedMessageFormat

      public ExtendedMessageFormat(String pattern, Map<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:
      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.
  • Method Details

    • toPattern

      public String toPattern()
      Deprecated.
      Overrides:
      toPattern in class MessageFormat
    • applyPattern

      public final void applyPattern(String pattern)
      Deprecated.
      Apply the specified pattern.
      Overrides:
      applyPattern in class MessageFormat
      Parameters:
      pattern - String
    • setFormat

      public void setFormat(int formatElementIndex, Format newFormat)
      Deprecated.
      Throws UnsupportedOperationException - see class Javadoc for details.
      Overrides:
      setFormat in class MessageFormat
      Parameters:
      formatElementIndex - format element index
      newFormat - the new format
      Throws:
      UnsupportedOperationException - always thrown since this isn't supported by ExtendMessageFormat
    • setFormatByArgumentIndex

      public void setFormatByArgumentIndex(int argumentIndex, Format newFormat)
      Deprecated.
      Throws UnsupportedOperationException - see class Javadoc for details.
      Overrides:
      setFormatByArgumentIndex in class MessageFormat
      Parameters:
      argumentIndex - argument index
      newFormat - the new format
      Throws:
      UnsupportedOperationException - always thrown since this isn't supported by ExtendMessageFormat
    • setFormats

      public void setFormats(Format[] newFormats)
      Deprecated.
      Throws UnsupportedOperationException - see class Javadoc for details.
      Overrides:
      setFormats in class MessageFormat
      Parameters:
      newFormats - new formats
      Throws:
      UnsupportedOperationException - always thrown since this isn't supported by ExtendMessageFormat
    • setFormatsByArgumentIndex

      public void setFormatsByArgumentIndex(Format[] newFormats)
      Deprecated.
      Throws UnsupportedOperationException - see class Javadoc for details.
      Overrides:
      setFormatsByArgumentIndex in class MessageFormat
      Parameters:
      newFormats - new formats
      Throws:
      UnsupportedOperationException - always thrown since this isn't supported by ExtendMessageFormat
    • equals

      public boolean equals(Object obj)
      Deprecated.
      Check if this extended message format is equal to another object.
      Overrides:
      equals in class 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 MessageFormat
    • getFormat

      private Format getFormat(String desc)
      Deprecated.
      Gets a custom format from a format description.
      Parameters:
      desc - String
      Returns:
      Format
    • readArgumentIndex

      private int readArgumentIndex(String pattern, ParsePosition pos)
      Deprecated.
      Read the argument index from the current format element
      Parameters:
      pattern - pattern to parse
      pos - current parse position
      Returns:
      argument index
    • parseFormatDescription

      private String parseFormatDescription(String pattern, ParsePosition pos)
      Deprecated.
      Parse the format component of a format element.
      Parameters:
      pattern - string to parse
      pos - current parse position
      Returns:
      Format description String
    • insertFormats

      private String insertFormats(String pattern, ArrayList<String> customPatterns)
      Deprecated.
      Insert formats back into the pattern for toPattern() support.
      Parameters:
      pattern - source
      customPatterns - The custom patterns to re-insert, if any
      Returns:
      full pattern
    • seekNonWs

      private void seekNonWs(String pattern, ParsePosition pos)
      Deprecated.
      Consume whitespace from the current parse position.
      Parameters:
      pattern - String to read
      pos - current position
    • next

      private ParsePosition next(ParsePosition pos)
      Deprecated.
      Convenience method to advance parse position by 1
      Parameters:
      pos - ParsePosition
      Returns:
      pos
    • appendQuotedString

      private StringBuilder appendQuotedString(String pattern, ParsePosition pos, StringBuilder appendTo)
      Deprecated.
      Consume a quoted string, adding it to appendTo if specified.
      Parameters:
      pattern - pattern to parse
      pos - current parse position
      appendTo - optional StringBuilder to append
      Returns:
      appendTo
    • getQuotedString

      private void getQuotedString(String pattern, ParsePosition pos)
      Deprecated.
      Consume quoted string only
      Parameters:
      pattern - pattern to parse
      pos - current parse position
    • containsElements

      private boolean containsElements(Collection<?> coll)
      Deprecated.
      Learn whether the specified Collection contains non-null elements.
      Parameters:
      coll - to check
      Returns:
      true if some Object was found, false otherwise.