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.StringBIG_DECIMAL_CLASS(package private) static java.lang.StringBIG_INTEGER_CLASS(package private) static java.lang.StringBOOLEAN_CLASS(package private) static java.lang.StringBOOLEAN_TYPE(package private) static java.lang.StringBYTE_CLASS(package private) static java.lang.StringBYTE_TYPE(package private) static Converter<?>cacheMisscache miss converter(package private) static java.lang.StringCHARACTER_CLASS(package private) static java.lang.StringCHARACTER_TYPE(package private) java.util.Map<org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String>,Converter<?>>converterCacheMapa converters cache map, initialized with the standard narrowing and string parsing conversions.(package private) static java.lang.StringDOUBLE_CLASS(package private) static java.lang.StringDOUBLE_TYPE(package private) static java.lang.StringFLOAT_CLASS(package private) static java.lang.StringFLOAT_TYPE(package private) static java.lang.StringINTEGER_CLASS(package private) static java.lang.StringINTEGER_TYPE(package private) static java.lang.StringLOCALE_CLASS(package private) static java.lang.StringLONG_CLASS(package private) static java.lang.StringLONG_TYPE(package private) static java.lang.StringNUMBER_CLASS(package private) static java.lang.StringSHORT_CLASS(package private) static java.lang.StringSHORT_TYPE(package private) static java.util.Map<org.apache.commons.lang3.tuple.Pair<java.lang.String,java.lang.String>,Converter<?>>standardConverterMapstandard narrowing and string parsing conversions.(package private) static java.lang.StringSTRING_CLASS(package private) static Converter<?>toStringbasic toString converter
-
Constructor Summary
Constructors Constructor Description TypeConversionHandlerImpl()Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddConverter(java.lang.reflect.Type formal, java.lang.Class<?> actual, Converter<?> converter)Add the given converter to the handler.(package private) static booleancheckBounds(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.booleanisExplicitlyConvertible(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:
isExplicitlyConvertiblein 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:
getNeededConverterin 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:
addConverterin interfaceTypeConversionHandler- Parameters:
formal- expected formal typeactual- provided argument typeconverter- converter- Since:
- 2.1
-
-