|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.camel.impl.ServiceSupport
org.apache.camel.impl.DefaultPackageScanClassResolver
public class DefaultPackageScanClassResolver
Default implement of PackageScanClassResolver
Field Summary | |
---|---|
protected org.slf4j.Logger |
log
|
Constructor Summary | |
---|---|
DefaultPackageScanClassResolver()
|
Method Summary | |
---|---|
void |
addClassLoader(java.lang.ClassLoader classLoader)
Adds the class loader to the existing loaders |
void |
addFilter(PackageScanFilter filter)
Add a filter that will be applied to all scan operations |
protected void |
addIfMatching(PackageScanFilter test,
java.lang.String fqn,
java.util.Set<java.lang.Class<?>> classes)
Add the class designated by the fully qualified class name provided to the set of resolved classes if and only if it is approved by the Test supplied. |
protected java.net.URL |
customResourceLocator(java.net.URL url)
|
protected void |
doStart()
|
protected void |
doStop()
|
protected void |
find(PackageScanFilter test,
java.lang.String packageName,
java.lang.ClassLoader loader,
java.util.Set<java.lang.Class<?>> classes)
|
protected void |
find(PackageScanFilter test,
java.lang.String packageName,
java.util.Set<java.lang.Class<?>> classes)
|
java.util.Set<java.lang.Class<?>> |
findAnnotated(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
java.lang.String... packageNames)
Attempts to discover classes that are annotated with to the annotation. |
java.util.Set<java.lang.Class<?>> |
findAnnotated(java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> annotations,
java.lang.String... packageNames)
Attempts to discover classes that are annotated with to the annotation. |
java.util.Set<java.lang.Class<?>> |
findByFilter(PackageScanFilter filter,
java.lang.String... packageNames)
Attempts to discover classes filter by the provided filter |
java.util.Set<java.lang.Class<?>> |
findImplementations(java.lang.Class parent,
java.lang.String... packageNames)
Attempts to discover classes that are assignable to the type provided. |
java.util.Set<java.lang.ClassLoader> |
getClassLoaders()
Gets the ClassLoader instances that should be used when scanning for classes. |
protected java.util.Enumeration<java.net.URL> |
getResources(java.lang.ClassLoader loader,
java.lang.String packageName)
Strategy to get the resources by the given classloader. |
boolean |
isAcceptableScheme(java.lang.String urlPath)
|
void |
removeFilter(PackageScanFilter filter)
Removes the filter |
void |
setAcceptableSchemes(java.lang.String schemes)
|
void |
setClassLoaders(java.util.Set<java.lang.ClassLoader> classLoaders)
Sets the ClassLoader instances that should be used when scanning for classes. |
Methods inherited from class org.apache.camel.impl.ServiceSupport |
---|
addChildService, doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, removeChildService, resume, shutdown, start, start, stop, suspend |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final transient org.slf4j.Logger log
Constructor Detail |
---|
public DefaultPackageScanClassResolver()
Method Detail |
---|
public void addClassLoader(java.lang.ClassLoader classLoader)
PackageScanClassResolver
addClassLoader
in interface PackageScanClassResolver
classLoader
- the loader to addpublic void addFilter(PackageScanFilter filter)
PackageScanClassResolver
addFilter
in interface PackageScanClassResolver
filter
- filter to filter desired classes in all scan operationspublic void removeFilter(PackageScanFilter filter)
PackageScanClassResolver
removeFilter
in interface PackageScanClassResolver
filter
- filter to filter desired classes in all scan operationspublic void setAcceptableSchemes(java.lang.String schemes)
public boolean isAcceptableScheme(java.lang.String urlPath)
public java.util.Set<java.lang.ClassLoader> getClassLoaders()
PackageScanClassResolver
PackageScanClassResolver.addClassLoader(ClassLoader)
method if you want to add new classloaders
to the class loaders list.
getClassLoaders
in interface PackageScanClassResolver
public void setClassLoaders(java.util.Set<java.lang.ClassLoader> classLoaders)
PackageScanClassResolver
setClassLoaders
in interface PackageScanClassResolver
classLoaders
- loaders to use when scanning for classespublic java.util.Set<java.lang.Class<?>> findAnnotated(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String... packageNames)
PackageScanClassResolver
findAnnotated
in interface PackageScanClassResolver
annotation
- the annotation that should be present on matching classespackageNames
- one or more package names to scan (including subpackages) for classes
public java.util.Set<java.lang.Class<?>> findAnnotated(java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> annotations, java.lang.String... packageNames)
PackageScanClassResolver
findAnnotated
in interface PackageScanClassResolver
annotations
- the annotations that should be present (any of them) on matching classespackageNames
- one or more package names to scan (including subpackages) for classes
public java.util.Set<java.lang.Class<?>> findImplementations(java.lang.Class parent, java.lang.String... packageNames)
PackageScanClassResolver
findImplementations
in interface PackageScanClassResolver
parent
- the class of interface to find subclasses or implementations ofpackageNames
- one or more package names to scan (including subpackages) for classes
public java.util.Set<java.lang.Class<?>> findByFilter(PackageScanFilter filter, java.lang.String... packageNames)
PackageScanClassResolver
findByFilter
in interface PackageScanClassResolver
filter
- filter to filter desired classes.packageNames
- one or more package names to scan (including subpackages) for classes
protected void find(PackageScanFilter test, java.lang.String packageName, java.util.Set<java.lang.Class<?>> classes)
protected void find(PackageScanFilter test, java.lang.String packageName, java.lang.ClassLoader loader, java.util.Set<java.lang.Class<?>> classes)
protected java.net.URL customResourceLocator(java.net.URL url) throws java.io.IOException
java.io.IOException
protected java.util.Enumeration<java.net.URL> getResources(java.lang.ClassLoader loader, java.lang.String packageName) throws java.io.IOException
WebSpherePackageScanClassResolver
to take care of WebSphere's oddity of resource loading.
loader
- the classloaderpackageName
- the packagename for the package to load
java.io.IOException
- is thrown by the classloaderprotected void addIfMatching(PackageScanFilter test, java.lang.String fqn, java.util.Set<java.lang.Class<?>> classes)
test
- the test used to determine if the class matchesfqn
- the fully qualified name of a classprotected void doStart() throws java.lang.Exception
doStart
in class ServiceSupport
java.lang.Exception
protected void doStop() throws java.lang.Exception
doStop
in class ServiceSupport
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |