Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.beanutils.converters
Class AbstractConverter

    java.lang.Object
      |
      +--org.apache.commons.beanutils.converters.AbstractConverter

All Implemented Interfaces:
  Converter

Direct Known Subclasses:
  ArrayConverter, BooleanConverter, CharacterConverter, ClassConverter, DateTimeConverter, FileConverter, NumberConverter, StringConverter, URLConverter

public abstract class AbstractConverter
extends java.lang.Object
implements Converter

Base `Converter` implementation that provides the structure for handling conversion to and from a specified type.

This implementation provides the basic structure for converting to/from a specified type optionally using a default value or throwing a `ConversionException` if a conversion error occurs.

Implementations should provide conversion to the specified type and from the specified type to a `String` value by implementing the following methods:

- `convertToString(value)` - convert to a String (default implementation uses the objects `toString()` method).
- `convertToType(Class, value)` - convert to the specified type

Since:
  1.8.0
Version:
  $Revision: 555824 $ $Date: 2007-07-13 01:27:15 +0100 (Fri, 13 Jul 2007) $

Constructor Summary
`AbstractConverter(java.lang.Class defaultType)` Construct a Converter that throws a `ConversionException` if an error occurs.
`AbstractConverter(java.lang.Class defaultType, java.lang.Object defaultValue)` Construct a Converter that returns a default value if an error occurs.

Method Summary
`java.lang.Object` | `convert(java.lang.Class type, java.lang.Object value)` Convert the input object into an output object of the specified type.
`protected java.lang.Object` | `convertArray(java.lang.Object value)` Return the first element from an Array (or Collection) or the value unchanged if not an Array (or Collection).
`protected java.lang.String` | `convertToString(java.lang.Object value)` Convert the input object into a String.
`protected abstract java.lang.Object` | `convertToType(java.lang.Class type, java.lang.Object value)` Convert the input object into an output object of the specified type.
`protected java.lang.Object` | `getDefault(java.lang.Class type)` Return the default value for conversions to the specified type.
`protected java.lang.Class` | `getDefaultType()` Return the default type this `Converter` handles.
`protected java.lang.Object` | `handleError(java.lang.Class type, java.lang.Object value, java.lang.Throwable cause)` Handle Conversion Errors.
`protected java.lang.Object` | `handleMissing(java.lang.Class type)` Handle missing values.
`boolean` | `isUseDefault()` Indicates whether a default value will be returned or exception thrown in the event of a conversion error.
`protected void` | `setDefaultValue(java.lang.Object defaultValue)` Set the default value, converting as required.
`java.lang.String` | `toString()` Provide a String representation of this converter.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### AbstractConverter

    public AbstractConverter(java.lang.Class defaultType)

  Construct a Converter that throws a `ConversionException` if an error occurs.
  Parameters:
    `defaultType` - The default type this `Converter` handles

### AbstractConverter

    public AbstractConverter(java.lang.Class defaultType,
                             java.lang.Object defaultValue)

  Construct a Converter that returns a default value if an error occurs.
  Parameters:
    `defaultType` - The default type this `Converter` handles
    `defaultValue` - The default value to be returned if the value to be converted is missing or an error occurs converting the value.

Method Detail

### isUseDefault

    public boolean isUseDefault()

  Indicates whether a default value will be returned or exception thrown in the event of a conversion error.
  Returns:
    `true` if a default value will be returned for conversion errors or `false` if a `ConversionException` will be thrown.

### convert

    public java.lang.Object convert(java.lang.Class type,
                                    java.lang.Object value)

  Convert the input object into an output object of the specified type.
  Specified by:
    `convert` in interface `Converter`
  Parameters:
    `type` - Data type to which this value should be converted
    `value` - The input value to be converted
  Returns:
    The converted value.
  Throws:
    `ConversionException` - if conversion cannot be performed successfully and no default is specified.

### convertToString

    protected java.lang.String convertToString(java.lang.Object value)
                                        throws java.lang.Throwable

  Convert the input object into a String.

  N.B.This implementation simply uses the value's `toString()` method and should be overriden if a more sophisticated mechanism for conversion to a String is required.

  Parameters:
    `value` - The input value to be converted.
  Returns:
    the converted String value.
  Throws:
    `java.lang.Throwable` - if an error occurs converting to a String

### convertToType

    protected abstract java.lang.Object convertToType(java.lang.Class type,
                                                      java.lang.Object value)
                                               throws java.lang.Throwable

  Convert the input object into an output object of the specified type.

  Typical implementations will provide a minimum of `String --> type` conversion.

  Parameters:
    `type` - Data type to which this value should be converted.
    `value` - The input value to be converted.
  Returns:
    The converted value.
  Throws:
    `java.lang.Throwable` - if an error occurs converting to the specified type

### convertArray

    protected java.lang.Object convertArray(java.lang.Object value)

  Return the first element from an Array (or Collection) or the value unchanged if not an Array (or Collection). N.B. This needs to be overriden for array/Collection converters.
  Parameters:
    `value` - The value to convert
  Returns:
    The first element in an Array (or Collection) or the value unchanged if not an Array (or Collection)

### handleError

    protected java.lang.Object handleError(java.lang.Class type,
                                           java.lang.Object value,
                                           java.lang.Throwable cause)

  Handle Conversion Errors.

  If a default value has been specified then it is returned otherwise a ConversionException is thrown.

  Parameters:
    `type` - Data type to which this value should be converted.
    `value` - The input value to be converted
    `cause` - The exception thrown by the `convert` method
  Returns:
    The default value.
  Throws:
    `ConversionException` - if no default value has been specified for this `Converter`.

### handleMissing

    protected java.lang.Object handleMissing(java.lang.Class type)

  Handle missing values.

  If a default value has been specified then it is returned otherwise a ConversionException is thrown.

  Parameters:
    `type` - Data type to which this value should be converted.
  Returns:
    The default value.
  Throws:
    `ConversionException` - if no default value has been specified for this `Converter`.

### setDefaultValue

    protected void setDefaultValue(java.lang.Object defaultValue)

  Set the default value, converting as required.

  If the default value is different from the type the `Converter` handles, it will be converted to the handled type.

  Parameters:
    `defaultValue` - The default value to be returned if the value to be converted is missing or an error occurs converting the value.
  Throws:
    `ConversionException` - if an error occurs converting the default value

### getDefaultType

    protected java.lang.Class getDefaultType()

  Return the default type this `Converter` handles.
  Returns:
    The default type this `Converter` handles.

### getDefault

    protected java.lang.Object getDefault(java.lang.Class type)

  Return the default value for conversions to the specified type.
  Parameters:
    `type` - Data type to which this value should be converted.
  Returns:
    The default value for the specified type.

### toString

    public java.lang.String toString()

  Provide a String representation of this converter.
  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    A String representation of this converter

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2007 The Apache Software Foundation. All Rights Reserved.