Package org.eclipse.jetty.webapp
Class MetaInfConfiguration
- java.lang.Object
-
- org.eclipse.jetty.webapp.AbstractConfiguration
-
- org.eclipse.jetty.webapp.MetaInfConfiguration
-
- All Implemented Interfaces:
Configuration
public class MetaInfConfiguration extends AbstractConfiguration
MetaInfConfigurationScan META-INF of jars to find:
- tlds
- web-fragment.xml
- resources
- those from the container classpath whose pattern matched the WebInfConfiguration.CONTAINER_JAR_PATTERN
- those from WEB-INF/lib
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.webapp.Configuration
Configuration.ClassList, Configuration.Wrapper, Configuration.WrapperFunction
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.List<java.lang.String>__allScanTypesstatic java.lang.StringCACHED_CONTAINER_FRAGMENTSstatic java.lang.StringCACHED_CONTAINER_RESOURCESstatic java.lang.StringCACHED_CONTAINER_TLDSstatic booleanDEFAULT_USE_CONTAINER_METAINF_CACHEstatic java.lang.StringMETAINF_FRAGMENTSstatic java.lang.StringMETAINF_RESOURCESstatic java.lang.StringMETAINF_TLDSstatic java.lang.StringUSE_CONTAINER_METAINF_CACHE-
Fields inherited from interface org.eclipse.jetty.webapp.Configuration
ATTR
-
-
Constructor Summary
Constructors Constructor Description MetaInfConfiguration()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<java.net.URL>getTlds(java.io.File dir)Find all .tld files in all subdirs of the given dir.java.util.Collection<java.net.URL>getTlds(java.net.URI uri)Find all .tld files in the given jar.voidpostConfigure(WebAppContext context)Clear down after configuration.voidpreConfigure(WebAppContext context)Set up for configuration.voidscanForFragment(WebAppContext context, Resource jar, java.util.concurrent.ConcurrentHashMap<Resource,Resource> cache)Scan for META-INF/web-fragment.xml file in the given jar.voidscanForResources(WebAppContext context, Resource target, java.util.concurrent.ConcurrentHashMap<Resource,Resource> cache)Scan for META-INF/resources dir in the given jar.voidscanForTlds(WebAppContext context, Resource jar, java.util.concurrent.ConcurrentHashMap<Resource,java.util.Collection<java.net.URL>> cache)Discover META-INF/*.tld files in the given jarvoidscanJars(WebAppContext context, java.util.Collection<Resource> jars, boolean useCaches)For backwards compatibility.voidscanJars(WebAppContext context, java.util.Collection<Resource> jars, boolean useCaches, java.util.List<java.lang.String> scanTypes)Look into the jars to discover info in META-INF.-
Methods inherited from class org.eclipse.jetty.webapp.AbstractConfiguration
cloneConfigure, configure, deconfigure, destroy
-
-
-
-
Field Detail
-
USE_CONTAINER_METAINF_CACHE
public static final java.lang.String USE_CONTAINER_METAINF_CACHE
- See Also:
- Constant Field Values
-
DEFAULT_USE_CONTAINER_METAINF_CACHE
public static final boolean DEFAULT_USE_CONTAINER_METAINF_CACHE
- See Also:
- Constant Field Values
-
CACHED_CONTAINER_TLDS
public static final java.lang.String CACHED_CONTAINER_TLDS
- See Also:
- Constant Field Values
-
CACHED_CONTAINER_FRAGMENTS
public static final java.lang.String CACHED_CONTAINER_FRAGMENTS
- See Also:
- Constant Field Values
-
CACHED_CONTAINER_RESOURCES
public static final java.lang.String CACHED_CONTAINER_RESOURCES
- See Also:
- Constant Field Values
-
METAINF_TLDS
public static final java.lang.String METAINF_TLDS
- See Also:
- Constant Field Values
-
METAINF_FRAGMENTS
public static final java.lang.String METAINF_FRAGMENTS
- See Also:
- Constant Field Values
-
METAINF_RESOURCES
public static final java.lang.String METAINF_RESOURCES
- See Also:
- Constant Field Values
-
__allScanTypes
public static final java.util.List<java.lang.String> __allScanTypes
-
-
Method Detail
-
preConfigure
public void preConfigure(WebAppContext context) throws java.lang.Exception
Description copied from interface:ConfigurationSet up for configuration.Typically this step discovers configuration resources
- Specified by:
preConfigurein interfaceConfiguration- Overrides:
preConfigurein classAbstractConfiguration- Parameters:
context- The context to configure- Throws:
java.lang.Exception- if unable to pre configure
-
scanJars
public void scanJars(WebAppContext context, java.util.Collection<Resource> jars, boolean useCaches) throws java.lang.Exception
For backwards compatibility. This method will always scan for all types of data.- Parameters:
context- the context for the scanjars- the jars to scanuseCaches- if true, the scanned info is cached- Throws:
java.lang.Exception- if unable to scan the jars
-
scanJars
public void scanJars(WebAppContext context, java.util.Collection<Resource> jars, boolean useCaches, java.util.List<java.lang.String> scanTypes) throws java.lang.Exception
Look into the jars to discover info in META-INF. If useCaches == true, then we will cache the info discovered indexed by the jar in which it was discovered: this speeds up subsequent context deployments.- Parameters:
context- the context for the scanjars- the jars resources to scanuseCaches- if true, cache the info discoveredscanTypes- the type of things to look for in the jars- Throws:
java.lang.Exception- if unable to scan the jars
-
scanForResources
public void scanForResources(WebAppContext context, Resource target, java.util.concurrent.ConcurrentHashMap<Resource,Resource> cache) throws java.lang.Exception
Scan for META-INF/resources dir in the given jar.- Parameters:
context- the context for the scantarget- the target resource to scan forcache- the resource cache- Throws:
java.lang.Exception- if unable to scan for resources
-
scanForFragment
public void scanForFragment(WebAppContext context, Resource jar, java.util.concurrent.ConcurrentHashMap<Resource,Resource> cache) throws java.lang.Exception
Scan for META-INF/web-fragment.xml file in the given jar.- Parameters:
context- the context for the scanjar- the jar resource to scan for fragements incache- the resource cache- Throws:
java.lang.Exception- if unable to scan for fragments
-
scanForTlds
public void scanForTlds(WebAppContext context, Resource jar, java.util.concurrent.ConcurrentHashMap<Resource,java.util.Collection<java.net.URL>> cache) throws java.lang.Exception
Discover META-INF/*.tld files in the given jar- Parameters:
context- the context for the scanjar- the jar resources to scan tlds forcache- the resource cache- Throws:
java.lang.Exception- if unable to scan for tlds
-
postConfigure
public void postConfigure(WebAppContext context) throws java.lang.Exception
Description copied from interface:ConfigurationClear down after configuration.- Specified by:
postConfigurein interfaceConfiguration- Overrides:
postConfigurein classAbstractConfiguration- Parameters:
context- The context to configure- Throws:
java.lang.Exception- if unable to post configure
-
getTlds
public java.util.Collection<java.net.URL> getTlds(java.io.File dir) throws java.io.IOExceptionFind all .tld files in all subdirs of the given dir.- Parameters:
dir- the directory to scan- Returns:
- the list of tlds found
- Throws:
java.io.IOException- if unable to scan the directory
-
getTlds
public java.util.Collection<java.net.URL> getTlds(java.net.URI uri) throws java.io.IOExceptionFind all .tld files in the given jar.- Parameters:
uri- the uri to jar file- Returns:
- the collection of tlds as url references
- Throws:
java.io.IOException- if unable to scan the jar file
-
-