diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/TypeConverter.java b/org.springframework.core/src/main/java/org/springframework/core/convert/TypeConverter.java
index eedefe2d04e..386a2e39e76 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/TypeConverter.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/TypeConverter.java
@@ -19,8 +19,7 @@ package org.springframework.core.convert;
* A service interface for type conversion. This is the entry point into the convert system.
*
* Call {@link #convert(Object, Class)} to perform a thread-safe type conversion using this system.
- * Call {@link #convert(Object, ConversionContext)} to perform a conversion with additional context about the point
- * where conversion needs to occur.
+ * Call {@link #convert(Object, TypeDescriptor)} to perform a conversion with additional context about the targetType to convert to.
*
* @author Keith Donald
*/
@@ -37,10 +36,10 @@ public interface TypeConverter {
/**
* Returns true if objects of sourceType can be converted to the type of the conversion point.
* @param source the source to convert from (may be null)
- * @param context context about the point where conversion would occur
+ * @param targetType context about the target type to convert to
* @return true if a conversion can be performed, false if not
*/
- boolean canConvert(Class> sourceType, ConversionContext> context);
+ boolean canConvert(Class> sourceType, TypeDescriptor> targetType);
/**
* Convert the source to targetType.
@@ -54,10 +53,10 @@ public interface TypeConverter {
/**
* Convert the source to type T needed by the conversion point.
* @param source the source to convert from (may be null)
- * @param context context about the point where conversion will occur
- * @return the converted object, an instance of {@link ConversionContext#getType()}, or null if a null source was provided
+ * @param targetType context about the target type to convert to
+ * @return the converted object, an instance of {@link TypeDescriptor#getType()}, or null if a null source was provided
* @throws ConvertException if an exception occurred
*/
- T convert(S source, ConversionContext context);
+ T convert(S source, TypeDescriptor targetType);
}
\ No newline at end of file
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/ConversionContext.java b/org.springframework.core/src/main/java/org/springframework/core/convert/TypeDescriptor.java
similarity index 88%
rename from org.springframework.core/src/main/java/org/springframework/core/convert/ConversionContext.java
rename to org.springframework.core/src/main/java/org/springframework/core/convert/TypeDescriptor.java
index 5fc74fa346c..5dcdb99e7d8 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/ConversionContext.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/TypeDescriptor.java
@@ -27,19 +27,17 @@ import org.springframework.util.Assert;
// TODO doesn't support more than depth of one (eg. Map> or List[])
/**
- * Context about a point where conversion needs to be performed. Provides context about the point such
- * as field or method parameter information.
- *
+ * Context about a type to convert to.
* @author Keith Donald
* @author Andy Clement
*/
-public class ConversionContext {
+public class TypeDescriptor {
/**
* Constant value for the null object
*/
@SuppressWarnings("unchecked")
- public final static ConversionContext NULL = new ConversionContext((Class>) null);
+ public final static TypeDescriptor NULL = new TypeDescriptor((Class>) null);
private MethodParameter methodParameter;
@@ -50,29 +48,30 @@ public class ConversionContext {
private Class> type;
/**
- * Creates a new context for the given type. Use this constructor when a conversion point comes from a source such as
- * a Map or collection, where no additional binding metadata is available.
+ * Creates a new descriptor for the given type.
+ * Use this constructor when a conversion point comes from a source such as a Map or collection, where no additional context is available.
* @param type the actual type
*/
- public ConversionContext(Class> type) {
+ public TypeDescriptor(Class> type) {
this.type = type;
}
/**
- * Create a new context for a method or constructor parameter. Use this constructor when a conversion point originates
- * from a method parameter, such as a setter method argument.
+ * Create a new type descriptor from a method or constructor parameter.
+ * Use this constructor when a target conversion point originates from a method parameter, such as a setter method argument.
* @param methodParameter the MethodParameter to wrap
*/
- public ConversionContext(MethodParameter methodParameter) {
+ public TypeDescriptor(MethodParameter methodParameter) {
Assert.notNull(methodParameter, "MethodParameter must not be null");
this.methodParameter = methodParameter;
}
/**
- * Create a new context for a field. Use this constructor when a conversion point originates from a field.
+ * Create a new type descriptor for a field.
+ * Use this constructor when a target conversion point originates from a field.
* @param field the field to wrap
*/
- public ConversionContext(Field field) {
+ public TypeDescriptor(Field field) {
Assert.notNull(field, "Field must not be null");
this.field = field;
}
@@ -246,7 +245,7 @@ public class ConversionContext {
* @return true if this type is assignable to the target
*/
@SuppressWarnings("unchecked")
- public boolean isAssignableTo(ConversionContext targetType) {
+ public boolean isAssignableTo(TypeDescriptor targetType) {
return targetType.getType().isAssignableFrom(getType());
}
@@ -255,9 +254,9 @@ public class ConversionContext {
* @param type the class
* @return the type descriptor
*/
- public static ConversionContext valueOf(Class type) {
+ public static TypeDescriptor valueOf(Class type) {
// TODO needs a cache for common type descriptors
- return new ConversionContext(type);
+ return new TypeDescriptor(type);
}
/**
@@ -266,7 +265,7 @@ public class ConversionContext {
* @return the type descriptor
*/
@SuppressWarnings("unchecked")
- public static ConversionContext forObject(Object object) {
+ public static TypeDescriptor forObject(Object object) {
if (object == null) {
return NULL;
} else {
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/AbstractCollectionConverter.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/AbstractCollectionConverter.java
index 16e0d144fa3..a72dc586d19 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/AbstractCollectionConverter.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/AbstractCollectionConverter.java
@@ -16,7 +16,7 @@
package org.springframework.core.convert.support;
import org.springframework.core.convert.ConversionFailedException;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
/**
* Base class for converters that convert to and from collection types (arrays and java.util.Collection types)
@@ -28,18 +28,18 @@ abstract class AbstractCollectionConverter implements ConversionExecutor {
private ConversionExecutor elementConverter;
- private ConversionContext sourceCollectionType;
+ private TypeDescriptor sourceCollectionType;
- private ConversionContext targetCollectionType;
+ private TypeDescriptor targetCollectionType;
- public AbstractCollectionConverter(ConversionContext sourceCollectionType, ConversionContext targetCollectionType, GenericTypeConverter conversionService) {
+ public AbstractCollectionConverter(TypeDescriptor sourceCollectionType, TypeDescriptor targetCollectionType, GenericTypeConverter conversionService) {
this.conversionService = conversionService;
this.sourceCollectionType = sourceCollectionType;
this.targetCollectionType = targetCollectionType;
Class> sourceElementType = sourceCollectionType.getElementType();
Class> targetElementType = targetCollectionType.getElementType();
if (sourceElementType != null && targetElementType != null) {
- elementConverter = conversionService.getConversionExecutor(sourceElementType, ConversionContext.valueOf(targetElementType));
+ elementConverter = conversionService.getConversionExecutor(sourceElementType, TypeDescriptor.valueOf(targetElementType));
} else {
elementConverter = NoOpConversionExecutor.INSTANCE;
}
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/ArrayToArray.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/ArrayToArray.java
index c95943d54a6..bea0cbf9182 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/ArrayToArray.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/ArrayToArray.java
@@ -18,7 +18,7 @@ package org.springframework.core.convert.support;
import java.lang.reflect.Array;
import org.springframework.core.convert.TypeConverter;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
/**
* Special one-way converter that converts from a source array to a target array. Supports type conversion of the
@@ -29,7 +29,7 @@ import org.springframework.core.convert.ConversionContext;
*/
class ArrayToArray extends AbstractCollectionConverter {
- public ArrayToArray(ConversionContext sourceArrayType, ConversionContext targetArrayType, GenericTypeConverter conversionService) {
+ public ArrayToArray(TypeDescriptor sourceArrayType, TypeDescriptor targetArrayType, GenericTypeConverter conversionService) {
super(sourceArrayType, targetArrayType, conversionService);
}
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/ArrayToCollection.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/ArrayToCollection.java
index 937b98331f2..d9510d184f5 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/ArrayToCollection.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/ArrayToCollection.java
@@ -18,7 +18,7 @@ package org.springframework.core.convert.support;
import java.lang.reflect.Array;
import java.util.Collection;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
/**
* Special converter that converts from a source array to a target collection. Supports the selection of an
@@ -29,7 +29,7 @@ import org.springframework.core.convert.ConversionContext;
*/
class ArrayToCollection extends AbstractCollectionConverter {
- public ArrayToCollection(ConversionContext sourceArrayType, ConversionContext targetCollectionType,
+ public ArrayToCollection(TypeDescriptor sourceArrayType, TypeDescriptor targetCollectionType,
GenericTypeConverter conversionService) {
super(sourceArrayType, targetCollectionType, conversionService);
}
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/CollectionToArray.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/CollectionToArray.java
index eab82496cd9..ae2ef8aa152 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/CollectionToArray.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/CollectionToArray.java
@@ -19,7 +19,7 @@ import java.lang.reflect.Array;
import java.util.Collection;
import java.util.Iterator;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
/**
* Special converter that converts from target collection to a source array.
@@ -28,7 +28,7 @@ import org.springframework.core.convert.ConversionContext;
*/
class CollectionToArray extends AbstractCollectionConverter {
- public CollectionToArray(ConversionContext sourceArrayType, ConversionContext targetCollectionType,
+ public CollectionToArray(TypeDescriptor sourceArrayType, TypeDescriptor targetCollectionType,
GenericTypeConverter conversionService) {
super(sourceArrayType, targetCollectionType, conversionService);
}
@@ -52,7 +52,7 @@ class CollectionToArray extends AbstractCollectionConverter {
while (it.hasNext()) {
Object value = it.next();
if (value != null) {
- elementConverter = getConversionService().getConversionExecutor(value.getClass(), ConversionContext.valueOf(getTargetElementType()));
+ elementConverter = getConversionService().getConversionExecutor(value.getClass(), TypeDescriptor.valueOf(getTargetElementType()));
break;
}
}
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/CollectionToCollection.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/CollectionToCollection.java
index ba8e252a8b4..c70318979c4 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/CollectionToCollection.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/CollectionToCollection.java
@@ -18,7 +18,7 @@ package org.springframework.core.convert.support;
import java.util.Collection;
import java.util.Iterator;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
/**
* A converter that can convert from one collection type to another.
@@ -27,7 +27,7 @@ import org.springframework.core.convert.ConversionContext;
*/
class CollectionToCollection extends AbstractCollectionConverter {
- public CollectionToCollection(ConversionContext sourceCollectionType, ConversionContext targetCollectionType,
+ public CollectionToCollection(TypeDescriptor sourceCollectionType, TypeDescriptor targetCollectionType,
GenericTypeConverter conversionService) {
super(sourceCollectionType, targetCollectionType, conversionService);
}
@@ -53,7 +53,7 @@ class CollectionToCollection extends AbstractCollectionConverter {
while (it.hasNext()) {
Object value = it.next();
if (value != null) {
- elementConverter = getConversionService().getConversionExecutor(value.getClass(), ConversionContext.valueOf(getTargetElementType()));
+ elementConverter = getConversionService().getConversionExecutor(value.getClass(), TypeDescriptor.valueOf(getTargetElementType()));
break;
}
}
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericTypeConverter.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericTypeConverter.java
index d8b7c29cd7d..7a0d2f25885 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericTypeConverter.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericTypeConverter.java
@@ -26,7 +26,7 @@ import java.util.List;
import java.util.Map;
import org.springframework.core.GenericTypeResolver;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.ConverterNotFoundException;
import org.springframework.core.convert.TypeConverter;
import org.springframework.core.convert.converter.Converter;
@@ -52,9 +52,6 @@ public class GenericTypeConverter implements TypeConverter, ConverterRegistry {
*/
private final Map sourceTypeConverters = new HashMap();
- /**
- * An optional parent conversion service.
- */
private TypeConverter parent;
/**
@@ -108,16 +105,16 @@ public class GenericTypeConverter implements TypeConverter, ConverterRegistry {
// implementing TypeConverter
public boolean canConvert(Class> sourceType, Class> targetType) {
- return canConvert(sourceType, ConversionContext.valueOf(targetType));
+ return canConvert(sourceType, TypeDescriptor.valueOf(targetType));
}
- public boolean canConvert(Class> sourceType, ConversionContext> context) {
- ConversionExecutor executor = getConversionExecutor(sourceType, context);
+ public boolean canConvert(Class> sourceType, TypeDescriptor> targetType) {
+ ConversionExecutor executor = getConversionExecutor(sourceType, targetType);
if (executor != null) {
return true;
} else {
if (parent != null) {
- return parent.canConvert(sourceType, context);
+ return parent.canConvert(sourceType, targetType);
} else {
return false;
}
@@ -125,28 +122,28 @@ public class GenericTypeConverter implements TypeConverter, ConverterRegistry {
}
public T convert(S source, Class targetType) {
- return convert(source, ConversionContext.valueOf(targetType));
+ return convert(source, TypeDescriptor.valueOf(targetType));
}
- public T convert(S source, ConversionContext context) {
+ public T convert(S source, TypeDescriptor targetType) {
if (source == null) {
return null;
}
- ConversionExecutor executor = getConversionExecutor(source.getClass(), context);
+ ConversionExecutor executor = getConversionExecutor(source.getClass(), targetType);
if (executor != null) {
return (T) executor.execute(source);
} else {
if (parent != null) {
- return parent.convert(source, context);
+ return parent.convert(source, targetType);
} else {
- throw new ConverterNotFoundException(source.getClass(), context.getType(),
+ throw new ConverterNotFoundException(source.getClass(), targetType.getType(),
"No converter found that can convert from sourceType [" + source.getClass().getName()
- + "] to targetType [" + context.getName() + "]");
+ + "] to targetType [" + targetType.getName() + "]");
}
}
}
- ConversionExecutor getConversionExecutor(Class sourceClass, ConversionContext targetType)
+ ConversionExecutor getConversionExecutor(Class sourceClass, TypeDescriptor targetType)
throws ConverterNotFoundException {
Assert.notNull(sourceClass, "The sourceType to convert from is required");
Assert.notNull(targetType, "The targetType to convert to is required");
@@ -154,7 +151,7 @@ public class GenericTypeConverter implements TypeConverter, ConverterRegistry {
// TODO for Andy - is this correct way to handle the Null TypedValue?
return NoOpConversionExecutor.INSTANCE;
}
- ConversionContext sourceType = ConversionContext.valueOf(sourceClass);
+ TypeDescriptor sourceType = TypeDescriptor.valueOf(sourceClass);
if (sourceType.isArray()) {
if (targetType.isArray()) {
return new ArrayToArray(sourceType, targetType, this);
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/MapToMap.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/MapToMap.java
index 7ceb409843a..bf59ebc34fd 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/MapToMap.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/MapToMap.java
@@ -22,7 +22,7 @@ import java.util.SortedMap;
import java.util.TreeMap;
import org.springframework.core.convert.ConversionFailedException;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
/**
* Converts from one map to another map, with support for converting individual map elements based on generic type information.
@@ -31,9 +31,9 @@ import org.springframework.core.convert.ConversionContext;
@SuppressWarnings("unchecked")
class MapToMap implements ConversionExecutor {
- private ConversionContext sourceType;
+ private TypeDescriptor sourceType;
- private ConversionContext targetType;
+ private TypeDescriptor targetType;
private GenericTypeConverter conversionService;
@@ -45,7 +45,7 @@ class MapToMap implements ConversionExecutor {
* @param targetType the target map type
* @param conversionService the conversion service
*/
- public MapToMap(ConversionContext sourceType, ConversionContext targetType, GenericTypeConverter conversionService) {
+ public MapToMap(TypeDescriptor sourceType, TypeDescriptor targetType, GenericTypeConverter conversionService) {
this.sourceType = sourceType;
this.targetType = targetType;
this.conversionService = conversionService;
@@ -55,9 +55,9 @@ class MapToMap implements ConversionExecutor {
private EntryConverter createEntryConverter() {
if (sourceType.isMapEntryTypeKnown() && targetType.isMapEntryTypeKnown()) {
ConversionExecutor keyConverter = conversionService.getConversionExecutor(sourceType.getMapKeyType(),
- ConversionContext.valueOf(targetType.getMapKeyType()));
+ TypeDescriptor.valueOf(targetType.getMapKeyType()));
ConversionExecutor valueConverter = conversionService.getConversionExecutor(sourceType.getMapValueType(),
- ConversionContext.valueOf(targetType.getMapValueType()));
+ TypeDescriptor.valueOf(targetType.getMapValueType()));
return new EntryConverter(keyConverter, valueConverter);
} else {
return EntryConverter.NO_OP_INSTANCE;
@@ -94,11 +94,11 @@ class MapToMap implements ConversionExecutor {
Object key = entry.getKey();
Object value = entry.getValue();
if (keyConverter == null && key != null) {
- keyConverter = conversionService.getConversionExecutor(key.getClass(), ConversionContext
+ keyConverter = conversionService.getConversionExecutor(key.getClass(), TypeDescriptor
.valueOf(targetKeyType));
}
if (valueConverter == null && value != null) {
- valueConverter = conversionService.getConversionExecutor(value.getClass(), ConversionContext
+ valueConverter = conversionService.getConversionExecutor(value.getClass(), TypeDescriptor
.valueOf(targetValueType));
}
if (keyConverter != null && valueConverter != null) {
diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/StaticConversionExecutor.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/StaticConversionExecutor.java
index ae6862fa2cd..fa3cd6c7b62 100644
--- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/StaticConversionExecutor.java
+++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/StaticConversionExecutor.java
@@ -16,7 +16,7 @@
package org.springframework.core.convert.support;
import org.springframework.core.convert.ConversionFailedException;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.converter.Converter;
import org.springframework.core.style.ToStringCreator;
@@ -27,13 +27,13 @@ import org.springframework.core.style.ToStringCreator;
@SuppressWarnings("unchecked")
class StaticConversionExecutor implements ConversionExecutor {
- private final ConversionContext sourceType;
+ private final TypeDescriptor sourceType;
- private final ConversionContext targetType;
+ private final TypeDescriptor targetType;
private final Converter converter;
- public StaticConversionExecutor(ConversionContext sourceType, ConversionContext targetType, Converter converter) {
+ public StaticConversionExecutor(TypeDescriptor sourceType, TypeDescriptor targetType, Converter converter) {
this.sourceType = sourceType;
this.targetType = targetType;
this.converter = converter;
diff --git a/org.springframework.core/src/test/java/org/springframework/core/convert/ConversionContextTests.java b/org.springframework.core/src/test/java/org/springframework/core/convert/TypeDescriptorTests.java
similarity index 77%
rename from org.springframework.core/src/test/java/org/springframework/core/convert/ConversionContextTests.java
rename to org.springframework.core/src/test/java/org/springframework/core/convert/TypeDescriptorTests.java
index 80439cbc15a..a4447fedc3a 100644
--- a/org.springframework.core/src/test/java/org/springframework/core/convert/ConversionContextTests.java
+++ b/org.springframework.core/src/test/java/org/springframework/core/convert/TypeDescriptorTests.java
@@ -26,7 +26,7 @@ import org.junit.Test;
/**
* @author Andy Clement
*/
-public class ConversionContextTests {
+public class TypeDescriptorTests {
List listOfString;
int[] intArray;
@@ -34,13 +34,13 @@ public class ConversionContextTests {
@Test
public void testWrapperType() {
- ConversionContext desc = ConversionContext.valueOf(int.class);
+ TypeDescriptor desc = TypeDescriptor.valueOf(int.class);
assertEquals(Integer.class, desc.getType());
}
@Test
public void listDescriptors() throws Exception {
- ConversionContext typeDescriptor = new ConversionContext(ConversionContextTests.class.getDeclaredField("listOfString"));
+ TypeDescriptor typeDescriptor = new TypeDescriptor(TypeDescriptorTests.class.getDeclaredField("listOfString"));
assertFalse(typeDescriptor.isArray());
assertEquals(List.class,typeDescriptor.getType());
assertEquals(String.class,typeDescriptor.getElementType());
@@ -50,7 +50,7 @@ public class ConversionContextTests {
@Test
public void arrayTypeDescriptors() throws Exception {
- ConversionContext typeDescriptor = new ConversionContext(ConversionContextTests.class.getDeclaredField("intArray"));
+ TypeDescriptor typeDescriptor = new TypeDescriptor(TypeDescriptorTests.class.getDeclaredField("intArray"));
assertTrue(typeDescriptor.isArray());
assertEquals(Integer.TYPE,typeDescriptor.getElementType());
assertEquals("int[]",typeDescriptor.asString());
@@ -58,14 +58,14 @@ public class ConversionContextTests {
@Test
public void buildingArrayTypeDescriptors() throws Exception {
- ConversionContext typeDescriptor = new ConversionContext(new int[0].getClass());
+ TypeDescriptor typeDescriptor = new TypeDescriptor(new int[0].getClass());
assertTrue(typeDescriptor.isArray());
assertEquals(Integer.TYPE,typeDescriptor.getElementType());
}
@Test
public void complexTypeDescriptors() throws Exception {
- ConversionContext typeDescriptor = new ConversionContext(ConversionContextTests.class.getDeclaredField("arrayOfListOfString"));
+ TypeDescriptor typeDescriptor = new TypeDescriptor(TypeDescriptorTests.class.getDeclaredField("arrayOfListOfString"));
assertTrue(typeDescriptor.isArray());
assertEquals(List.class,typeDescriptor.getElementType());
// TODO asc notice that the type of the list elements is lost: typeDescriptor.getElementType() should return a TypeDescriptor
diff --git a/org.springframework.core/src/test/java/org/springframework/core/convert/support/ArrayToArrayTests.java b/org.springframework.core/src/test/java/org/springframework/core/convert/support/ArrayToArrayTests.java
index a453b097384..fca7405f16f 100644
--- a/org.springframework.core/src/test/java/org/springframework/core/convert/support/ArrayToArrayTests.java
+++ b/org.springframework.core/src/test/java/org/springframework/core/convert/support/ArrayToArrayTests.java
@@ -3,7 +3,7 @@ package org.springframework.core.convert.support;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.support.ArrayToArray;
import org.springframework.core.convert.support.DefaultTypeConverter;
@@ -12,7 +12,7 @@ public class ArrayToArrayTests {
@Test
public void testArrayToArrayConversion() {
DefaultTypeConverter service = new DefaultTypeConverter();
- ArrayToArray c = new ArrayToArray(ConversionContext.valueOf(String[].class), ConversionContext.valueOf(Integer[].class), service);
+ ArrayToArray c = new ArrayToArray(TypeDescriptor.valueOf(String[].class), TypeDescriptor.valueOf(Integer[].class), service);
Integer[] result = (Integer[]) c.execute(new String[] { "1", "2", "3" });
assertEquals(new Integer(1), result[0]);
assertEquals(new Integer(2), result[1]);
diff --git a/org.springframework.core/src/test/java/org/springframework/core/convert/support/ArrayToCollectionTests.java b/org.springframework.core/src/test/java/org/springframework/core/convert/support/ArrayToCollectionTests.java
index 1d07366ca12..7eb49534a04 100644
--- a/org.springframework.core/src/test/java/org/springframework/core/convert/support/ArrayToCollectionTests.java
+++ b/org.springframework.core/src/test/java/org/springframework/core/convert/support/ArrayToCollectionTests.java
@@ -9,7 +9,7 @@ import java.util.Set;
import java.util.SortedSet;
import org.junit.Test;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.support.ArrayToCollection;
import org.springframework.core.convert.support.DefaultTypeConverter;
@@ -18,7 +18,7 @@ public class ArrayToCollectionTests {
@Test
public void testArrayToCollectionConversion() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- ArrayToCollection c = new ArrayToCollection(ConversionContext.valueOf(String[].class), new ConversionContext(getClass().getField("bindTarget")), service);
+ ArrayToCollection c = new ArrayToCollection(TypeDescriptor.valueOf(String[].class), new TypeDescriptor(getClass().getField("bindTarget")), service);
List result = (List) c.execute(new String[] { "1", "2", "3" });
assertEquals(new Integer(1), result.get(0));
assertEquals(new Integer(2), result.get(1));
@@ -28,7 +28,7 @@ public class ArrayToCollectionTests {
@Test
public void testArrayToSetConversion() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- ArrayToCollection c = new ArrayToCollection(ConversionContext.valueOf(String[].class), new ConversionContext(getClass().getField("setTarget")), service);
+ ArrayToCollection c = new ArrayToCollection(TypeDescriptor.valueOf(String[].class), new TypeDescriptor(getClass().getField("setTarget")), service);
Set result = (Set) c.execute(new String[] { "1" });
assertEquals("1", result.iterator().next());
}
@@ -36,7 +36,7 @@ public class ArrayToCollectionTests {
@Test
public void testArrayToSortedSetConversion() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- ArrayToCollection c = new ArrayToCollection(ConversionContext.valueOf(String[].class), new ConversionContext(getClass().getField("sortedSetTarget")), service);
+ ArrayToCollection c = new ArrayToCollection(TypeDescriptor.valueOf(String[].class), new TypeDescriptor(getClass().getField("sortedSetTarget")), service);
SortedSet result = (SortedSet) c.execute(new String[] { "1" });
assertEquals(new Integer(1), result.iterator().next());
}
@@ -44,7 +44,7 @@ public class ArrayToCollectionTests {
@Test
public void testArrayToCollectionImplConversion() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- ArrayToCollection c = new ArrayToCollection(ConversionContext.valueOf(String[].class), new ConversionContext(getClass().getField("implTarget")), service);
+ ArrayToCollection c = new ArrayToCollection(TypeDescriptor.valueOf(String[].class), new TypeDescriptor(getClass().getField("implTarget")), service);
LinkedList result = (LinkedList) c.execute(new String[] { "1" });
assertEquals("1", result.iterator().next());
}
@@ -52,7 +52,7 @@ public class ArrayToCollectionTests {
@Test
public void testArrayToNonGenericCollectionConversionNullElement() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- ArrayToCollection c = new ArrayToCollection(ConversionContext.valueOf(String[].class), new ConversionContext(getClass().getField("listTarget")), service);
+ ArrayToCollection c = new ArrayToCollection(TypeDescriptor.valueOf(String[].class), new TypeDescriptor(getClass().getField("listTarget")), service);
List result = (List) c.execute(new Integer[] { null, new Integer(1) });
assertEquals(null, result.get(0));
assertEquals(new Integer(1), result.get(1));
diff --git a/org.springframework.core/src/test/java/org/springframework/core/convert/support/CollectionToArrayTests.java b/org.springframework.core/src/test/java/org/springframework/core/convert/support/CollectionToArrayTests.java
index 4f1ffc024ab..b4aaa4fcb92 100644
--- a/org.springframework.core/src/test/java/org/springframework/core/convert/support/CollectionToArrayTests.java
+++ b/org.springframework.core/src/test/java/org/springframework/core/convert/support/CollectionToArrayTests.java
@@ -6,7 +6,7 @@ import java.util.ArrayList;
import java.util.Collection;
import org.junit.Test;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.support.CollectionToArray;
import org.springframework.core.convert.support.DefaultTypeConverter;
@@ -15,8 +15,8 @@ public class CollectionToArrayTests {
@Test
public void testCollectionToArrayConversion() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- CollectionToArray c = new CollectionToArray(new ConversionContext(getClass().getField("bindTarget")),
- ConversionContext.valueOf(Integer[].class), service);
+ CollectionToArray c = new CollectionToArray(new TypeDescriptor(getClass().getField("bindTarget")),
+ TypeDescriptor.valueOf(Integer[].class), service);
bindTarget.add("1");
bindTarget.add("2");
bindTarget.add("3");
@@ -29,7 +29,7 @@ public class CollectionToArrayTests {
@Test
public void testCollectionToArrayConversionNoGenericInfo() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- CollectionToArray c = new CollectionToArray(ConversionContext.valueOf(Collection.class), ConversionContext
+ CollectionToArray c = new CollectionToArray(TypeDescriptor.valueOf(Collection.class), TypeDescriptor
.valueOf(Integer[].class), service);
bindTarget.add("1");
bindTarget.add("2");
@@ -43,7 +43,7 @@ public class CollectionToArrayTests {
@Test
public void testCollectionToArrayConversionNoGenericInfoNullElement() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- CollectionToArray c = new CollectionToArray(ConversionContext.valueOf(Collection.class), ConversionContext
+ CollectionToArray c = new CollectionToArray(TypeDescriptor.valueOf(Collection.class), TypeDescriptor
.valueOf(Integer[].class), service);
bindTarget.add(null);
bindTarget.add("1");
diff --git a/org.springframework.core/src/test/java/org/springframework/core/convert/support/CollectionToCollectionTests.java b/org.springframework.core/src/test/java/org/springframework/core/convert/support/CollectionToCollectionTests.java
index 2866df2c2ff..e3945a996db 100644
--- a/org.springframework.core/src/test/java/org/springframework/core/convert/support/CollectionToCollectionTests.java
+++ b/org.springframework.core/src/test/java/org/springframework/core/convert/support/CollectionToCollectionTests.java
@@ -8,7 +8,7 @@ import java.util.Collection;
import java.util.List;
import org.junit.Test;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.support.CollectionToCollection;
import org.springframework.core.convert.support.DefaultTypeConverter;
@@ -17,8 +17,8 @@ public class CollectionToCollectionTests {
@Test
public void testCollectionToCollectionConversion() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- CollectionToCollection c = new CollectionToCollection(new ConversionContext(getClass().getField("bindTarget")),
- new ConversionContext(getClass().getField("integerTarget")), service);
+ CollectionToCollection c = new CollectionToCollection(new TypeDescriptor(getClass().getField("bindTarget")),
+ new TypeDescriptor(getClass().getField("integerTarget")), service);
bindTarget.add("1");
bindTarget.add("2");
bindTarget.add("3");
@@ -31,8 +31,8 @@ public class CollectionToCollectionTests {
@Test
public void testCollectionToCollectionConversionNoGenericInfo() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- CollectionToCollection c = new CollectionToCollection(ConversionContext.valueOf(Collection.class),
- ConversionContext.valueOf(List.class), service);
+ CollectionToCollection c = new CollectionToCollection(TypeDescriptor.valueOf(Collection.class),
+ TypeDescriptor.valueOf(List.class), service);
bindTarget.add("1");
bindTarget.add("2");
bindTarget.add("3");
@@ -45,8 +45,8 @@ public class CollectionToCollectionTests {
@Test
public void testCollectionToCollectionConversionNoGenericInfoSource() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- CollectionToCollection c = new CollectionToCollection(ConversionContext.valueOf(Collection.class),
- new ConversionContext(getClass().getField("integerTarget")), service);
+ CollectionToCollection c = new CollectionToCollection(TypeDescriptor.valueOf(Collection.class),
+ new TypeDescriptor(getClass().getField("integerTarget")), service);
bindTarget.add("1");
bindTarget.add("2");
bindTarget.add("3");
@@ -59,8 +59,8 @@ public class CollectionToCollectionTests {
@Test
public void testCollectionToCollectionConversionNoGenericInfoSourceNullValues() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- CollectionToCollection c = new CollectionToCollection(ConversionContext.valueOf(Collection.class),
- new ConversionContext(getClass().getField("integerTarget")), service);
+ CollectionToCollection c = new CollectionToCollection(TypeDescriptor.valueOf(Collection.class),
+ new TypeDescriptor(getClass().getField("integerTarget")), service);
bindTarget.add(null);
bindTarget.add("1");
bindTarget.add("2");
@@ -77,8 +77,8 @@ public class CollectionToCollectionTests {
@Test
public void testCollectionToCollectionConversionNoGenericInfoSourceEmpty() throws Exception {
DefaultTypeConverter service = new DefaultTypeConverter();
- CollectionToCollection c = new CollectionToCollection(ConversionContext.valueOf(Collection.class),
- new ConversionContext(getClass().getField("integerTarget")), service);
+ CollectionToCollection c = new CollectionToCollection(TypeDescriptor.valueOf(Collection.class),
+ new TypeDescriptor(getClass().getField("integerTarget")), service);
List result = (List) c.execute(bindTarget);
assertTrue(result.isEmpty());
}
diff --git a/org.springframework.core/src/test/java/org/springframework/core/convert/support/GenericTypeConverterTests.java b/org.springframework.core/src/test/java/org/springframework/core/convert/support/GenericTypeConverterTests.java
index 2f0cfd835eb..3876b68c18d 100644
--- a/org.springframework.core/src/test/java/org/springframework/core/convert/support/GenericTypeConverterTests.java
+++ b/org.springframework.core/src/test/java/org/springframework/core/convert/support/GenericTypeConverterTests.java
@@ -29,7 +29,7 @@ import java.util.Map;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.core.convert.ConversionFailedException;
-import org.springframework.core.convert.ConversionContext;
+import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.ConverterNotFoundException;
import org.springframework.core.convert.converter.Converter;
@@ -88,7 +88,7 @@ public class GenericTypeConverterTests {
@Test
public void convertNullConversionPointType() {
- assertEquals("3", converter.convert("3", ConversionContext.NULL));
+ assertEquals("3", converter.convert("3", TypeDescriptor.NULL));
}
@@ -168,7 +168,7 @@ public class GenericTypeConverterTests {
@Test
public void convertArrayToListGenericTypeConversion() throws Exception {
converter.add(new StringToInteger());
- List result = converter.convert(new String[] { "1", "2", "3" }, new ConversionContext>(getClass().getDeclaredField("genericList")));
+ List result = converter.convert(new String[] { "1", "2", "3" }, new TypeDescriptor>(getClass().getDeclaredField("genericList")));
assertEquals(new Integer("1"), result.get(0));
assertEquals(new Integer("2"), result.get(1));
assertEquals(new Integer("3"), result.get(2));
@@ -226,7 +226,7 @@ public class GenericTypeConverterTests {
foo.put("2", "BAZ");
converter.add(new StringToInteger());
converter.add(new StringToEnumFactory().getConverter(FooEnum.class));
- Map map = converter.convert(foo, new ConversionContext