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 $
Author:
Claude Brisson
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addConverter(Type formal, Class<?> actual, Converter<?> converter)
    Add the given converter to the handler.
    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

      boolean isExplicitlyConvertible(Type formal, Class<?> actual, boolean possibleVarArg)
      Check to see if the conversion can be done using an explicit conversion
      Parameters:
      formal - expected formal type
      actual - provided argument type
      possibleVarArg - whether var arg is possible
      Returns:
      null if no conversion is needed, or the appropriate Converter object
      Since:
      2.1
    • getNeededConverter

      Converter<?> getNeededConverter(Type formal, Class<?> actual)
      Returns the appropriate Converter object needed for an explicit conversion Returns null if no conversion is needed.
      Parameters:
      formal - expected formal type
      actual - provided argument type
      Returns:
      null if no conversion is needed, or the appropriate Converter object
      Since:
      2.1
    • addConverter

      void addConverter(Type formal, Class<?> actual, Converter<?> converter)
      Add the given converter to the handler. Implementation should be thread-safe.
      Parameters:
      formal - expected formal type
      actual - provided argument type
      converter - converter
      Since:
      2.1