Spring Web Flow

org.springframework.binding.convert.converters
Class ArrayToCollection

java.lang.Object
  extended by org.springframework.binding.convert.converters.ArrayToCollection
All Implemented Interfaces:
Converter, TwoWayConverter

public class ArrayToCollection
extends java.lang.Object
implements TwoWayConverter

Special converter that converts from a source array to a target collection. Supports the selection of an "approximate" collection implementation when a target collection interface such as List.class is specified. Supports type conversion of array elements when a concrete parameterized collection class is provided, such as IntegerList.class. Note that type erasure prevents arbitrary access to generic collection element type information at runtime, preventing the ability to convert elements for collections declared as properties. Mainly used internally by ConversionService implementations.

Author:
Keith Donald

Constructor Summary
ArrayToCollection(ConversionExecutor elementConverter)
          Creates a new array to collection converter.
ArrayToCollection(ConversionService conversionService)
          Creates a new array to collection converter.
 
Method Summary
 java.lang.Object convertSourceToTargetClass(java.lang.Object source, java.lang.Class<?> targetClass)
          Convert the provided source object argument to an instance of the specified target class.
 java.lang.Object convertTargetToSourceClass(java.lang.Object target, java.lang.Class<?> sourceClass)
          Convert the provided target object argument to an instance of the specified source class.
 java.lang.Class<?> getSourceClass()
          The source class this converter can convert from.
 java.lang.Class<?> getTargetClass()
          The target class this converter can convert to.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArrayToCollection

public ArrayToCollection(ConversionService conversionService)
Creates a new array to collection converter.

Parameters:
conversionService - the conversion service to use to lookup the converter to apply to array elements added to the target collection

ArrayToCollection

public ArrayToCollection(ConversionExecutor elementConverter)
Creates a new array to collection converter.

Parameters:
elementConverter - A specific converter to use on array elements when adding them to the target collection
Method Detail

getSourceClass

public java.lang.Class<?> getSourceClass()
Description copied from interface: Converter
The source class this converter can convert from. May be an interface or abstract type to allow this converter to convert specific subclasses as well.

Specified by:
getSourceClass in interface Converter
Returns:
the source type

getTargetClass

public java.lang.Class<?> getTargetClass()
Description copied from interface: Converter
The target class this converter can convert to. May be an interface or abstract type to allow this converter to convert specific subclasses as well.

Specified by:
getTargetClass in interface Converter
Returns:
the target type

convertSourceToTargetClass

public java.lang.Object convertSourceToTargetClass(java.lang.Object source,
                                                   java.lang.Class<?> targetClass)
                                            throws java.lang.Exception
Description copied from interface: Converter
Convert the provided source object argument to an instance of the specified target class.

Specified by:
convertSourceToTargetClass in interface Converter
Parameters:
source - the source object to convert, which must be an instance of Converter.getSourceClass()
targetClass - the target class to convert the source to, which must be equal to or a specialization of Converter.getTargetClass()
Returns:
the converted object, which must be an instance of the targetClass
Throws:
java.lang.Exception - an exception occurred performing the conversion

convertTargetToSourceClass

public java.lang.Object convertTargetToSourceClass(java.lang.Object target,
                                                   java.lang.Class<?> sourceClass)
                                            throws java.lang.Exception
Description copied from interface: TwoWayConverter
Convert the provided target object argument to an instance of the specified source class.

Specified by:
convertTargetToSourceClass in interface TwoWayConverter
Parameters:
target - the target object to convert, which must be an instance of Converter.getTargetClass()
sourceClass - the source class to convert the target to, which must be equal to or a specialization of Converter.getSourceClass()
Returns:
the converted object, which must be an instance of the sourceClass
Throws:
java.lang.Exception - an exception occurred performing the conversion

Spring Web Flow