Package org.apache.commons.text

# Class CompositeFormat

java.lang.Object
java.text.Format
org.apache.commons.text.CompositeFormat

All Implemented Interfaces:
  `Serializable`, `Cloneable`

public class CompositeFormat extends Format
Formats using one formatter and parses using a different formatter. An example of use for this would be a webapp where data is taken in one way and stored in a database another way.

Since:
  1.0
See Also:
  - Serialized Form

- ## Nested Class Summary

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

  `Format.Field`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CompositeFormat(Format parser, Format formatter)`
  Constructs a format that points its parseObject method to one implementation and its format method to another.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `StringBuffer`
  `format(Object obj, StringBuffer toAppendTo, FieldPosition pos)`
  Formats the input.
  `Format`
  `getFormatter()`
  Gets the parser Format implementation.
  `Format`
  `getParser()`
  Gets the parser Format implementation.
  `Object`
  `parseObject(String source, ParsePosition pos)`
  Parses the input.
  `String`
  `reformat(String input)`
  Parses and then reformats a String.

  ### Methods inherited from class java.text.Format

  `clone, format, formatToCharacterIterator, parseObject`

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

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

- ## Constructor Details

  - ### CompositeFormat

    public CompositeFormat(Format parser, Format formatter)
    Constructs a format that points its parseObject method to one implementation and its format method to another.
    Parameters:
      `parser` - implementation
      `formatter` - implementation

- ## Method Details

  - ### format

    public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
    Formats the input.
    Specified by:
      `format` in class `Format`
    Parameters:
      `obj` - the object to format
      `toAppendTo` - the `StringBuffer` to append to
      `pos` - the FieldPosition to use (or ignore).
    Returns:
      `toAppendTo`
    See Also:
      - `Format.format(Object, StringBuffer, FieldPosition)`

  - ### getFormatter

    public Format getFormatter()
    Gets the parser Format implementation.
    Returns:
      formatter Format implementation

  - ### getParser

    public Format getParser()
    Gets the parser Format implementation.
    Returns:
      parser Format implementation

  - ### parseObject

    public Object parseObject(String source, ParsePosition pos)
    Parses the input.
    Specified by:
      `parseObject` in class `Format`
    Parameters:
      `source` - the String source
      `pos` - the ParsePosition containing the position to parse from, will be updated according to parsing success (index) or failure (error index)
    Returns:
      The parsed Object
    See Also:
      - `Format.parseObject(String, ParsePosition)`

  - ### reformat

    public String reformat(String input) throws ParseException
    Parses and then reformats a String.
    Parameters:
      `input` - String to reformat
    Returns:
      A reformatted String
    Throws:
      `ParseException` - thrown by parseObject(String) call