Class ArrayToCollection
java.lang.Object
org.springframework.binding.convert.converters.ArrayToCollection
- All Implemented Interfaces:
Converter
,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<Integer>.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
ConstructorDescriptionArrayToCollection
(ConversionExecutor elementConverter) Creates a new array to collection converter.ArrayToCollection
(ConversionService conversionService) Creates a new array to collection converter. -
Method Summary
Modifier and TypeMethodDescriptionconvertSourceToTargetClass
(Object source, Class<?> targetClass) Convert the provided source object argument to an instance of the specified target class.convertTargetToSourceClass
(Object target, Class<?> sourceClass) Convert the provided target object argument to an instance of the specified source class.Class<?>
The source class this converter can convert from.Class<?>
The target class this converter can convert to.
-
Constructor Details
-
ArrayToCollection
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
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 Details
-
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 interfaceConverter
- Returns:
- the source type
-
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 interfaceConverter
- Returns:
- the target type
-
convertSourceToTargetClass
Description copied from interface:Converter
Convert the provided source object argument to an instance of the specified target class.- Specified by:
convertSourceToTargetClass
in interfaceConverter
- Parameters:
source
- the source object to convert, which must be an instance ofConverter.getSourceClass()
targetClass
- the target class to convert the source to, which must be equal to or a specialization ofConverter.getTargetClass()
- Returns:
- the converted object, which must be an instance of the
targetClass
- Throws:
Exception
- an exception occurred performing the conversion
-
convertTargetToSourceClass
Description copied from interface:TwoWayConverter
Convert the provided target object argument to an instance of the specified source class.- Specified by:
convertTargetToSourceClass
in interfaceTwoWayConverter
- Parameters:
target
- the target object to convert, which must be an instance ofConverter.getTargetClass()
sourceClass
- the source class to convert the target to, which must be equal to or a specialization ofConverter.getSourceClass()
- Returns:
- the converted object, which must be an instance of the
sourceClass
-