Apache Tomcat 7.0.54

org.apache.catalina.startup
Class WebappServiceLoader<T>

java.lang.Object
  extended by org.apache.catalina.startup.WebappServiceLoader<T>

public class WebappServiceLoader<T>
extends Object

A variation of Java's JAR ServiceLoader that respects exclusion rules for web applications.

Primarily intended for use loading ServletContainerInitializers as defined by Servlet 8.2.4. This implementation does not attempt lazy loading as the container is required to introspect all implementations discovered.

If the ServletContext defines ORDERED_LIBS, then only JARs in WEB-INF/lib that are named in that set will be included in the search for provider configuration files; if ORDERED_LIBS is not defined then all JARs will be searched for provider configuration files. Providers defined by resources in the parent ClassLoader will always be returned.

Provider classes will be loaded using the context's ClassLoader.

See Also:
ServletContainerInitializer, ServiceLoader

Constructor Summary
WebappServiceLoader(ServletContext context, String containerSciFilter)
          Construct a loader to load services from a ServletContext.
 
Method Summary
 List<T> load(Class<T> serviceType)
          Load the providers for a service type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebappServiceLoader

public WebappServiceLoader(ServletContext context,
                           String containerSciFilter)
Construct a loader to load services from a ServletContext.

Parameters:
context - the context to use
Method Detail

load

public List<T> load(Class<T> serviceType)
             throws IOException
Load the providers for a service type.

Parameters:
serviceType - the type of service to load
Returns:
an unmodifiable collection of service providers
Throws:
IOException - if there was a problem loading any service

Apache Tomcat 7.0.54

Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.