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 Detail

      • 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