? AbstractConverter

java.lang.Object
org.apache.commons.beanutils.converters.AbstractConverter
????????:
Converter
??????:
ArrayConverter, BooleanConverter, CharacterConverter, ClassConverter, DateTimeConverter, FileConverter, NumberConverter, StringConverter, URLConverter

public abstract class AbstractConverter extends 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

The default value has to be compliant to the default type of this converter - which is enforced by the generic type parameter. If a conversion is not possible and a default value is set, the converter tries to transform the default value to the requested target type. If this fails, a ConversionException if thrown.

???????:
1.8.0
??:
$Id$
  • ???????

    • AbstractConverter

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

      public AbstractConverter(Object defaultValue)
      Construct a Converter that returns a default value if an error occurs.
      ??:
      defaultValue - The default value to be returned if the value to be converted is missing or an error occurs converting the value.
  • ??????

    • isUseDefault

      public boolean isUseDefault()
      Indicates whether a default value will be returned or exception thrown in the event of a conversion error.
      ??:
      true if a default value will be returned for conversion errors or false if a ConversionException will be thrown.
    • convert

      public <T> T convert(Class<T> type, Object value)
      Convert the input object into an output object of the specified type.
      ???:
      convert ???? Converter
      ????:
      T - the target type of the conversion
      ??:
      type - Data type to which this value should be converted
      value - The input value to be converted
      ??:
      The converted value.
      ??:
      ConversionException - if conversion cannot be performed successfully and no default is specified.
    • convertToString

      protected String convertToString(Object value) throws 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.

      ??:
      value - The input value to be converted.
      ??:
      the converted String value.
      ??:
      Throwable - if an error occurs converting to a String
    • convertToType

      protected abstract <T> T convertToType(Class<T> type, Object value) throws Throwable
      Convert the input object into an output object of the specified type.

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

      ????:
      T - Target type of the conversion.
      ??:
      type - Data type to which this value should be converted.
      value - The input value to be converted.
      ??:
      The converted value.
      ??:
      Throwable - if an error occurs converting to the specified type
    • convertArray

      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.
      ??:
      value - The value to convert
      ??:
      The first element in an Array (or Collection) or the value unchanged if not an Array (or Collection)
    • handleError

      protected <T> T handleError(Class<T> type, Object value, Throwable cause)
      Handle Conversion Errors.

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

      ????:
      T - Target type of the conversion.
      ??:
      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
      ??:
      The default value.
      ??:
      ConversionException - if no default value has been specified for this Converter.
    • handleMissing

      protected <T> T handleMissing(Class<T> type)
      Handle missing values.

      If a default value has been specified, then it is returned (after a cast to the desired target class); otherwise a ConversionException is thrown.

      ????:
      T - the desired target type
      ??:
      type - Data type to which this value should be converted.
      ??:
      The default value.
      ??:
      ConversionException - if no default value has been specified for this Converter.
    • setDefaultValue

      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.

      ??:
      defaultValue - The default value to be returned if the value to be converted is missing or an error occurs converting the value.
      ??:
      ConversionException - if an error occurs converting the default value
    • getDefaultType

      protected abstract Class<?> getDefaultType()
      Return the default type this Converter handles.
      ??:
      The default type this Converter handles.
    • getDefault

      protected Object getDefault(Class<?> type)
      Return the default value for conversions to the specified type.
      ??:
      type - Data type to which this value should be converted.
      ??:
      The default value for the specified type.
    • toString

      public String toString()
      Provide a String representation of this converter.
      ??:
      toString ??? Object
      ??:
      A String representation of this converter
    • conversionException

      protected ConversionException conversionException(Class<?> type, Object value)
      Generates a standard conversion exception with a message indicating that the passed in value cannot be converted to the desired target type.
      ??:
      type - the target type
      value - the value to be converted
      ??:
      a ConversionException with a standard message
      ???????:
      1.9