Class PoolImplUtils


  • class PoolImplUtils
    extends java.lang.Object
    Implementation specific utilities.
    Since:
    2.0
    • Constructor Summary

      Constructors 
      Constructor Description
      PoolImplUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) static java.lang.Class<?> getFactoryType​(java.lang.Class<? extends PooledObjectFactory> factoryClass)
      Identifies the concrete type of object that an object factory creates.
      private static <T> java.lang.Object getGenericType​(java.lang.Class<T> type, java.lang.Class<? extends T> clazz)
      Obtains the concrete type used by an implementation of an interface that uses a generic type.
      private static <T> java.lang.reflect.ParameterizedType getParameterizedType​(java.lang.Class<T> type, java.lang.Class<? extends T> clazz)
      Gets the matching parameterized type or null.
      private static java.lang.Object getTypeParameter​(java.lang.Class<?> clazz, java.lang.reflect.Type argType)
      For a generic parameter, return either the Class used or if the type is unknown, the index for the type in definition of the class
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PoolImplUtils

        PoolImplUtils()
    • Method Detail

      • getFactoryType

        static java.lang.Class<?> getFactoryType​(java.lang.Class<? extends PooledObjectFactory> factoryClass)
        Identifies the concrete type of object that an object factory creates.
        Parameters:
        factoryClass - The factory to examine
        Returns:
        the type of object the factory creates
      • getGenericType

        private static <T> java.lang.Object getGenericType​(java.lang.Class<T> type,
                                                           java.lang.Class<? extends T> clazz)
        Obtains the concrete type used by an implementation of an interface that uses a generic type.
        Type Parameters:
        T - The interface type
        Parameters:
        type - The interface that defines a generic type
        clazz - The class that implements the interface with a concrete type
        Returns:
        concrete type used by the implementation
      • getParameterizedType

        private static <T> java.lang.reflect.ParameterizedType getParameterizedType​(java.lang.Class<T> type,
                                                                                    java.lang.Class<? extends T> clazz)
        Gets the matching parameterized type or null.
        Type Parameters:
        T - The interface type.
        Parameters:
        type - The interface that defines a generic type.
        clazz - The class that implements the interface with a concrete type.
        Returns:
        the matching parameterized type or null.
      • getTypeParameter

        private static java.lang.Object getTypeParameter​(java.lang.Class<?> clazz,
                                                         java.lang.reflect.Type argType)
        For a generic parameter, return either the Class used or if the type is unknown, the index for the type in definition of the class
        Parameters:
        clazz - defining class
        argType - the type argument of interest
        Returns:
        An instance of Class representing the type used by the type parameter or an instance of Integer representing the index for the type in the definition of the defining class