org.apache.commons.beanutils.converters

Class AbstractArrayConverter

Implemented Interfaces:
Converter
Known Direct Subclasses:
BooleanArrayConverter, ByteArrayConverter, CharacterArrayConverter, DoubleArrayConverter, FloatArrayConverter, IntegerArrayConverter, LongArrayConverter, ShortArrayConverter, StringArrayConverter

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

Convenience base class for converters that translate the String representation of an array into a corresponding array of primitives object. This class encapsulates the functionality required to parse the String into a list of String elements that can later be individually converted to the appropriate primitive type.

The input syntax accepted by the parseElements() method is designed to be compatible with the syntax used to initialize arrays in a Java source program, except that only String literal values are supported. For maximum flexibility, the surrounding '{' and '}' characters are optional, and individual elements may be separated by any combination of whitespace and comma characters.

Version:
$Revision: 557808 $ $Date: 2007-07-20 00:05:03 +0100 (Fri, 20 Jul 2007) $
Author:
Craig R. McClanahan
Since:
1.4

Field Summary

static Object
NO_DEFAULT
This is a special reference that can be passed as the "default object" to the constructor to indicate that no default is desired.
protected Object
defaultValue
The default value specified to our Constructor, if any.
protected static String[]
strings
Model object for string arrays.
protected boolean
useDefault
Should we return the default value on conversion errors?

Constructor Summary

AbstractArrayConverter()
Create a Converter that will throw a ConversionException if a conversion error occurs.
AbstractArrayConverter(Object defaultValue)
Create a Converter that will return the specified default value if a conversion error occurs.

Method Summary

abstract Object
convert(Class type, Object value)
Convert the specified input object into an output object of the specified type.
protected List
parseElements(String svalue)
Parse an incoming String of the form similar to an array initializer in the Java language into a List individual Strings for each element, according to the following rules.

Field Details

NO_DEFAULT

public static final Object NO_DEFAULT
This is a special reference that can be passed as the "default object" to the constructor to indicate that no default is desired. Note that the value 'null' cannot be used for this purpose, as the caller may want a null to be returned as the default.

defaultValue

protected Object defaultValue
The default value specified to our Constructor, if any.

strings

protected static String[] strings
Model object for string arrays.

useDefault

protected boolean useDefault
Should we return the default value on conversion errors?

Constructor Details

AbstractArrayConverter

public AbstractArrayConverter()
Create a Converter that will throw a ConversionException if a conversion error occurs.

AbstractArrayConverter

public AbstractArrayConverter(Object defaultValue)
Create a Converter that will return the specified default value if a conversion error occurs.
Parameters:
defaultValue - The default value to be returned

Method Details

convert

public abstract Object convert(Class type,
                               Object value)
Convert the specified input object into an output object of the specified type. This method must be implemented by a concrete subclass.
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

parseElements

protected List parseElements(String svalue)
Parse an incoming String of the form similar to an array initializer in the Java language into a List individual Strings for each element, according to the following rules.
  • The string is expected to be a comma-separated list of values.
  • The string may optionally have matching '{' and '}' delimiters around the list.
  • Whitespace before and after each element is stripped.
  • Elements in the list may be delimited by single or double quotes. Within a quoted elements, the normal Java escape sequences are valid.
Parameters:
svalue - String value to be parsed
Returns:
The parsed list of String values

Copyright (c) 2001-2007 - Apache Software Foundation