Interface ServletManager

All Known Implementing Classes:
TomcatServletManager

public interface ServletManager
Manager of Servlet instances for ServletServicer.
Author:
Daniel Sagenschneider
  • Method Details

    • getContext

      org.apache.catalina.Context getContext()
      Obtains the Context.
      Returns:
      Context.
    • addServlet

      ServletServicer addServlet(String name, Class<? extends jakarta.servlet.Servlet> servletClass, Consumer<org.apache.catalina.Wrapper> decorator)
      Adds a Servlet.
      Parameters:
      name - Name of Servlet.
      servletClass - Servlet Class.
      decorator - Decorates the Servlet. May be null.
      Returns:
      ServletServicer.
    • addServlet

      ServletServicer addServlet(String name, jakarta.servlet.Servlet servlet, boolean isInjectDependencies, Consumer<org.apache.catalina.Wrapper> decorator)
      Adds a Servlet instance.
      Parameters:
      name - Name of Servlet.
      servlet - Servlet.
      isInjectDependencies - Flags to inject dependencies into the Servlet instance.
      decorator - Decorates the Servlet. May be null.
      Returns:
      ServletServicer.
    • addFilter

      FilterServicer addFilter(String name, Class<? extends jakarta.servlet.Filter> filterClass, Consumer<org.apache.tomcat.util.descriptor.web.FilterDef> decorator)
      Adds a Filter.
      Parameters:
      name - Name of Filter.
      filterClass - Filter Class.
      decorator - Decorates the Filter. May be null.
      Returns:
      FilterServicer.
    • getDependency

      <T> T getDependency(String qualifier, Class<? extends T> type)

      Obtains a dependency.

      The dependency is via a SupplierThreadLocal that is always available in servicing a Servlet / Filter.

      Type Parameters:
      T - Type of dependency.
      Parameters:
      qualifier - Qualifier. May be null.
      type - Type.
      Returns:
      Dependency.
    • getAvailableTypes

      AvailableType[] getAvailableTypes() throws IllegalStateException

      Obtains the AvailableType instances from OfficeFloor.

      This should only be invoked during Servlet container startup.

      Returns:
      AvailableType instances from OfficeFloor.
      Throws:
      IllegalStateException - If invoked before completion of ServletSupplierSource.
    • chainInServletManager

      void chainInServletManager()
      Chains in this ServletManager to service HTTP requests. This allows the backing Servlet container to route requests to the appropriate Filter / Servlet to service the HTTP request.
    • getSourceContext

      OfficeExtensionContext getSourceContext()
      Returns:
      OfficeExtensionContext.