public class ContextConfig extends java.lang.Object implements LifecycleListener
Modifier and Type | Field and Description |
---|---|
protected static java.util.Properties |
authenticators
The set of Authenticators that we know how to configure.
|
protected Context |
context
The Context we are associated with.
|
protected java.util.Map<java.lang.String,Authenticator> |
customAuthenticators
Custom mappings of login methods to authenticators
|
protected java.lang.String |
defaultWebXml
The default web application's deployment descriptor location.
|
protected static long |
deploymentCount
Deployment count.
|
protected static LoginConfig |
DUMMY_LOGIN_CONFIG |
protected boolean |
handlesTypesAnnotations
Flag that indicates if at least one
HandlesTypes entry is present
that represents an annotation. |
protected boolean |
handlesTypesNonAnnotations
Flag that indicates if at least one
HandlesTypes entry is present
that represents a non-annotation. |
protected static java.util.Map<Host,org.apache.catalina.startup.ContextConfig.DefaultWebXmlCacheEntry> |
hostWebXmlCache
Cache of default web.xml fragments per Host
|
protected java.util.Map<ServletContainerInitializer,java.util.Set<java.lang.Class<?>>> |
initializerClassMap
Map of ServletContainerInitializer to classes they expressed interest in.
|
protected java.util.Map<java.lang.String,org.apache.catalina.startup.ContextConfig.JavaClassCacheEntry> |
javaClassCache
Cache of JavaClass objects (byte code) by fully qualified class name.
|
protected boolean |
ok
Track any fatal errors during startup configuration processing.
|
protected java.lang.String |
originalDocBase
Original docBase.
|
protected static StringManager |
sm
The string resources for this package.
|
protected java.util.Map<java.lang.Class<?>,java.util.Set<ServletContainerInitializer>> |
typeInitializerMap
Map of Types to ServletContainerInitializer that are interested in those
types.
|
Constructor and Description |
---|
ContextConfig() |
Modifier and Type | Method and Description |
---|---|
protected void |
antiLocking() |
protected void |
applicationAnnotationsConfig()
Process the application classes annotations, if it exists.
|
protected void |
authenticatorConfig()
Set up an Authenticator automatically if required, and one has not
already been configured.
|
protected void |
beforeStart()
Process a "before start" event for this Context.
|
protected void |
checkHandlesTypes(JavaClass javaClass)
For classes packaged with the web application, the class and each
super class needs to be checked for a match with
HandlesTypes or
for an annotation that matches HandlesTypes . |
protected void |
configureStart()
Process a "contextConfig" event for this Context.
|
protected void |
configureStop()
Process a "stop" event for this Context.
|
protected void |
contextConfig(Digester digester)
Process the default configuration file, if it exists.
|
protected Digester |
createContextDigester()
Create (if necessary) and return a Digester configured to process the
context configuration descriptor for an application.
|
protected WebXml |
createWebXml() |
protected void |
destroy()
Process a "destroy" event for this Context.
|
protected void |
fixDocBase()
Adjust docBase.
|
protected org.xml.sax.InputSource |
getContextWebXmlSource()
Identify the application web.xml to be used and obtain an input source
for it.
|
java.lang.String |
getDefaultWebXml()
Return the location of the default deployment descriptor
|
protected org.xml.sax.InputSource |
getGlobalWebXmlSource()
Identify the default web.xml to be used and obtain an input source for
it.
|
protected java.io.File |
getHostConfigBase() |
protected org.xml.sax.InputSource |
getHostWebXmlSource()
Identify the host web.xml to be used and obtain an input source for
it.
|
protected org.xml.sax.InputSource |
getWebXmlSource(java.lang.String filename,
java.lang.String path) |
protected void |
init()
Process a "init" event for this Context.
|
void |
lifecycleEvent(LifecycleEvent event)
Process events for an associated Context.
|
protected void |
processAnnotations(java.util.Set<WebXml> fragments,
boolean handlesTypesOnly) |
protected void |
processAnnotationsFile(java.io.File file,
WebXml fragment,
boolean handlesTypesOnly) |
protected void |
processAnnotationsJar(java.net.URL url,
WebXml fragment,
boolean handlesTypesOnly) |
protected void |
processAnnotationsStream(java.io.InputStream is,
WebXml fragment,
boolean handlesTypesOnly) |
protected java.lang.String[] |
processAnnotationsStringArray(ElementValue ev) |
protected void |
processAnnotationsUrl(java.net.URL url,
WebXml fragment,
boolean handlesTypesOnly) |
protected void |
processAnnotationsWebResource(WebResource webResource,
WebXml fragment,
boolean handlesTypesOnly) |
protected void |
processAnnotationWebFilter(java.lang.String className,
AnnotationEntry ae,
WebXml fragment)
process filter annotation and merge with existing one!
|
protected java.util.Map<java.lang.String,java.lang.String> |
processAnnotationWebInitParams(ElementValue ev) |
protected void |
processAnnotationWebServlet(java.lang.String className,
AnnotationEntry ae,
WebXml fragment) |
protected void |
processContextConfig(Digester digester,
java.net.URL contextXml)
Process a context.xml.
|
protected java.util.Map<java.lang.String,WebXml> |
processJarsForWebFragments(WebXml application)
Scan /WEB-INF/lib for JARs and for each one found add it and any
/META-INF/web-fragment.xml to the resulting Map. web-fragment.xml files
will be parsed before being added to the map.
|
protected void |
processResourceJARs(java.util.Set<WebXml> fragments)
Scan JARs that contain web-fragment.xml files that will be used to
configure this application to see if they also contain static resources.
|
protected void |
processServletContainerInitializers()
Scan JARs for ServletContainerInitializer implementations.
|
void |
setCustomAuthenticators(java.util.Map<java.lang.String,Authenticator> customAuthenticators)
Sets custom mappings of login methods to authenticators.
|
void |
setDefaultWebXml(java.lang.String path)
Set the location of the default deployment descriptor
|
protected void |
validateSecurityRoles()
Validate the usage of security role names in the web application
deployment descriptor.
|
protected void |
webConfig()
Scan the web.xml files that apply to the web application and merge them
using the rules defined in the spec.
|
protected static final StringManager sm
protected static final LoginConfig DUMMY_LOGIN_CONFIG
protected static final java.util.Properties authenticators
protected static long deploymentCount
protected static final java.util.Map<Host,org.apache.catalina.startup.ContextConfig.DefaultWebXmlCacheEntry> hostWebXmlCache
protected java.util.Map<java.lang.String,Authenticator> customAuthenticators
protected Context context
protected java.lang.String defaultWebXml
protected boolean ok
protected java.lang.String originalDocBase
protected final java.util.Map<ServletContainerInitializer,java.util.Set<java.lang.Class<?>>> initializerClassMap
protected final java.util.Map<java.lang.Class<?>,java.util.Set<ServletContainerInitializer>> typeInitializerMap
protected final java.util.Map<java.lang.String,org.apache.catalina.startup.ContextConfig.JavaClassCacheEntry> javaClassCache
HandlesTypes
.protected boolean handlesTypesAnnotations
HandlesTypes
entry is present
that represents an annotation.protected boolean handlesTypesNonAnnotations
HandlesTypes
entry is present
that represents a non-annotation.public java.lang.String getDefaultWebXml()
public void setDefaultWebXml(java.lang.String path)
path
- Absolute/relative path to the default web.xmlpublic void setCustomAuthenticators(java.util.Map<java.lang.String,Authenticator> customAuthenticators)
customAuthenticators
- Custom mappings of login methods to
authenticatorspublic void lifecycleEvent(LifecycleEvent event)
lifecycleEvent
in interface LifecycleListener
event
- The lifecycle event that has occurredprotected void applicationAnnotationsConfig()
protected void authenticatorConfig()
protected Digester createContextDigester()
protected void contextConfig(Digester digester)
protected void processContextConfig(Digester digester, java.net.URL contextXml)
protected void fixDocBase() throws java.io.IOException
java.io.IOException
protected void antiLocking()
protected void init()
protected void beforeStart()
protected void configureStart()
protected void configureStop()
protected void destroy()
protected void validateSecurityRoles()
ok
instance variable to false
as well).protected java.io.File getHostConfigBase()
protected void webConfig()
protected WebXml createWebXml()
protected void processServletContainerInitializers()
protected void processResourceJARs(java.util.Set<WebXml> fragments)
protected org.xml.sax.InputSource getGlobalWebXmlSource()
protected org.xml.sax.InputSource getHostWebXmlSource()
protected org.xml.sax.InputSource getContextWebXmlSource()
protected org.xml.sax.InputSource getWebXmlSource(java.lang.String filename, java.lang.String path)
filename
- Name of the file (possibly with one or more leading path
segments) to readpath
- Location that filename is relative toprotected java.util.Map<java.lang.String,WebXml> processJarsForWebFragments(WebXml application)
null
will be used if no web-fragment.xml was found. Any JARs
known not contain fragments will be skipped.protected void processAnnotations(java.util.Set<WebXml> fragments, boolean handlesTypesOnly)
protected void processAnnotationsWebResource(WebResource webResource, WebXml fragment, boolean handlesTypesOnly)
protected void processAnnotationsUrl(java.net.URL url, WebXml fragment, boolean handlesTypesOnly)
protected void processAnnotationsJar(java.net.URL url, WebXml fragment, boolean handlesTypesOnly)
protected void processAnnotationsFile(java.io.File file, WebXml fragment, boolean handlesTypesOnly)
protected void processAnnotationsStream(java.io.InputStream is, WebXml fragment, boolean handlesTypesOnly) throws ClassFormatException, java.io.IOException
ClassFormatException
java.io.IOException
protected void checkHandlesTypes(JavaClass javaClass)
HandlesTypes
or
for an annotation that matches HandlesTypes
.javaClass
- protected void processAnnotationWebServlet(java.lang.String className, AnnotationEntry ae, WebXml fragment)
protected void processAnnotationWebFilter(java.lang.String className, AnnotationEntry ae, WebXml fragment)
className
- ae
- fragment
- protected java.lang.String[] processAnnotationsStringArray(ElementValue ev)
protected java.util.Map<java.lang.String,java.lang.String> processAnnotationWebInitParams(ElementValue ev)
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.