Class TypeConversionHandlerImpl
- java.lang.Object
-
- org.apache.velocity.util.introspection.TypeConversionHandlerImpl
-
- All Implemented Interfaces:
TypeConversionHandler
public class TypeConversionHandlerImpl extends java.lang.Object implements TypeConversionHandler
A conversion handler adds admissible conversions between Java types whenever Velocity introspection has to map VTL methods and property accessors to Java methods. This implementation is the default Conversion Handler for Velocity.- Since:
- 2.0
- Version:
- $Id: TypeConversionHandlerImpl.java $
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.String
BIG_DECIMAL_CLASS
(package private) static java.lang.String
BIG_INTEGER_CLASS
(package private) static java.lang.String
BOOLEAN_CLASS
(package private) static java.lang.String
BOOLEAN_TYPE
(package private) static java.lang.String
BYTE_CLASS
(package private) static java.lang.String
BYTE_TYPE
(package private) static Converter<?>
cacheMiss
cache miss converter(package private) static java.lang.String
CHARACTER_CLASS
(package private) static java.lang.String
CHARACTER_TYPE
(package private) java.util.Map<org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String>,Converter<?>>
converterCacheMap
a converters cache map, initialized with the standard narrowing and string parsing conversions.(package private) static java.lang.String
DOUBLE_CLASS
(package private) static java.lang.String
DOUBLE_TYPE
(package private) static java.lang.String
FLOAT_CLASS
(package private) static java.lang.String
FLOAT_TYPE
(package private) static java.lang.String
INTEGER_CLASS
(package private) static java.lang.String
INTEGER_TYPE
(package private) static java.lang.String
LOCALE_CLASS
(package private) static java.lang.String
LONG_CLASS
(package private) static java.lang.String
LONG_TYPE
(package private) static java.lang.String
NUMBER_CLASS
(package private) static java.lang.String
SHORT_CLASS
(package private) static java.lang.String
SHORT_TYPE
(package private) static java.util.Map<org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String>,Converter<?>>
standardConverterMap
standard narrowing and string parsing conversions.(package private) static java.lang.String
STRING_CLASS
(package private) static Converter<?>
toString
basic toString converter
-
Constructor Summary
Constructors Constructor Description TypeConversionHandlerImpl()
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConverter(java.lang.reflect.Type formal, java.lang.Class<?> actual, Converter<?> converter)
Add the given converter to the handler.(package private) static boolean
checkBounds(java.lang.Number n, double min, double max)
Converter<?>
getNeededConverter(java.lang.reflect.Type formal, java.lang.Class<?> actual)
Returns the appropriate Converter object needed for an explicit conversion Returns null if no conversion is needed.boolean
isExplicitlyConvertible(java.lang.reflect.Type formal, java.lang.Class<?> actual, boolean possibleVarArg)
Check to see if the conversion can be done using an explicit conversion
-
-
-
Field Detail
-
standardConverterMap
static java.util.Map<org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String>,Converter<?>> standardConverterMap
standard narrowing and string parsing conversions.
-
toString
static Converter<?> toString
basic toString converter
-
cacheMiss
static Converter<?> cacheMiss
cache miss converter
-
converterCacheMap
java.util.Map<org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String>,Converter<?>> converterCacheMap
a converters cache map, initialized with the standard narrowing and string parsing conversions.
-
BOOLEAN_TYPE
static final java.lang.String BOOLEAN_TYPE
- See Also:
- Constant Field Values
-
BYTE_TYPE
static final java.lang.String BYTE_TYPE
- See Also:
- Constant Field Values
-
SHORT_TYPE
static final java.lang.String SHORT_TYPE
- See Also:
- Constant Field Values
-
INTEGER_TYPE
static final java.lang.String INTEGER_TYPE
- See Also:
- Constant Field Values
-
LONG_TYPE
static final java.lang.String LONG_TYPE
- See Also:
- Constant Field Values
-
FLOAT_TYPE
static final java.lang.String FLOAT_TYPE
- See Also:
- Constant Field Values
-
DOUBLE_TYPE
static final java.lang.String DOUBLE_TYPE
- See Also:
- Constant Field Values
-
CHARACTER_TYPE
static final java.lang.String CHARACTER_TYPE
- See Also:
- Constant Field Values
-
BOOLEAN_CLASS
static final java.lang.String BOOLEAN_CLASS
- See Also:
- Constant Field Values
-
BYTE_CLASS
static final java.lang.String BYTE_CLASS
- See Also:
- Constant Field Values
-
SHORT_CLASS
static final java.lang.String SHORT_CLASS
- See Also:
- Constant Field Values
-
INTEGER_CLASS
static final java.lang.String INTEGER_CLASS
- See Also:
- Constant Field Values
-
LONG_CLASS
static final java.lang.String LONG_CLASS
- See Also:
- Constant Field Values
-
BIG_INTEGER_CLASS
static final java.lang.String BIG_INTEGER_CLASS
- See Also:
- Constant Field Values
-
FLOAT_CLASS
static final java.lang.String FLOAT_CLASS
- See Also:
- Constant Field Values
-
DOUBLE_CLASS
static final java.lang.String DOUBLE_CLASS
- See Also:
- Constant Field Values
-
BIG_DECIMAL_CLASS
static final java.lang.String BIG_DECIMAL_CLASS
- See Also:
- Constant Field Values
-
NUMBER_CLASS
static final java.lang.String NUMBER_CLASS
- See Also:
- Constant Field Values
-
CHARACTER_CLASS
static final java.lang.String CHARACTER_CLASS
- See Also:
- Constant Field Values
-
STRING_CLASS
static final java.lang.String STRING_CLASS
- See Also:
- Constant Field Values
-
LOCALE_CLASS
static final java.lang.String LOCALE_CLASS
- See Also:
- Constant Field Values
-
-
Method Detail
-
checkBounds
static boolean checkBounds(java.lang.Number n, double min, double max)
-
isExplicitlyConvertible
public boolean isExplicitlyConvertible(java.lang.reflect.Type formal, java.lang.Class<?> actual, boolean possibleVarArg)
Check to see if the conversion can be done using an explicit conversion- Specified by:
isExplicitlyConvertible
in interfaceTypeConversionHandler
- Parameters:
actual
- found argument typeformal
- expected formal typepossibleVarArg
- whether var arg is possible- Returns:
- true if actual class can be explicitely converted to expected formal type
- Since:
- 2.1
-
getNeededConverter
public Converter<?> getNeededConverter(java.lang.reflect.Type formal, java.lang.Class<?> actual)
Returns the appropriate Converter object needed for an explicit conversion Returns null if no conversion is needed.- Specified by:
getNeededConverter
in interfaceTypeConversionHandler
- Parameters:
actual
- found argument typeformal
- expected formal type- Returns:
- null if no conversion is needed, or the appropriate Converter object
- Since:
- 2.1
-
addConverter
public void addConverter(java.lang.reflect.Type formal, java.lang.Class<?> actual, Converter<?> converter)
Add the given converter to the handler.- Specified by:
addConverter
in interfaceTypeConversionHandler
- Parameters:
formal
- expected formal typeactual
- provided argument typeconverter
- converter- Since:
- 2.1
-
-