public class ContextConfig extends Object implements LifecycleListener
Modifier and Type | Field and Description |
---|---|
protected static Properties |
authenticators
The set of Authenticators that we know how to configure.
|
protected Context |
context
The Context we are associated with.
|
protected Map<String,Authenticator> |
customAuthenticators
Custom mappings of login methods to authenticators
|
protected String |
defaultContextXml
Deprecated.
Unnecessary
|
protected 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 Map<Host,org.apache.catalina.startup.ContextConfig.DefaultWebXmlCacheEntry> |
hostWebXmlCache
Cache of default web.xml fragments per Host
|
protected Map<ServletContainerInitializer,Set<Class<?>>> |
initializerClassMap
Map of ServletContainerInitializer to classes they expressed interest in.
|
protected Map<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 String |
originalDocBase
Original docBase.
|
protected static StringManager |
sm
The string resources for this package.
|
protected Map<Class<?>,Set<ServletContainerInitializer>> |
typeInitializerMap
Map of Types to ServletContainerInitializer that are interested in those
types.
|
protected Digester |
webDigester
The
Digester we will use to process web application
deployment descriptor files. |
protected Digester |
webFragmentDigester
The
Digester we will use to process web fragment
deployment descriptor files. |
protected WebRuleSet |
webFragmentRuleSet |
protected WebRuleSet |
webRuleSet |
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() |
void |
createWebXmlDigester(boolean namespaceAware,
boolean validation)
Create and return a Digester configured to process the
web application deployment descriptor (web.xml).
|
protected void |
destroy()
Process a "destroy" event for this Context.
|
protected void |
fixDocBase()
Adjust docBase.
|
protected String |
getBaseDir() |
protected File |
getConfigBase()
Deprecated.
Unused - will be removed in 8.0.x
|
protected InputSource |
getContextWebXmlSource()
Identify the application web.xml to be used and obtain an input source
for it.
|
String |
getDefaultContextXml()
Deprecated.
Never changed from default
|
String |
getDefaultWebXml()
Obtain the location of the default deployment descriptor.
|
protected InputSource |
getGlobalWebXmlSource()
Identify the default web.xml to be used and obtain an input source for
it.
|
protected File |
getHostConfigBase() |
protected InputSource |
getHostWebXmlSource()
Identify the host web.xml to be used and obtain an input source for
it.
|
protected InputSource |
getWebXmlSource(String filename,
String path)
Utility method to create an input source from the specified XML file.
|
protected void |
init()
Process a "init" event for this Context.
|
void |
lifecycleEvent(LifecycleEvent event)
Process events for an associated Context.
|
protected void |
parseWebXml(InputSource source,
WebXml dest,
boolean fragment)
Parses the given source and stores the parsed data in the given web.xml
representation.
|
protected void |
processAnnotations(Set<WebXml> fragments,
boolean handlesTypesOnly) |
protected void |
processAnnotationsFile(File file,
WebXml fragment,
boolean handlesTypesOnly) |
protected void |
processAnnotationsJar(URL url,
WebXml fragment,
boolean handlesTypesOnly) |
protected void |
processAnnotationsJndi(URL url,
WebXml fragment,
boolean handlesTypesOnly) |
protected void |
processAnnotationsStream(InputStream is,
WebXml fragment,
boolean handlesTypesOnly) |
protected String[] |
processAnnotationsStringArray(ElementValue ev) |
protected void |
processAnnotationsUrl(URL url,
WebXml fragment,
boolean handlesTypesOnly) |
protected void |
processAnnotationWebFilter(String className,
AnnotationEntry ae,
WebXml fragment)
process filter annotation and merge with existing one!
|
protected Map<String,String> |
processAnnotationWebInitParams(ElementValue ev) |
protected void |
processAnnotationWebServlet(String className,
AnnotationEntry ae,
WebXml fragment) |
protected void |
processClass(WebXml fragment,
JavaClass clazz) |
protected void |
processClasses(WebXml webXml,
Set<WebXml> orderedFragments) |
protected void |
processContextConfig(Digester digester,
URL contextXml)
Process a context.xml.
|
protected Map<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(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(Map<String,Authenticator> customAuthenticators)
Sets custom mappings of login methods to authenticators.
|
void |
setDefaultContextXml(String path)
Deprecated.
Unused
|
void |
setDefaultWebXml(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 Properties authenticators
protected static long deploymentCount
protected static final Map<Host,org.apache.catalina.startup.ContextConfig.DefaultWebXmlCacheEntry> hostWebXmlCache
protected Map<String,Authenticator> customAuthenticators
protected volatile Context context
@Deprecated protected String defaultContextXml
protected String defaultWebXml
protected boolean ok
protected String originalDocBase
protected final Map<ServletContainerInitializer,Set<Class<?>>> initializerClassMap
protected final Map<Class<?>,Set<ServletContainerInitializer>> typeInitializerMap
protected final Map<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.protected Digester webDigester
Digester
we will use to process web application
deployment descriptor files.protected WebRuleSet webRuleSet
protected Digester webFragmentDigester
Digester
we will use to process web fragment
deployment descriptor files.protected WebRuleSet webFragmentRuleSet
public String getDefaultWebXml()
public void setDefaultWebXml(String path)
path
- The path to the default web.xml. If not absolute, it is
relative to CATALINA_BASE.@Deprecated public String getDefaultContextXml()
@Deprecated public void setDefaultContextXml(String path)
path
- Absolute/relative path to the default context.xmlpublic void setCustomAuthenticators(Map<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()
public void createWebXmlDigester(boolean namespaceAware, boolean validation)
protected Digester createContextDigester()
protected String getBaseDir()
protected void contextConfig(Digester digester)
protected void processContextConfig(Digester digester, URL contextXml)
digester
- The digester that will be used for XML parsingcontextXml
- The URL to the context.xml configurationprotected void fixDocBase() throws IOException
IOException
- cannot access the context base pathprotected 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).@Deprecated protected File getConfigBase()
protected File getHostConfigBase()
protected void webConfig()
protected WebXml createWebXml()
protected void processServletContainerInitializers()
protected void processResourceJARs(Set<WebXml> fragments)
fragments
- The set of fragments that will be scanned for
static resourcesprotected InputSource getGlobalWebXmlSource()
protected InputSource getHostWebXmlSource()
protected InputSource getContextWebXmlSource()
protected InputSource getWebXmlSource(String filename, String path)
filename
- Name of the file (possibly with one or more leading path
segments) to readpath
- Location that filename is relative toprotected void parseWebXml(InputSource source, WebXml dest, boolean fragment)
source
- Input source containing the XML data to be parseddest
- The object representation of common elements of web.xml and
web-fragment.xmlfragment
- Specifies whether the source is web-fragment.xml or
web.xmlprotected Map<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(Set<WebXml> fragments, boolean handlesTypesOnly)
protected void processAnnotationsUrl(URL url, WebXml fragment, boolean handlesTypesOnly)
protected void processAnnotationsJar(URL url, WebXml fragment, boolean handlesTypesOnly)
protected void processAnnotationsJndi(URL url, WebXml fragment, boolean handlesTypesOnly)
protected void processAnnotationsFile(File file, WebXml fragment, boolean handlesTypesOnly)
protected void processAnnotationsStream(InputStream is, WebXml fragment, boolean handlesTypesOnly) throws ClassFormatException, IOException
ClassFormatException
IOException
protected void checkHandlesTypes(JavaClass javaClass)
HandlesTypes
or
for an annotation that matches HandlesTypes
.javaClass
- the class to checkprotected void processAnnotationWebServlet(String className, AnnotationEntry ae, WebXml fragment)
protected void processAnnotationWebFilter(String className, AnnotationEntry ae, WebXml fragment)
className
- The filter class nameae
- The filter annotationfragment
- The corresponding fragmentprotected String[] processAnnotationsStringArray(ElementValue ev)
protected Map<String,String> processAnnotationWebInitParams(ElementValue ev)
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.