Interface Handler.Singleton

All Superinterfaces:
org.eclipse.jetty.util.component.Destroyable, Handler, Handler.Container, org.eclipse.jetty.util.thread.Invocable, org.eclipse.jetty.util.component.LifeCycle, Request.Handler
All Known Implementing Classes:
BufferedResponseHandler, ConnectHandler, ContextHandler, DebugHandler, DelayedHandler, EventsHandler, GracefulHandler, GzipHandler, Handler.Wrapper, HotSwapHandler, IdleTimeoutHandler, InetAccessHandler, LatencyRecordingHandler, MovedContextHandler, ProxiedRequestHandler, ResourceHandler, ResourceHandler.ResourceContext, SecuredRedirectHandler, Server, ShutdownHandler, SizeLimitHandler, StatisticsHandler, StatisticsHandler.MinimumDataRateHandler, ThreadLimitHandler, TryPathsHandler
Enclosing interface:
Handler

public static interface Handler.Singleton extends Handler.Container

A Handler.Container that can contain a single other Handler.

This is "singleton" in the sense of Collections.singleton(Object) and not in the sense of the singleton pattern of a single instance per JVM.

See Also:
  • Method Details

    • getHandler

      Handler getHandler()
    • setHandler

      void setHandler(Handler handler)
      Set the nested handler. Implementations should check for loops, set the server and update any ContainerLifeCycle beans, all of which can be done by using the utility method updateHandler(Singleton, Handler)
      Parameters:
      handler - The handler to set.
    • setHandler

      default void setHandler(Supplier<Handler> supplier)
      Set the nested handler from a supplier. This allows for Handler type conversion.
      Parameters:
      supplier - A supplier of a Handler.
    • getHandlers

      default List<Handler> getHandlers()
      Specified by:
      getHandlers in interface Handler.Container
      Returns:
      an immutable collection of Handlers directly contained by this Handler.
    • insertHandler

      default void insertHandler(Handler.Singleton handler)
    • getTail

      default Handler.Singleton getTail()
      Returns:
      The tail Handler.Singleton of a chain of Handler.Singletons
    • updateHandler

      static Handler updateHandler(Handler.Singleton wrapper, Handler handler)
      Utility method to:
      • Check the server state and invocation type
      • Check for handler loops
      • Set the server on the handler
      • Update the beans on if the Nests is a ContainerLifeCycle
      Parameters:
      wrapper - The Nested implementation to update
      handler - The handle to set
      Returns:
      The set handler.