Package org.apache.commons.lang.text

# Class CompositeFormat

java.lang.Object
java.text.Format
org.apache.commons.lang.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.

Version:
  $Id: CompositeFormat.java 905636 2010-02-02 14:03:32Z niallp $
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

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 Details

### 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 Details

### 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