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. * Create a new default conversion service, installing the default converters.
*/ */
public DefaultConversionService() { public DefaultConversionService() {
initDefaultConverters();
}
// subclassing hooks
protected void initDefaultConverters() {
addConverter(new StringToBooleanConverter()); addConverter(new StringToBooleanConverter());
addConverter(new StringToCharacterConverter()); addConverter(new StringToCharacterConverter());
addConverter(new StringToLocaleConverter()); addConverter(new StringToLocaleConverter());

View File

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