Class Invocation<V>

java.lang.Object
io.helidon.pico.runtime.Invocation<V>
Type Parameters:
V - the invocation type
All Implemented Interfaces:
Interceptor.Chain<V>

public class Invocation<V> extends Object implements Interceptor.Chain<V>
Handles the invocation of Interceptor methods.
See Also:
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • createInvokeAndSupply

      public static <V> V createInvokeAndSupply(InvocationContext ctx, Supplier<V> call, Object... args)
      Creates an instance of Invocation and invokes it in this context.
      Type Parameters:
      V - the type returned from the method element
      Parameters:
      ctx - the invocation context
      call - the call to the base service provider's method
      args - the call arguments
      Returns:
      the invocation instance
    • mergeAndCollapse

      public static <T> List<Provider<T>> mergeAndCollapse(List<Provider<T>>... lists)
      Merges a variable number of lists together, where the net result is the merged set of non-null providers ranked in proper weight order, or else empty list.
      Type Parameters:
      T - the type of the provider
      Parameters:
      lists - the lists to merge
      Returns:
      the merged result, or null instead of empty lists
    • proceed

      public V proceed(Object... args)
      Description copied from interface: Interceptor.Chain
      Call the next interceptor in line, or finishing with the call to the service provider.
      Specified by:
      proceed in interface Interceptor.Chain<V>
      Parameters:
      args - the arguments pass
      Returns:
      the result of the call