This commit is contained in:
Keith Donald 2009-09-18 20:28:36 +00:00
parent f1f4bd9fb4
commit b2e3837956
2 changed files with 17 additions and 7 deletions

View File

@ -31,6 +31,12 @@ public class DefaultConversionService extends GenericConversionService {
* Create a new default conversion service, installing the default converters.
*/
public DefaultConversionService() {
initDefaultConverters();
}
// subclassing hooks
protected void initDefaultConverters() {
addConverter(new StringToBooleanConverter());
addConverter(new StringToCharacterConverter());
addConverter(new StringToLocaleConverter());

View File

@ -58,9 +58,7 @@ public class GenericConversionService implements ConversionService, ConverterReg
private final Set<GenericConverter> matchableConverters = new LinkedHashSet<GenericConverter>();
public GenericConversionService() {
addGenericConverter(new CollectionGenericConverter(this));
addGenericConverter(new MapGenericConverter(this));
addGenericConverter(new ArrayGenericConverter(this));
initGenericConverters();
}
/**
@ -183,6 +181,16 @@ public class GenericConversionService implements ConversionService, ConverterReg
// subclassing hooks
protected void initGenericConverters() {
addGenericConverter(new CollectionGenericConverter(this));
addGenericConverter(new MapGenericConverter(this));
addGenericConverter(new ArrayGenericConverter(this));
}
protected void addGenericConverter(GenericConverter converter) {
this.matchableConverters.add(converter);
}
protected GenericConverter getConverter(TypeDescriptor sourceType, TypeDescriptor targetType) {
GenericConverter converter = matchConverterByClassPair(sourceType.getObjectType(), targetType.getObjectType());
if (converter == null) {
@ -197,10 +205,6 @@ public class GenericConversionService implements ConversionService, ConverterReg
// internal helpers
private void addGenericConverter(GenericConverter converter) {
this.matchableConverters.add(converter);
}
private List<Class> getRequiredTypeInfo(Object converter) {
List<Class> typeInfo = new ArrayList<Class>(2);
if (converter instanceof ConverterInfo) {