addNestedMapper
This commit is contained in:
parent
3450c5de0b
commit
f692c765d2
|
|
@ -115,6 +115,16 @@ public class SpelMapper implements Mapper<Object, Object> {
|
||||||
return mapping;
|
return mapping;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a Mapper to apply to complex nested property mappings of a specific sourceType/targetType pair.
|
||||||
|
* @param sourceType the source nested property type
|
||||||
|
* @param targetType the target nested property type
|
||||||
|
* @param nestedMapper the nested mapper
|
||||||
|
*/
|
||||||
|
public void addNestedMapper(Class sourceType, Class targetType, Mapper<?, ?> nestedMapper) {
|
||||||
|
this.conversionService.addGenericConverter(sourceType, targetType, new MapperConverter(nestedMapper));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return this mapper's converter registry.
|
* Return this mapper's converter registry.
|
||||||
* Allows for registration of simple type converters as well as converters that map nested objects using a Mapper.
|
* Allows for registration of simple type converters as well as converters that map nested objects using a Mapper.
|
||||||
|
|
|
||||||
|
|
@ -183,15 +183,13 @@ public class GenericConversionService implements ConversionService, ConverterReg
|
||||||
return invokeConverter(converter, source, sourceType, targetType);
|
return invokeConverter(converter, source, sourceType, targetType);
|
||||||
}
|
}
|
||||||
|
|
||||||
// subclassing hooks
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a GenericConverter.
|
* Registers a GenericConverter.
|
||||||
* @param sourceType the source type to convert from
|
* @param sourceType the source type to convert from
|
||||||
* @param targetType the target type to convert to
|
* @param targetType the target type to convert to
|
||||||
* @param converter the generic converter.
|
* @param converter the generic converter.
|
||||||
*/
|
*/
|
||||||
protected void addGenericConverter(Class<?> sourceType, Class<?> targetType, GenericConverter converter) {
|
public void addGenericConverter(Class<?> sourceType, Class<?> targetType, GenericConverter converter) {
|
||||||
getSourceMap(sourceType).put(targetType, converter);
|
getSourceMap(sourceType).put(targetType, converter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -202,7 +200,7 @@ public class GenericConversionService implements ConversionService, ConverterReg
|
||||||
* @param targetType the target type to convert to
|
* @param targetType the target type to convert to
|
||||||
* @param converter the converter.
|
* @param converter the converter.
|
||||||
*/
|
*/
|
||||||
protected void addConverter(Class<?> sourceType, Class<?> targetType, Converter<?, ?> converter) {
|
public void addConverter(Class<?> sourceType, Class<?> targetType, Converter<?, ?> converter) {
|
||||||
addGenericConverter(sourceType, targetType, new ConverterAdapter(converter));
|
addGenericConverter(sourceType, targetType, new ConverterAdapter(converter));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -213,10 +211,12 @@ public class GenericConversionService implements ConversionService, ConverterReg
|
||||||
* @param targetType the target type to convert to
|
* @param targetType the target type to convert to
|
||||||
* @param converter the converter.factory
|
* @param converter the converter.factory
|
||||||
*/
|
*/
|
||||||
protected void addConverterFactory(Class<?> sourceType, Class<?> targetType, ConverterFactory<?, ?> converterFactory) {
|
public void addConverterFactory(Class<?> sourceType, Class<?> targetType, ConverterFactory<?, ?> converterFactory) {
|
||||||
addGenericConverter(sourceType, targetType, new ConverterFactoryAdapter(converterFactory));
|
addGenericConverter(sourceType, targetType, new ConverterFactoryAdapter(converterFactory));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// subclassing hooks
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hook method to convert a null source.
|
* Hook method to convert a null source.
|
||||||
* Default implementation returns <code>null</code>.
|
* Default implementation returns <code>null</code>.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue