Package org.glassfish.web.loader
Class ServletContainerInitializerUtil
- java.lang.Object
-
- org.glassfish.web.loader.ServletContainerInitializerUtil
-
public class ServletContainerInitializerUtil extends Object
Utility class - contains util methods used for implementation of pluggable Shared Library features- Author:
- Vijay Ramachandran
-
-
Constructor Summary
Constructors Constructor Description ServletContainerInitializerUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Map<Class<? extends jakarta.servlet.ServletContainerInitializer>,Set<Class<?>>>
getInitializerList(Iterable<jakarta.servlet.ServletContainerInitializer> initializers, Map<Class<?>,List<Class<? extends jakarta.servlet.ServletContainerInitializer>>> interestList, org.glassfish.hk2.classmodel.reflect.Types types, ClassLoader cl, boolean isStandalone)
Given an interestlist that was built above, and a class loader, scan the entire web app's classes and libraries looking for classes that extend/implement/use the annotations of a class present in the interest liststatic Map<Class<?>,List<Class<? extends jakarta.servlet.ServletContainerInitializer>>>
getInterestList(Iterable<jakarta.servlet.ServletContainerInitializer> initializers)
Builds a mapping of classes to the list of ServletContainerInitializers interested in themstatic Iterable<jakarta.servlet.ServletContainerInitializer>
getServletContainerInitializers(Map<String,String> webFragmentMap, List<Object> absoluteOrderingList, boolean hasOthers, ClassLoader cl, boolean servletInitializersEnabled)
Given a class loader, check for ServletContainerInitializer implementations in any JAR file in the classpath
-
-
-
Method Detail
-
getServletContainerInitializers
public static Iterable<jakarta.servlet.ServletContainerInitializer> getServletContainerInitializers(Map<String,String> webFragmentMap, List<Object> absoluteOrderingList, boolean hasOthers, ClassLoader cl, boolean servletInitializersEnabled)
Given a class loader, check for ServletContainerInitializer implementations in any JAR file in the classpath- Parameters:
webFragmentMap
-absoluteOrderingList
-cl
- The ClassLoader to be used to find JAR fileshasOthers
-servletInitializersEnabled
-- Returns:
- Iterable over all ServletContainerInitializers that were found
-
getInterestList
public static Map<Class<?>,List<Class<? extends jakarta.servlet.ServletContainerInitializer>>> getInterestList(Iterable<jakarta.servlet.ServletContainerInitializer> initializers)
Builds a mapping of classes to the list of ServletContainerInitializers interested in them- Parameters:
initializers
- an Iterable over all ServletContainerInitializers that need to be considered- Returns:
- Mapping of classes to list of ServletContainerInitializers interested in them
-
getInitializerList
public static Map<Class<? extends jakarta.servlet.ServletContainerInitializer>,Set<Class<?>>> getInitializerList(Iterable<jakarta.servlet.ServletContainerInitializer> initializers, Map<Class<?>,List<Class<? extends jakarta.servlet.ServletContainerInitializer>>> interestList, org.glassfish.hk2.classmodel.reflect.Types types, ClassLoader cl, boolean isStandalone)
Given an interestlist that was built above, and a class loader, scan the entire web app's classes and libraries looking for classes that extend/implement/use the annotations of a class present in the interest list- Parameters:
initializers
- Iterable over all ServletContainerInitializers that were discoveredinterestList
- The interestList built by the previous util methodcl
- The classloader to be used to load classes in WAR- Returns:
- Map<Class<? extends ServletContainerInitializer>, Set<Class<?>>> A Map of ServletContainerInitializer classes to be called and arguments to be passed to them
-
-