Interface JdbiInterceptor<S,T>

Type Parameters:
S - Transformation source type.
T - Type of the transformation result.
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@Alpha @FunctionalInterface public interface JdbiInterceptor<S,T>
Generic interface to allow transformation operation interception. Used to manage the various inferred data types that may need special treatment.
  • Method Summary

    Modifier and Type
    Method
    Description
    Process a given source object.
  • Method Details

    • intercept

      @Nullable @CheckReturnValue T intercept(@Nullable S source, JdbiInterceptionChain<T> chain)
      Process a given source object.
      • If the interceptor wants to process the object, return the result directly.
      • If the interceptor passes on processing, it must return JdbiInterceptionChain.next()
       class SomeInterceptor implements JdbiInterceptor<Foo, Bar> {
           @Override
           public Bar intercept(Foo source, JdbiInterceptionChain<Foo, Bar> chain) {
               if (source != null && source.isBarCompatible()) {
                   return new Bar(source);
               } else {
                   return chain.next();
               }
           }
       }
      
      Parameters:
      source - A source object.
      Returns:
      The destination type.