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>
__allScanTypes
static java.lang.String
CACHED_CONTAINER_FRAGMENTS
static java.lang.String
CACHED_CONTAINER_RESOURCES
static java.lang.String
CACHED_CONTAINER_TLDS
static boolean
DEFAULT_USE_CONTAINER_METAINF_CACHE
static java.lang.String
METAINF_FRAGMENTS
static java.lang.String
METAINF_RESOURCES
static java.lang.String
METAINF_TLDS
static java.lang.String
USE_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.void
postConfigure(WebAppContext context)
Clear down after configuration.void
preConfigure(WebAppContext context)
Set up for configuration.void
scanForFragment(WebAppContext context, Resource jar, java.util.concurrent.ConcurrentHashMap<Resource,Resource> cache)
Scan for META-INF/web-fragment.xml file in the given jar.void
scanForResources(WebAppContext context, Resource target, java.util.concurrent.ConcurrentHashMap<Resource,Resource> cache)
Scan for META-INF/resources dir in the given jar.void
scanForTlds(WebAppContext context, Resource jar, java.util.concurrent.ConcurrentHashMap<Resource,java.util.Collection<java.net.URL>> cache)
Discover META-INF/*.tld files in the given jarvoid
scanJars(WebAppContext context, java.util.Collection<Resource> jars, boolean useCaches)
For backwards compatibility.void
scanJars(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:Configuration
Set up for configuration.Typically this step discovers configuration resources
- Specified by:
preConfigure
in interfaceConfiguration
- Overrides:
preConfigure
in 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:Configuration
Clear down after configuration.- Specified by:
postConfigure
in interfaceConfiguration
- Overrides:
postConfigure
in 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.IOException
Find 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.IOException
Find 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
-
-