org.glassfish.web.loader
Class ServletContainerInitializerUtil

java.lang.Object
  extended by org.glassfish.web.loader.ServletContainerInitializerUtil

public class ServletContainerInitializerUtil
extends java.lang.Object

Utility class - contains util methods used for implementation of pluggable Shared Library features

Author:
Vijay Ramachandran

Constructor Summary
ServletContainerInitializerUtil()
           
 
Method Summary
static java.util.Map<java.lang.Class<? extends javax.servlet.ServletContainerInitializer>,java.util.Set<java.lang.Class<?>>> getInitializerList(java.lang.Iterable<javax.servlet.ServletContainerInitializer> initializers, java.util.Map<java.lang.Class<?>,java.util.List<java.lang.Class<? extends javax.servlet.ServletContainerInitializer>>> interestList, org.glassfish.hk2.classmodel.reflect.Types types, java.lang.ClassLoader cl)
          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
static java.util.Map<java.lang.Class<?>,java.util.List<java.lang.Class<? extends javax.servlet.ServletContainerInitializer>>> getInterestList(java.lang.Iterable<javax.servlet.ServletContainerInitializer> initializers)
          Builds a mapping of classes to the list of ServletContainerInitializers interested in them
static java.lang.Iterable<javax.servlet.ServletContainerInitializer> getServletContainerInitializers(java.util.Map<java.lang.String,java.lang.String> webFragmentMap, java.util.List<java.lang.Object> absoluteOrderingList, boolean hasOthers, java.lang.ClassLoader cl)
          Given a class loader, check for ServletContainerInitializer implementations in any JAR file in the classpath
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServletContainerInitializerUtil

public ServletContainerInitializerUtil()
Method Detail

getServletContainerInitializers

public static java.lang.Iterable<javax.servlet.ServletContainerInitializer> getServletContainerInitializers(java.util.Map<java.lang.String,java.lang.String> webFragmentMap,
                                                                                                            java.util.List<java.lang.Object> absoluteOrderingList,
                                                                                                            boolean hasOthers,
                                                                                                            java.lang.ClassLoader cl)
Given a class loader, check for ServletContainerInitializer implementations in any JAR file in the classpath

Parameters:
cl - The ClassLoader to be used to find JAR files
Returns:
Iterable over all ServletContainerInitializers that were found

getInterestList

public static java.util.Map<java.lang.Class<?>,java.util.List<java.lang.Class<? extends javax.servlet.ServletContainerInitializer>>> getInterestList(java.lang.Iterable<javax.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 java.util.Map<java.lang.Class<? extends javax.servlet.ServletContainerInitializer>,java.util.Set<java.lang.Class<?>>> getInitializerList(java.lang.Iterable<javax.servlet.ServletContainerInitializer> initializers,
                                                                                                                                                       java.util.Map<java.lang.Class<?>,java.util.List<java.lang.Class<? extends javax.servlet.ServletContainerInitializer>>> interestList,
                                                                                                                                                       org.glassfish.hk2.classmodel.reflect.Types types,
                                                                                                                                                       java.lang.ClassLoader cl)
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 discovered
interestList - The interestList built by the previous util method
cl - 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


Copyright © 2012 GlassFish Community. All Rights Reserved.