Class PoolImplUtils

java.lang.Object
org.apache.commons.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)
      Gets 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
    • isPositive

      static boolean isPositive(Duration delay)
    • max

      static Instant max(Instant a, Instant b)
      Returns the greater of two Instant values. That is, the result is the argument closer to the value of Instant.MAX. If the arguments have the same value, the result is that same value.
      Parameters:
      a - an argument.
      b - another argument.
      Returns:
      the larger of a and b.
    • min

      static Instant min(Instant a, Instant b)
      Returns the smaller of two Instant values. That is, the result is the argument closer to the value of Instant.MIN. If the arguments have the same value, the result is that same value.
      Parameters:
      a - an argument.
      b - another argument.
      Returns:
      the smaller of a and b.
    • nonNull

      static Duration nonNull(Duration value, Duration defaultValue)
      Returns a non-null duration, value if non-null, otherwise defaultValue.
      Parameters:
      value - May be null.
      defaultValue - May not be null/
      Returns:
      value if non-null, otherwise defaultValue.
    • toChronoUnit

      static ChronoUnit toChronoUnit(TimeUnit timeUnit)
      Converts a TimeUnit to a ChronoUnit.
      Parameters:
      timeUnit - A TimeUnit.
      Returns:
      The corresponding ChronoUnit.
    • toDuration

      static Duration toDuration(long amount, TimeUnit timeUnit)
      Converts am amount and TimeUnit into a Duration.
      Parameters:
      amount - the amount of the duration, measured in terms of the unit, positive or negative
      timeUnit - the unit that the duration is measured in, must have an exact duration, not null
      Returns:
      a Duration.