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)` | Create a format that points its parseObject method to one implementation and its format method to another.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `StringBuffer` | `format​(Object obj, StringBuffer toAppendTo, FieldPosition pos)` | Uses the formatter Format instance.
    `Format` | `getFormatter()` | Provides access to the parser Format implementation.
    `Format` | `getParser()` | Provides access to the parser Format implementation.
    `Object` | `parseObject​(String source, ParsePosition pos)` | Uses the parser Format instance.
    `String` | `reformat​(String input)` | Utility method to parse and then reformat 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 Detail

    - #### CompositeFormat

          public CompositeFormat​(Format parser,
                                 Format formatter)

      Create a format that points its parseObject method to one implementation and its format method to another.
      Parameters:
        `parser` - implementation
        `formatter` - implementation

  - ### Method Detail

    - #### format

          public StringBuffer format​(Object obj,
                                     StringBuffer toAppendTo,
                                     FieldPosition pos)

      Uses the formatter Format instance.
      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)`

    - #### parseObject

          public Object parseObject​(String source,
                                    ParsePosition pos)

      Uses the parser Format instance.
      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)`

    - #### getParser

          public Format getParser()

      Provides access to the parser Format implementation.
      Returns:
        parser Format implementation

    - #### getFormatter

          public Format getFormatter()

      Provides access to the parser Format implementation.
      Returns:
        formatter Format implementation

    - #### reformat

          public String reformat​(String input)
                          throws ParseException

      Utility method to parse and then reformat a String.
      Parameters:
        `input` - String to reformat
      Returns:
        A reformatted String
      Throws:
        `ParseException` - thrown by parseObject(String) call