org.apache.commons.lang.text

Class ExtendedMessageFormat

public class ExtendedMessageFormat extends MessageFormat

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:

Since: 2.4

Version: $Id: ExtendedMessageFormat.java 635447 2008-03-10 06:27:09Z bayard $

Author: Matt Benson Niall Pemberton

Constructor Summary
ExtendedMessageFormat(String pattern)
Create a new ExtendedMessageFormat for the default locale.
ExtendedMessageFormat(String pattern, Locale locale)
Create a new ExtendedMessageFormat.
ExtendedMessageFormat(String pattern, Map registry)
Create a new ExtendedMessageFormat for the default locale.
ExtendedMessageFormat(String pattern, Locale locale, Map registry)
Create a new ExtendedMessageFormat.
Method Summary
voidapplyPattern(String pattern)
Apply the specified pattern.
voidsetFormat(int formatElementIndex, Format newFormat)
voidsetFormatByArgumentIndex(int argumentIndex, Format newFormat)
voidsetFormats(Format[] newFormats)
voidsetFormatsByArgumentIndex(Format[] newFormats)
StringtoPattern()

Constructor Detail

ExtendedMessageFormat

public ExtendedMessageFormat(String pattern)
Create a new ExtendedMessageFormat for the default locale.

Parameters: pattern String

Throws: IllegalArgumentException in case of a bad pattern.

ExtendedMessageFormat

public ExtendedMessageFormat(String pattern, Locale locale)
Create a new ExtendedMessageFormat.

Parameters: pattern String locale Locale

Throws: IllegalArgumentException in case of a bad pattern.

ExtendedMessageFormat

public ExtendedMessageFormat(String pattern, Map registry)
Create a new ExtendedMessageFormat for the default locale.

Parameters: pattern String registry Registry of format factories: Map

Throws: IllegalArgumentException in case of a bad pattern.

ExtendedMessageFormat

public ExtendedMessageFormat(String pattern, Locale locale, Map registry)
Create a new ExtendedMessageFormat.

Parameters: pattern String locale Locale registry Registry of format factories: Map

Throws: IllegalArgumentException in case of a bad pattern.

Method Detail

applyPattern

public final void applyPattern(String pattern)
Apply the specified pattern.

Parameters: pattern String

setFormat

public void setFormat(int formatElementIndex, Format newFormat)
{@inheritDoc }

Throws: UnsupportedOperationException

setFormatByArgumentIndex

public void setFormatByArgumentIndex(int argumentIndex, Format newFormat)
{@inheritDoc }

Throws: UnsupportedOperationException

setFormats

public void setFormats(Format[] newFormats)
{@inheritDoc }

Throws: UnsupportedOperationException

setFormatsByArgumentIndex

public void setFormatsByArgumentIndex(Format[] newFormats)
{@inheritDoc }

Throws: UnsupportedOperationException

toPattern

public String toPattern()
{@inheritDoc }
Copyright © 2001-2011 - Apache Software Foundation