Class UseAnnotationExtensionHandlerFactory

java.lang.Object
org.jdbi.v3.core.extension.UseAnnotationExtensionHandlerFactory
All Implemented Interfaces:
ExtensionHandlerFactory

final class UseAnnotationExtensionHandlerFactory extends Object implements ExtensionHandlerFactory
Processes UseExtensionHandler annotations on methods.
  • Field Details

  • Constructor Details

    • UseAnnotationExtensionHandlerFactory

      UseAnnotationExtensionHandlerFactory()
  • Method Details

    • accepts

      public boolean accepts(Class<?> extensionType, Method method)
      Description copied from interface: ExtensionHandlerFactory
      Determines whether the factory can create an ExtensionHandler for combination of extension type and method.
      Specified by:
      accepts in interface ExtensionHandlerFactory
      Parameters:
      extensionType - The extension type class
      method - A method
      Returns:
      True if the factory can create an extension handler for extension type and method, false otherwise
    • matchAnnotation

      private static boolean matchAnnotation(Annotation a)
    • findAnnotations

      static List<Class<?>> findAnnotations(Method method)
    • createExtensionHandler

      public Optional<ExtensionHandler> createExtensionHandler(Class<?> extensionType, Method method)
      Description copied from interface: ExtensionHandlerFactory
      Returns an ExtensionHandler instance for a extension type and method combination.
      Specified by:
      createExtensionHandler in interface ExtensionHandlerFactory
      Parameters:
      extensionType - The extension type class
      method - A method
      Returns:
      An ExtensionHandler instance wrapped into an Optional. The optional can be empty. This is necessary to retrofit old code that does not have an accept/build code pair but unconditionally tries to build a handler and returns empty if it can not. New code should always return Optional.of(extensionHandler} and never return Optional.empty()
    • createExtensionHandler

      private ExtensionHandler createExtensionHandler(Class<? extends ExtensionHandler> handlerType, Class<?> extensionObjectType, Method method)