Interface TypeConversionHandler
- All Known Implementing Classes:
TypeConversionHandlerImpl
public interface TypeConversionHandler
A conversion handler adds admissible conversions between Java types whenever Velocity introspection has to map
VTL methods and property accessors to Java methods.
Both methods must be consistent:
getNeededConverter
must not return null
whenever
isExplicitlyConvertible
returned true with the same arguments.- Since:
- 2.1
- Version:
- $Id: ConversionHandler.java $
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addConverter
(Type formal, Class<?> actual, Converter<?> converter) Add the given converter to the handler.Converter
<?> getNeededConverter
(Type formal, Class<?> actual) Returns the appropriate Converter object needed for an explicit conversion Returns null if no conversion is needed.boolean
isExplicitlyConvertible
(Type formal, Class<?> actual, boolean possibleVarArg) Check to see if the conversion can be done using an explicit conversion
-
Method Details
-
isExplicitlyConvertible
Check to see if the conversion can be done using an explicit conversion- Parameters:
formal
- expected formal typeactual
- provided argument typepossibleVarArg
- whether var arg is possible- Returns:
- null if no conversion is needed, or the appropriate Converter object
- Since:
- 2.1
-
getNeededConverter
Returns the appropriate Converter object needed for an explicit conversion Returns null if no conversion is needed.- Parameters:
formal
- expected formal typeactual
- provided argument type- Returns:
- null if no conversion is needed, or the appropriate Converter object
- Since:
- 2.1
-
addConverter
Add the given converter to the handler. Implementation should be thread-safe.- Parameters:
formal
- expected formal typeactual
- provided argument typeconverter
- converter- Since:
- 2.1
-