public abstract class

AbstractConverter

extends Object
implements Converter
java.lang.Object
   ↳ org.apache.commons.beanutils.converters.AbstractConverter
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

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

Summary

Public Constructors
AbstractConverter()
Construct a Converter that throws a ConversionException if an error occurs.
AbstractConverter(Object defaultValue)
Construct a Converter that returns a default value if an error occurs.
Public Methods
Object convert(Class type, Object value)
Convert the input object into an output object of the specified type.
boolean isUseDefault()
Indicates whether a default value will be returned or exception thrown in the event of a conversion error.
String toString()
Provide a String representation of this converter.
Protected Methods
Object convertArray(Object value)
Return the first element from an Array (or Collection) or the value unchanged if not an Array (or Collection).
String convertToString(Object value)
Convert the input object into a String.
abstract Object convertToType(Class type, Object value)
Convert the input object into an output object of the specified type.
Object getDefault(Class type)
Return the default value for conversions to the specified type.
abstract Class getDefaultType()
Return the default type this Converter handles.
Object handleError(Class type, Object value, Throwable cause)
Handle Conversion Errors.
Object handleMissing(Class type)
Handle missing values.
void setDefaultValue(Object defaultValue)
Set the default value, converting as required.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.apache.commons.beanutils.Converter

Public Constructors

public AbstractConverter ()

Construct a Converter that throws a ConversionException if an error occurs.

public AbstractConverter (Object defaultValue)

Construct a Converter that returns a default value if an error occurs.

Parameters
defaultValue The default value to be returned if the value to be converted is missing or an error occurs converting the value.

Public Methods

public Object convert (Class type, Object value)

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

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.

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.

public String toString ()

Provide a String representation of this converter.

Returns
  • A String representation of this converter

Protected Methods

protected Object convertArray (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)

protected String convertToString (Object value)

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
Throwable if an error occurs converting to a String

protected abstract Object convertToType (Class type, Object value)

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
Throwable if an error occurs converting to the specified type

protected Object getDefault (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.

protected abstract Class getDefaultType ()

Return the default type this Converter handles.

Returns
  • The default type this Converter handles.

protected Object handleError (Class type, Object value, 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.

protected Object handleMissing (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.

protected void setDefaultValue (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