Class JerseyServletContainerInitializer

  • All Implemented Interfaces:
    javax.servlet.ServletContainerInitializer

    public final class JerseyServletContainerInitializer
    extends java.lang.Object
    implements javax.servlet.ServletContainerInitializer
    ServletContainerInitializer implementation used for Servlet 3.x deployment.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.util.logging.Logger LOGGER  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static void addServletWithApplication​(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> defaultClasses)
      Add new servlet according to Application subclass with ApplicationPath annotation or existing servlet-mapping.
      private static void addServletWithDefaultConfiguration​(javax.servlet.ServletContext context, java.util.Set<java.lang.Class<?>> classes)
      Enhance default servlet (named Application) configuration.
      private static void addServletWithExistingRegistration​(javax.servlet.ServletContext context, javax.servlet.ServletRegistration registration, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> classes)
      Enhance existing servlet configuration.
      private static void collectJaxRsRegistrations​(java.util.Map<java.lang.String,​? extends javax.servlet.Registration> registrations, java.util.List<javax.servlet.Registration> collected, java.lang.Class<? extends javax.ws.rs.core.Application> a)  
      private static java.lang.String createMappingPath​(javax.ws.rs.ApplicationPath ap)  
      private static java.util.Set<java.lang.String> findJerseyServletNames​(javax.servlet.ServletContext servletContext)
      Returns names of all registered Jersey servlets.
      private static java.util.Set<java.lang.Class<? extends javax.ws.rs.core.Application>> getApplicationClasses​(java.util.Set<java.lang.Class<?>> classes)  
      private static java.util.List<javax.servlet.Registration> getInitParamDeclaredRegistrations​(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz)  
      private static java.util.Map<java.lang.String,​java.lang.Object> getInitParams​(javax.servlet.ServletRegistration sr)  
      private static java.util.Set<java.lang.Class<?>> getRootResourceAndProviderClasses​(java.util.Set<java.lang.Class<?>> classes)  
      private static boolean isJerseyServlet​(java.lang.String className)
      Check if the className is an implementation of a Jersey Servlet container.
      private static boolean mappingExists​(javax.servlet.ServletContext sc, java.lang.String mapping)  
      void onStartup​(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext)  
      private void onStartupImpl​(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
    • Constructor Detail

      • JerseyServletContainerInitializer

        public JerseyServletContainerInitializer()
    • Method Detail

      • onStartup

        public void onStartup​(java.util.Set<java.lang.Class<?>> classes,
                              javax.servlet.ServletContext servletContext)
                       throws javax.servlet.ServletException
        Specified by:
        onStartup in interface javax.servlet.ServletContainerInitializer
        Throws:
        javax.servlet.ServletException
      • onStartupImpl

        private void onStartupImpl​(java.util.Set<java.lang.Class<?>> classes,
                                   javax.servlet.ServletContext servletContext)
                            throws javax.servlet.ServletException
        Throws:
        javax.servlet.ServletException
      • findJerseyServletNames

        private static java.util.Set<java.lang.String> findJerseyServletNames​(javax.servlet.ServletContext servletContext)
        Returns names of all registered Jersey servlets. Servlets are configured in web.xml or managed via Servlet API.
        Parameters:
        servletContext - the ServletContext of the web application that is being started
        Returns:
        list of Jersey servlet names or empty array, never returns null
      • isJerseyServlet

        private static boolean isJerseyServlet​(java.lang.String className)
        Check if the className is an implementation of a Jersey Servlet container.
        Returns:
        true if the class is a Jersey servlet container class, false otherwise.
      • getInitParamDeclaredRegistrations

        private static java.util.List<javax.servlet.Registration> getInitParamDeclaredRegistrations​(javax.servlet.ServletContext context,
                                                                                                    java.lang.Class<? extends javax.ws.rs.core.Application> clazz)
      • collectJaxRsRegistrations

        private static void collectJaxRsRegistrations​(java.util.Map<java.lang.String,​? extends javax.servlet.Registration> registrations,
                                                      java.util.List<javax.servlet.Registration> collected,
                                                      java.lang.Class<? extends javax.ws.rs.core.Application> a)
      • addServletWithDefaultConfiguration

        private static void addServletWithDefaultConfiguration​(javax.servlet.ServletContext context,
                                                               java.util.Set<java.lang.Class<?>> classes)
                                                        throws javax.servlet.ServletException
        Enhance default servlet (named Application) configuration.
        Throws:
        javax.servlet.ServletException
      • addServletWithApplication

        private static void addServletWithApplication​(javax.servlet.ServletContext context,
                                                      java.lang.Class<? extends javax.ws.rs.core.Application> clazz,
                                                      java.util.Set<java.lang.Class<?>> defaultClasses)
                                               throws javax.servlet.ServletException
        Add new servlet according to Application subclass with ApplicationPath annotation or existing servlet-mapping.
        Throws:
        javax.servlet.ServletException
      • addServletWithExistingRegistration

        private static void addServletWithExistingRegistration​(javax.servlet.ServletContext context,
                                                               javax.servlet.ServletRegistration registration,
                                                               java.lang.Class<? extends javax.ws.rs.core.Application> clazz,
                                                               java.util.Set<java.lang.Class<?>> classes)
                                                        throws javax.servlet.ServletException
        Enhance existing servlet configuration.
        Throws:
        javax.servlet.ServletException
      • getInitParams

        private static java.util.Map<java.lang.String,​java.lang.Object> getInitParams​(javax.servlet.ServletRegistration sr)
      • mappingExists

        private static boolean mappingExists​(javax.servlet.ServletContext sc,
                                             java.lang.String mapping)
      • createMappingPath

        private static java.lang.String createMappingPath​(javax.ws.rs.ApplicationPath ap)
      • getApplicationClasses

        private static java.util.Set<java.lang.Class<? extends javax.ws.rs.core.Application>> getApplicationClasses​(java.util.Set<java.lang.Class<?>> classes)
      • getRootResourceAndProviderClasses

        private static java.util.Set<java.lang.Class<?>> getRootResourceAndProviderClasses​(java.util.Set<java.lang.Class<?>> classes)