java.lang.Object
org.datanucleus.store.rdbms.datasource.dbcp2.pool2.impl.PoolImplUtils

class PoolImplUtils extends Object
Implementation specific utilities.
Since:
2.0
  • Constructor Details

    • PoolImplUtils

      PoolImplUtils()
  • Method Details

    • getFactoryType

      static Class<?> getFactoryType(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> Object getGenericType(Class<T> type, 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> ParameterizedType getParameterizedType(Class<T> type, 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 Object getTypeParameter(Class<?> clazz, 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