Class ServerRuntime.AbstractCallbackRunner<T>

java.lang.Object
org.glassfish.jersey.server.ServerRuntime.AbstractCallbackRunner<T>
Type Parameters:
T - callback type
Direct Known Subclasses:
ServerRuntime.CompletionCallbackRunner, ServerRuntime.ConnectionCallbackRunner
Enclosing class:
ServerRuntime

abstract static class ServerRuntime.AbstractCallbackRunner<T> extends Object
Abstract composite callback runner.

The runner supports registering multiple callbacks of a specific type and the execute the callback method on all the registered callbacks.

  • Field Details

    • callbacks

      private final Queue<T> callbacks
    • logger

      private final Logger logger
  • Constructor Details

    • AbstractCallbackRunner

      protected AbstractCallbackRunner(Logger logger)
      Create new callback runner.
      Parameters:
      logger - logger instance to be used by the runner to fire logging events.
  • Method Details

    • supports

      public final boolean supports(Class<?> callbackClass)
      Return true if this callback runner supports the callbackClass.
      Parameters:
      callbackClass - Callback to be checked.
      Returns:
      True if this callback runner supports the callbackClass; false otherwise.
    • getCallbackContract

      public abstract Class<?> getCallbackContract()
      Get the callback contract supported by this callback runner.
      Returns:
      callback contract supported by this callback runner.
    • register

      public boolean register(Object callback)
      Register new callback instance.
      Parameters:
      callback - new callback instance to be registered.
      Returns:
      true upon successful registration, false otherwise.
    • executeCallbacks

      protected final void executeCallbacks(Closure<T> invoker)
      Execute all registered callbacks using the supplied invoker.
      Parameters:
      invoker - invoker responsible for to executing all registered callbacks.