public class AnnotationConfiguration extends AbstractConfiguration
| Modifier and Type | Class and Description |
|---|---|
static class |
AnnotationConfiguration.ClassInheritanceMap |
class |
AnnotationConfiguration.ParserTask
ParserTask
Task to executing scanning of a resource for annotations.
|
class |
AnnotationConfiguration.ServletContainerInitializerComparator
ServletContainerInitializerComparator
Comparator impl that orders a set of ServletContainerInitializers according to the
list of classnames (optionally containing a "*" wildcard character) established in a
ServletContainerInitializerOrdering.
|
class |
AnnotationConfiguration.ServletContainerInitializerOrdering
ServletContainerInitializerOrdering
A list of classnames of ServletContainerInitializers in the order in which
they are to be called back.
|
class |
AnnotationConfiguration.TimeStatistic
TimeStatistic
Simple class to capture elapsed time of an operation.
|
Configuration.ClassList| Modifier and Type | Field and Description |
|---|---|
protected ClassInheritanceHandler |
_classInheritanceHandler |
protected List<ContainerInitializerAnnotationHandler> |
_containerInitializerAnnotationHandlers |
protected CounterStatistic |
_containerPathStats |
protected List<AbstractDiscoverableAnnotationHandler> |
_discoverableAnnotationHandlers |
protected ServiceLoader<javax.servlet.ServletContainerInitializer> |
_loadedInitializers |
protected List<AnnotationConfiguration.ParserTask> |
_parserTasks |
protected Pattern |
_sciExcludePattern |
protected CounterStatistic |
_webInfClassesStats |
protected CounterStatistic |
_webInfLibStats |
static String |
CLASS_INHERITANCE_MAP |
static String |
CONTAINER_INITIALIZER_STARTER |
static String |
CONTAINER_INITIALIZERS |
static int |
DEFAULT_MAX_SCAN_WAIT |
static boolean |
DEFAULT_MULTI_THREADED |
static String |
MAX_SCAN_WAIT |
static String |
MULTI_THREADED |
static String |
SERVLET_CONTAINER_INITIALIZER_EXCLUSION_PATTERN |
static String |
SERVLET_CONTAINER_INITIALIZER_ORDER |
ATTR| Constructor and Description |
|---|
AnnotationConfiguration() |
| Modifier and Type | Method and Description |
|---|---|
void |
addDiscoverableAnnotationHandler(AbstractDiscoverableAnnotationHandler handler) |
void |
cloneConfigure(WebAppContext template,
WebAppContext context)
Clone configuration instance.
|
void |
configure(WebAppContext context)
Configure WebApp.
|
protected AnnotationParser |
createAnnotationParser() |
void |
createServletContainerInitializerAnnotationHandlers(WebAppContext context,
List<javax.servlet.ServletContainerInitializer> scis) |
void |
deconfigure(WebAppContext context)
DeConfigure WebApp.
|
FragmentDescriptor |
getFragmentFromJar(Resource jar,
List<FragmentDescriptor> frags)
Get the web-fragment.xml from a jar
|
AnnotationConfiguration.ServletContainerInitializerOrdering |
getInitializerOrdering(WebAppContext context)
Jetty-specific extension that allows an ordering to be applied across ALL ServletContainerInitializers.
|
Resource |
getJarFor(javax.servlet.ServletContainerInitializer service) |
protected int |
getMaxScanWait(WebAppContext context)
Work out how long we should wait for the async scanning to occur.
|
List<javax.servlet.ServletContainerInitializer> |
getNonExcludedInitializers(WebAppContext context)
Get SCIs that are not excluded from consideration
|
boolean |
isFromContainerClassPath(WebAppContext context,
javax.servlet.ServletContainerInitializer sci)
Test if the ServletContainerInitializer is from the container classpath
|
boolean |
isFromExcludedJar(WebAppContext context,
javax.servlet.ServletContainerInitializer sci,
Resource sciResource)
Check to see if the ServletContainerIntializer loaded via the ServiceLoader came
from a jar that is excluded by the fragment ordering.
|
boolean |
isMetaDataComplete(WebDescriptor d) |
protected boolean |
isUseMultiThreading(WebAppContext context)
Check if we should use multiple threads to scan for annotations or not
|
boolean |
matchesExclusionPattern(javax.servlet.ServletContainerInitializer sci)
Test if the ServletContainerIntializer is excluded by the
o.e.j.containerInitializerExclusionPattern
|
void |
parseContainerPath(WebAppContext context,
AnnotationParser parser)
Scan jars on container path.
|
void |
parseWebInfClasses(WebAppContext context,
AnnotationParser parser)
Scan classes in WEB-INF/classes
|
void |
parseWebInfLib(WebAppContext context,
AnnotationParser parser)
Scan jars in WEB-INF/lib
|
void |
postConfigure(WebAppContext context)
Clear down after configuration.
|
void |
preConfigure(WebAppContext context)
Set up for configuration.
|
protected void |
scanForAnnotations(WebAppContext context)
Perform scanning of classes for annotations
|
destroypublic static final String SERVLET_CONTAINER_INITIALIZER_EXCLUSION_PATTERN
public static final String SERVLET_CONTAINER_INITIALIZER_ORDER
public static final String CLASS_INHERITANCE_MAP
public static final String CONTAINER_INITIALIZERS
public static final String CONTAINER_INITIALIZER_STARTER
public static final String MULTI_THREADED
public static final String MAX_SCAN_WAIT
public static final int DEFAULT_MAX_SCAN_WAIT
public static final boolean DEFAULT_MULTI_THREADED
protected List<AbstractDiscoverableAnnotationHandler> _discoverableAnnotationHandlers
protected ClassInheritanceHandler _classInheritanceHandler
protected List<ContainerInitializerAnnotationHandler> _containerInitializerAnnotationHandlers
protected List<AnnotationConfiguration.ParserTask> _parserTasks
protected CounterStatistic _containerPathStats
protected CounterStatistic _webInfLibStats
protected CounterStatistic _webInfClassesStats
protected Pattern _sciExcludePattern
protected ServiceLoader<javax.servlet.ServletContainerInitializer> _loadedInitializers
public void preConfigure(WebAppContext context) throws Exception
ConfigurationTypically this step discovers configuration resources
preConfigure in interface ConfigurationpreConfigure in class AbstractConfigurationcontext - The context to configureException - if unable to pre configurepublic void addDiscoverableAnnotationHandler(AbstractDiscoverableAnnotationHandler handler)
public void deconfigure(WebAppContext context) throws Exception
Configurationdeconfigure in interface Configurationdeconfigure in class AbstractConfigurationcontext - The context to configureException - if unable to deconfigurepublic void configure(WebAppContext context) throws Exception
Configuration
Typically this step applies the discovered configuration resources to
either the WebAppContext or the associated MetaData.
configure in interface Configurationconfigure in class AbstractConfigurationcontext - The context to configureException - if unable to configureAbstractConfiguration.configure(org.eclipse.jetty.webapp.WebAppContext)public void postConfigure(WebAppContext context) throws Exception
ConfigurationpostConfigure in interface ConfigurationpostConfigure in class AbstractConfigurationcontext - The context to configureException - if unable to post configureAbstractConfiguration.postConfigure(org.eclipse.jetty.webapp.WebAppContext)protected void scanForAnnotations(WebAppContext context) throws Exception
context - the context for the scanException - if unable to scanprotected AnnotationParser createAnnotationParser()
protected boolean isUseMultiThreading(WebAppContext context)
context - the context of the multi threaded settingMULTI_THREADEDprotected int getMaxScanWait(WebAppContext context)
context - the context of the max scan wait settingMAX_SCAN_WAITpublic void cloneConfigure(WebAppContext template, WebAppContext context) throws Exception
ConfigurationConfigure an instance of a WebAppContext, based on a template WebAppContext that has previously been configured by this Configuration.
cloneConfigure in interface ConfigurationcloneConfigure in class AbstractConfigurationtemplate - The template contextcontext - The context to configureException - if unable to cloneAbstractConfiguration.cloneConfigure(org.eclipse.jetty.webapp.WebAppContext, org.eclipse.jetty.webapp.WebAppContext)public void createServletContainerInitializerAnnotationHandlers(WebAppContext context, List<javax.servlet.ServletContainerInitializer> scis) throws Exception
Exceptionpublic Resource getJarFor(javax.servlet.ServletContainerInitializer service) throws MalformedURLException, IOException
MalformedURLExceptionIOExceptionpublic boolean isFromExcludedJar(WebAppContext context, javax.servlet.ServletContainerInitializer sci, Resource sciResource) throws Exception
context - the context for the jarssci - the servlet container initializersciResource - the resource for the servlet container initializerException - if unable to determine exclusionpublic boolean matchesExclusionPattern(javax.servlet.ServletContainerInitializer sci)
sci - the ServletContainerIntializerpublic boolean isFromContainerClassPath(WebAppContext context, javax.servlet.ServletContainerInitializer sci)
context - the context for the webapp classpathsci - the ServletContainerIntializerpublic List<javax.servlet.ServletContainerInitializer> getNonExcludedInitializers(WebAppContext context) throws Exception
context - the web app contextException - if unable to get listpublic AnnotationConfiguration.ServletContainerInitializerOrdering getInitializerOrdering(WebAppContext context)
context - the context for the initializer ordering configurationpublic void parseContainerPath(WebAppContext context, AnnotationParser parser) throws Exception
context - the context for the scanparser - the parser to scan withException - if unable to scanpublic void parseWebInfLib(WebAppContext context, AnnotationParser parser) throws Exception
context - the context for the scanparser - the annotation parser to useException - if unable to scan and/or parsepublic void parseWebInfClasses(WebAppContext context, AnnotationParser parser) throws Exception
context - the context for the scanparser - the annotation parser to useException - if unable to scan and/or parsepublic FragmentDescriptor getFragmentFromJar(Resource jar, List<FragmentDescriptor> frags) throws Exception
jar - the jar to look in for a fragmentfrags - the fragments previously foundException - if unable to determine the the fragment containspublic boolean isMetaDataComplete(WebDescriptor d)
Copyright © 1995–2017 Webtide. All rights reserved.