This commit is contained in:
Keith Donald 2009-11-04 17:08:51 +00:00
parent ffbfa2992c
commit 374ea05028
1 changed files with 17 additions and 15 deletions

View File

@ -19,7 +19,6 @@ package org.springframework.core.convert.support;
import static org.springframework.core.convert.support.ConversionUtils.invokeConverter; import static org.springframework.core.convert.support.ConversionUtils.invokeConverter;
import java.lang.reflect.Array; import java.lang.reflect.Array;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
@ -51,7 +50,8 @@ public class GenericConversionService implements ConversionService, ConverterReg
} }
}; };
private final Map<Class<?>, Map<Class<?>, MatchableConverters>> converters = new HashMap<Class<?>, Map<Class<?>, MatchableConverters>>(36); private final Map<Class<?>, Map<Class<?>, MatchableConverters>> converters = new HashMap<Class<?>, Map<Class<?>, MatchableConverters>>(
36);
private ConversionService parent; private ConversionService parent;
@ -177,7 +177,8 @@ public class GenericConversionService implements ConversionService, ConverterReg
* @param matcher a matcher can restrict a match of the converter based on source and target runtime field types * @param matcher a matcher can restrict a match of the converter based on source and target runtime field types
* @param converter the generic converter. * @param converter the generic converter.
*/ */
public void addGenericConverter(Class<?> sourceType, Class<?> targetType, GenericConverter converter, ConverterMatcher matcher) { public void addGenericConverter(Class<?> sourceType, Class<?> targetType, GenericConverter converter,
ConverterMatcher matcher) {
getMatchableConvertersList(sourceType, targetType).add(matcher, converter); getMatchableConvertersList(sourceType, targetType).add(matcher, converter);
} }
@ -249,7 +250,8 @@ public class GenericConversionService implements ConversionService, ConverterReg
* @return the generic converter that will perform the conversion, or <code>null</code> if no suitable converter was found * @return the generic converter that will perform the conversion, or <code>null</code> if no suitable converter was found
*/ */
protected GenericConverter getConverter(TypeDescriptor sourceType, TypeDescriptor targetType) { protected GenericConverter getConverter(TypeDescriptor sourceType, TypeDescriptor targetType) {
MatchableConverters matchable = findMatchableConvertersForClassPair(sourceType.getObjectType(), targetType.getObjectType()); MatchableConverters matchable = findMatchableConvertersForClassPair(sourceType.getObjectType(), targetType
.getObjectType());
GenericConverter converter = matchConverter(matchable, sourceType, targetType); GenericConverter converter = matchConverter(matchable, sourceType, targetType);
if (converter != null) { if (converter != null) {
return converter; return converter;