Class GenericConversionService
java.lang.Object
org.springframework.binding.convert.service.GenericConversionService
- All Implemented Interfaces:
ConversionService
- Direct Known Subclasses:
DefaultConversionService
Base implementation of a conversion service. Initially empty, e.g. no converters are registered by default.
- Author:
- Keith Donald
-
Constructor Summary
ConstructorDescriptionDefault constructor.GenericConversionService
(org.springframework.core.convert.ConversionService delegateConversionService) Constructor accepting a specific instance of a Spring ConversionService to delegate to. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add an alias for given target type.void
addConverter
(String id, Converter converter) Add given custom converter to this conversion service.void
addConverter
(Converter converter) Registers the given converter with the underlying Spring ConversionService with the help of an adapter.executeConversion
(Object source, Class<?> targetClass) Execute a conversion of the source object provided to the specifiedtargetClass
executeConversion
(String converterId, Object source, Class<?> targetClass) Execute a conversion using the custom converter with the provided id.Class<?>
getClassForAlias
(String name) Lookup a class by its well-known alias.getConversionExecutor
(Class<?> sourceClass, Class<?> targetClass) Return the default conversion executor capable of converting source objects of the specifiedsourceClass
to instances of thetargetClass
.getConversionExecutor
(String id, Class<?> sourceClass, Class<?> targetClass) Return the custom conversion executor capable of converting source objects of the specifiedsourceClass
to instances of thetargetClass
.org.springframework.core.convert.ConversionService
Return the underlying Spring ConversionService.Returns the parent of this conversion service.void
setParent
(ConversionService parent) Set the parent of this conversion service.
-
Constructor Details
-
GenericConversionService
public GenericConversionService()Default constructor. -
GenericConversionService
public GenericConversionService(org.springframework.core.convert.ConversionService delegateConversionService) Constructor accepting a specific instance of a Spring ConversionService to delegate to.- Parameters:
delegateConversionService
- the conversion service
-
-
Method Details
-
getParent
Returns the parent of this conversion service. Could be null. -
setParent
Set the parent of this conversion service. This is optional. -
getDelegateConversionService
public org.springframework.core.convert.ConversionService getDelegateConversionService()Description copied from interface:ConversionService
Return the underlying Spring ConversionService.- Specified by:
getDelegateConversionService
in interfaceConversionService
- Returns:
- the Spring ConverterRegistry
-
addConverter
Registers the given converter with the underlying Spring ConversionService with the help of an adapter. The adapter allows an existing Spring Binding converter to be invoked within Spring's type conversion system.- Parameters:
converter
- the converter- See Also:
-
ConverterRegistry
ConversionService
SpringBindingConverterAdapter
-
addConverter
Add given custom converter to this conversion service. Note: Converters registered through this method will not be involve the Spring type conversion system, which is now used the default type conversion mechanism. Spring's type conversion does not support named converters. This method is provided for backwards compatibility.- Parameters:
id
- the id of the custom converter instanceconverter
- the converter
-
addAlias
Add an alias for given target type. -
getConversionExecutor
public ConversionExecutor getConversionExecutor(Class<?> sourceClass, Class<?> targetClass) throws ConversionExecutorNotFoundException Description copied from interface:ConversionService
Return the default conversion executor capable of converting source objects of the specifiedsourceClass
to instances of thetargetClass
.The returned ConversionExecutor is thread-safe and may safely be cached for use in client code.
- Specified by:
getConversionExecutor
in interfaceConversionService
- Parameters:
sourceClass
- the source class to convert from (required)targetClass
- the target class to convert to (required)- Returns:
- the executor that can execute instance type conversion, never null
- Throws:
ConversionExecutorNotFoundException
- when no suitable conversion executor could be found
-
getConversionExecutor
public ConversionExecutor getConversionExecutor(String id, Class<?> sourceClass, Class<?> targetClass) throws ConversionExecutorNotFoundException Description copied from interface:ConversionService
Return the custom conversion executor capable of converting source objects of the specifiedsourceClass
to instances of thetargetClass
.The returned ConversionExecutor is thread-safe and may safely be cached for use in client code.
- Specified by:
getConversionExecutor
in interfaceConversionService
- Parameters:
id
- the id of the custom conversion executor (required)sourceClass
- the source class to convert from (required)targetClass
- the target class to convert to (required)- Returns:
- the executor that can execute instance type conversion, never null
- Throws:
ConversionExecutorNotFoundException
- when no suitable conversion executor could be found
-
executeConversion
Description copied from interface:ConversionService
Execute a conversion of the source object provided to the specifiedtargetClass
- Specified by:
executeConversion
in interfaceConversionService
- Parameters:
source
- the source to convert from (may be null)targetClass
- the target class to convert to- Returns:
- the converted object, an instance of the
targetClass
- Throws:
ConversionException
- if an exception occurred during the conversion process
-
executeConversion
public Object executeConversion(String converterId, Object source, Class<?> targetClass) throws ConversionException Description copied from interface:ConversionService
Execute a conversion using the custom converter with the provided id.- Specified by:
executeConversion
in interfaceConversionService
- Parameters:
converterId
- the id of the custom converter, which must be registered with this conversion service and capable of converting to the target classsource
- the source to convert from (may be null)targetClass
- the target class to convert to- Returns:
- the converted object, an instance of the
targetClass
- Throws:
ConversionException
- if an exception occurred during the conversion process
-
getClassForAlias
Description copied from interface:ConversionService
Lookup a class by its well-known alias. For example,long
forjava.lang.Long
- Specified by:
getClassForAlias
in interfaceConversionService
- Parameters:
name
- the class alias- Returns:
- the class, or
null
if no alias exists - Throws:
IllegalArgumentException
-