|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.glassfish.jersey.server.internal.scanning.PackageNamesScanner
public class PackageNamesScanner
A scanner that recursively scans URI-based resources present in a set of package names, and sub-package names of that set.
The URIs for a package name are obtained, by default, by invoking
ClassLoader.getResources(java.lang.String) with the parameter that
is the package name with "." replaced by "/".
Each URI is then scanned using a registered UriSchemeResourceFinderFactory that
supports the URI scheme.
The following are registered by default.
The FileSchemeResourceFinderFactory for "file" URI schemes.
The JarZipSchemeResourceFinderFactory for "jar" or "zip" URI schemes to jar
resources.
The VfsSchemeResourceFinderFactory for the JBoss-based "vfsfile" and "vfszip"
URI schemes.
Further schemes may be registered by registering an implementation of
UriSchemeResourceFinderFactory in the META-INF/services file whose name is the
the fully qualified class name of UriSchemeResourceFinderFactory.
If a URI scheme is not supported a ResourceFinderException will be thrown
and package scanning deployment will fail.
| Nested Class Summary | |
|---|---|
static class |
PackageNamesScanner.ResourcesProvider
Find resources with a given name and class loader. |
| Constructor Summary | |
|---|---|
PackageNamesScanner(java.lang.ClassLoader classloader,
java.lang.String[] packages)
Scan from a set of packages using provided ClassLoader. |
|
PackageNamesScanner(java.lang.String[] packages)
Scan from a set of packages using the context ClassLoader. |
|
| Method Summary | |
|---|---|
boolean |
hasNext()
|
java.lang.String |
next()
|
java.io.InputStream |
open()
Open current resource. |
void |
remove()
This operation is not supported by ResourceFinder & throws UnsupportedOperationException
when invoked. |
void |
reset()
Reset the ResourceFinder instance. |
static void |
setResourcesProvider(PackageNamesScanner.ResourcesProvider provider)
Set the PackageNamesScanner.ResourcesProvider implementation to find resources. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PackageNamesScanner(java.lang.String[] packages)
ClassLoader.
packages - an array of package names.
public PackageNamesScanner(java.lang.ClassLoader classloader,
java.lang.String[] packages)
ClassLoader.
classloader - the ClassLoader to load classes from.packages - an array of package names.| Method Detail |
|---|
public boolean hasNext()
hasNext in interface java.util.Iterator<java.lang.String>public java.lang.String next()
next in interface java.util.Iterator<java.lang.String>public void remove()
ResourceFinderResourceFinder & throws UnsupportedOperationException
when invoked.
remove in interface java.util.Iterator<java.lang.String>remove in interface ResourceFinderpublic java.io.InputStream open()
ResourceFinder
open in interface ResourceFinderpublic void reset()
ResourceFinderResourceFinder instance.
Upon calling this method the implementing class MUST reset its internal state to the initial state.
reset in interface ResourceFinder
public static void setResourcesProvider(PackageNamesScanner.ResourcesProvider provider)
throws java.lang.SecurityException
PackageNamesScanner.ResourcesProvider implementation to find resources.
This method should be invoked before any package scanning is performed otherwise the functionality method will be utilized.
provider - the resources provider.
java.lang.SecurityException - if the resources provider cannot be set.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||