public class AnnotationConfiguration extends AbstractConfiguration
Modifier and Type | Class and Description |
---|---|
static class |
AnnotationConfiguration.ClassInheritanceMap |
class |
AnnotationConfiguration.ContainerClassNameResolver
ContainerClassNameResolver
Checks to see if a classname belongs to a hidden or visible package
when scanning for annotations and thus whether it should be excluded from
consideration or not.
|
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.
|
class |
AnnotationConfiguration.WebAppClassNameResolver
WebAppClassNameResolver
Checks to see if a classname belongs to hidden or visible packages when scanning,
and whether a classname that is a duplicate should override a previously
scanned classname.
|
Configuration.ClassList
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<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(ServletContainerInitializer service) |
protected int |
getMaxScanWait(WebAppContext context)
Work out how long we should wait for the async scanning to occur.
|
List<ServletContainerInitializer> |
getNonExcludedInitializers(WebAppContext context)
Get SCIs that are not excluded from consideration
|
boolean |
isFromContainerClassPath(WebAppContext context,
ServletContainerInitializer sci)
Test if the ServletContainerInitializer is from the container classpath
|
boolean |
isFromExcludedJar(WebAppContext context,
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(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
|
destroy
public 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 AnnotationConfiguration.WebAppClassNameResolver _webAppClassNameResolver
protected AnnotationConfiguration.ContainerClassNameResolver _containerClassNameResolver
protected CounterStatistic _containerPathStats
protected CounterStatistic _webInfLibStats
protected CounterStatistic _webInfClassesStats
protected Pattern _sciExcludePattern
protected ServiceLoader<ServletContainerInitializer> _loadedInitializers
public void preConfigure(WebAppContext context) throws Exception
Configuration
Typically this step discovers configuration resources
preConfigure
in interface Configuration
preConfigure
in class AbstractConfiguration
context
- The context to configureException
- if unable to pre configurepublic void addDiscoverableAnnotationHandler(AbstractDiscoverableAnnotationHandler handler)
public void deconfigure(WebAppContext context) throws Exception
Configuration
deconfigure
in interface Configuration
deconfigure
in class AbstractConfiguration
context
- 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 Configuration
configure
in class AbstractConfiguration
context
- The context to configureException
- if unable to configureAbstractConfiguration.configure(org.eclipse.jetty.webapp.WebAppContext)
public void postConfigure(WebAppContext context) throws Exception
Configuration
postConfigure
in interface Configuration
postConfigure
in class AbstractConfiguration
context
- 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_THREADED
protected int getMaxScanWait(WebAppContext context)
context
- the context of the max scan wait settingMAX_SCAN_WAIT
public void cloneConfigure(WebAppContext template, WebAppContext context) throws Exception
Configuration
Configure an instance of a WebAppContext, based on a template WebAppContext that has previously been configured by this Configuration.
cloneConfigure
in interface Configuration
cloneConfigure
in class AbstractConfiguration
template
- 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<ServletContainerInitializer> scis) throws Exception
Exception
public Resource getJarFor(ServletContainerInitializer service) throws MalformedURLException, IOException
MalformedURLException
IOException
public boolean isFromExcludedJar(WebAppContext context, 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(ServletContainerInitializer sci)
sci
- the ServletContainerIntializerpublic boolean isFromContainerClassPath(WebAppContext context, ServletContainerInitializer sci)
context
- the context for the webapp classpathsci
- the ServletContainerIntializerpublic List<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-2016 Webtide. All Rights Reserved.