Class ServletDeploymentContext.Builder

  • Enclosing class:
    ServletDeploymentContext

    public static class ServletDeploymentContext.Builder
    extends DeploymentContext.Builder
    The builder for building a Servlet-based deployment context.

    If properties of the builder are not modified, default values will be utilized:

    • The default value for initialization and context parameters is an empty map.
    • The default value for the context and servlet path is an empty string.
    • The default value for the servlet class is the class ServletContainer.
    • The default value for the servlet instance, filter class and the servlet context listener class is null.

    After the build() has been invoked the state of the builder will be reset to the default values.

    • Constructor Detail

      • Builder

        protected Builder()
        Create new deployment context builder instance not explicitly bound to the JAX-RS / Jersey application class.

        The constructor is provided to support different subclass initialization scenarios.

      • Builder

        public Builder​(String name,
                       String value)
        Create a builder with one initialization parameter.
        Parameters:
        name - the parameter name.
        value - the parameter value.
      • Builder

        protected Builder​(Application app)
        Create new deployment context builder instance and bind it to the JAX-RS / Jersey application instance.
        Parameters:
        app - JAX-RS / Jersey application instance.
      • Builder

        protected Builder​(Class<? extends Application> appClass)
        Create new deployment context builder instance and bind it to the JAX-RS / Jersey application class.
        Parameters:
        appClass - JAX-RS / Jersey application class.
    • Method Detail

      • initParam

        public ServletDeploymentContext.Builder initParam​(String name,
                                                          String value)
        Add an initialization parameter.
        Parameters:
        name - the parameter name.
        value - the parameter value.
        Returns:
        this servlet deployment context builder.
      • initParams

        public ServletDeploymentContext.Builder initParams​(Map<String,​String> initParams)
        Add initialization parameters.
        Parameters:
        initParams - a map of initialization parameters. The parameters will be copied.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - is the specified map is null.
      • contextParam

        public ServletDeploymentContext.Builder contextParam​(String name,
                                                             String value)
        Add a context parameter.
        Parameters:
        name - the parameter name.
        value - the parameter value.
        Returns:
        this servlet deployment context builder.
      • contextParams

        public ServletDeploymentContext.Builder contextParams​(Map<String,​String> contextParams)
        Add context parameters.
        Parameters:
        contextParams - a map of context parameters. The parameters will be copied.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - is the specified map is null.
      • servletClass

        public ServletDeploymentContext.Builder servletClass​(Class<? extends jakarta.servlet.http.HttpServlet> servletClass)
        Set the servlet class.

        Setting a servlet class resets the servlet instance as well as registered filters to null.

        Parameters:
        servletClass - the servlet class to serve the application.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if servletClass is null.
      • servlet

        public ServletDeploymentContext.Builder servlet​(jakarta.servlet.http.HttpServlet servlet)
        Set the servlet instance.

        Setting a servlet instance resets the servlet class as well as registered filters to null.

        Parameters:
        servlet - the servlet instance to serve the application.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if servletClass is null.
      • filterClass

        public ServletDeploymentContext.Builder filterClass​(Class<? extends jakarta.servlet.Filter> filterClass)
        Set the filter class. The registered servlet filter will be active for DispatcherType.REQUEST dispatch types only.

        Setting a filter class resets the servlet class and servlet instance to null.

        Parameters:
        filterClass - the filter class to serve the application.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if filterClass is null.
      • filterClass

        public ServletDeploymentContext.Builder filterClass​(Class<? extends jakarta.servlet.Filter> filterClass,
                                                            Set<jakarta.servlet.DispatcherType> dispatcherTypes)
        Set the filter class.

        Setting a filter class resets the servlet class and servlet instance to null.

        Parameters:
        filterClass - the filter class to serve the application.
        dispatcherTypes - dispatcher types for which the filter should be registered.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if filterClass or dispatcherTypes is null.
        IllegalArgumentException - in case the dispatcherTypes is empty.
      • addFilter

        public ServletDeploymentContext.Builder addFilter​(Class<? extends jakarta.servlet.Filter> filterClass,
                                                          String filterName)
        Add a filter class.

        Adding a filter class DOES NOT reset the servlet or filter classes. Filter will be instantiated without initialization parameters.

        Parameters:
        filterClass - filter class. Must not be null.
        filterName - filter name. Must not be null or empty string.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if filterClass or filterName is null.
        IllegalArgumentException - in case the filterName is empty.
      • addFilter

        public ServletDeploymentContext.Builder addFilter​(Class<? extends jakarta.servlet.Filter> filterClass,
                                                          String filterName,
                                                          Map<String,​String> initParams)
        Add a filter class.

        Adding a filter class DOES NOT reset the servlet or filter classes. Filter will be instantiated without initialization parameters.

        Parameters:
        filterClass - filter class. Must not be null.
        filterName - filter name. Must not be null or empty string.
        initParams - filter init parameters. Must not be null.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if filterClass or filterName or initParams is null.
        IllegalArgumentException - in case the filterName is empty.
      • addFilter

        public ServletDeploymentContext.Builder addFilter​(Class<? extends jakarta.servlet.Filter> filterClass,
                                                          String filterName,
                                                          Set<jakarta.servlet.DispatcherType> dispatcherTypes)
        Add a filter class.

        Adding a filter class DOES NOT reset the servlet or filter classes. Filter will be instantiated without initialization parameters.

        Parameters:
        filterClass - filter class. Must not be null.
        filterName - filter name. Must not be null or empty string.
        dispatcherTypes - filter will be registered for these dispatcher types. Must not be null.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if filterClass or filterName or dispatcherTypes is null.
        IllegalArgumentException - in case the filterName or dispatcherTypes is empty.
      • addFilter

        public ServletDeploymentContext.Builder addFilter​(Class<? extends jakarta.servlet.Filter> filterClass,
                                                          String filterName,
                                                          Map<String,​String> initParams,
                                                          Set<jakarta.servlet.DispatcherType> dispatcherTypes)
        Add a filter class.

        Adding a filter class DOES NOT reset the servlet or filter classes. Filter will be instantiated without initialization parameters.

        Parameters:
        filterClass - filter class. Must not be null.
        filterName - filter name. Must not be null or empty string.
        initParams - filter init parameters. Must not be null.
        dispatcherTypes - filter will be registered for these dispatcher types. Must not be null.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if filterClass or filterName or initParams or dispatcherTypes is null.
        IllegalArgumentException - in case the filterName or dispatcherTypes is empty.
      • servletPath

        public ServletDeploymentContext.Builder servletPath​(String servletPath)
        Set the servlet path.
        Parameters:
        servletPath - the servlet path to the application. (See Servlet specification for definition of servletPath.)
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if servletPath is null.
      • addListener

        public ServletDeploymentContext.Builder addListener​(Class<? extends EventListener> listenerClass)
        Add event listener class.

        The event listener should be one of the following types:

        • ServletContextListener
        • ServletContextAttributeListener
        • ServletRequestListener
        • ServletRequestAttributeListener
        • HttpSessionListener
        • HttpSessionActivationListener
        • HttpSessionAttributeListener

        Parameters:
        listenerClass - the event listener class.
        Returns:
        this servlet deployment context builder.
        Throws:
        NullPointerException - if listenerClass is null.
        IllegalArgumentException - if listenerClass is neither of the supported listener types listed above.
      • reset

        protected void reset()
        Description copied from class: DeploymentContext.Builder
        Reset the application deployment context builder values to defaults. Note that the builder still remains bound to the same JAX-RS / Jersey application instance.
        Overrides:
        reset in class DeploymentContext.Builder