public final class JarClassPathClassLocator extends BaseClassLocator
EMPTY_COLLECTION, EMPTY_LOCATOR, EMPTY_STRING_ARRAY
Constructor and Description |
---|
JarClassPathClassLocator(java.net.URL rootURL,
BaseClassLocator jarLocator) |
Modifier and Type | Method and Description |
---|---|
void |
buildIndex()
Instructs this class locator to start building its index for locating
files.
|
void |
buildIndexInterruptibly()
Instructs this class locator to start building its index for locating
files.
|
void |
getAllClasses(java.util.Collection<java.lang.String> out,
ClassNameFilter filter)
Fetch all of the top-level classes that are known by this locator.
|
void |
getAllClassesInterruptibly(java.util.Collection<java.lang.String> out,
ClassNameFilter filter)
Get all of the top-level classes that are known by this locator.
|
void |
getAllPackages(java.util.Collection<java.lang.String> out,
PackageNameFilter filter)
Fetch all of the full packges that are known by this locator.
|
void |
getAllPackagesInterruptibly(java.util.Collection<java.lang.String> out,
PackageNameFilter filter)
Get all of the full packges that are known by this locator.
|
protected java.util.Collection<BaseClassLocator> |
getChildLocators(java.util.EnumSet<ClasspathTreeVisitOptions> options)
Get the child class locators to be visited.
|
protected java.util.Collection<java.lang.String> |
getClassesDirectly()
Get the top-level classes that are known directly by this class locator,
not including those known to child locators.
|
void |
getClassesInPackage(java.lang.String packagePrefix,
java.util.Collection<java.lang.String> out)
Fetch the list of top-level classes within the given package, adding them
to the out collection provided.
|
void |
getClassesInPackageInterruptibly(java.lang.String packagePrefix,
java.util.Collection<java.lang.String> out)
Get the list of top-level classes within the package.
|
protected java.lang.Object |
getClasspathTreeNode()
Get the classpath tree node corresponding to this locator.
|
java.net.URL |
getClassURL(java.lang.String fqClassName)
Fetch the URL for the JavaFile for the given fully-qualified Java class
name.
|
java.net.URL |
getClassURLInterruptibly(java.lang.String fqClassName)
Fetch the URL for the JavaFile for the given fully-qualified Java class
name.
|
void |
getPackages(java.lang.String packagePrefix,
java.util.Collection<java.lang.String> out)
Fetch the list of subpackages within the given package, adding them
to the out collection provided.
|
void |
getPackagesInterruptibly(java.lang.String packagePrefix,
java.util.Collection<java.lang.String> out)
Get the list of subpackages within the given package.
|
protected java.util.Collection<java.net.URL> |
getResourcesDirectly(java.lang.String name)
Get the resources with the given name that are known directly by this
class locator, not including those known to child locators.
|
java.net.URL |
getResourceURL(java.lang.String resourceName)
Fetch the URL for the Java resource file given the resource name.
|
java.net.URL |
getSourceURL(java.lang.String fqClassName)
Fetch the URL for the SourceFile for the given fully-qualified Java
class name.
|
java.net.URL |
getURL(java.lang.String fqClassName)
Fetch the URL for the JavaFile for the given fully-qualified Java class
name.
|
java.net.URL |
getURLInterruptibly(java.lang.String fqClassName)
Fetch the URL for the JavaFile for the given fully-qualified Java class
name.
|
addToCollection, buildFQName, checkInterrupt, ensureValid, getAllClasses, getAllClasses, getAllClassesInterruptibly, getAllClassesInterruptibly, getAllPackages, getAllPackages, getAllPackagesInterruptibly, getAllPackagesInterruptibly, getClassesByName, getClassesByNameInterruptibly, getClassesByPrefix, getClassesByPrefixInterruptibly, getClassesInPackage, getClassesInPackageInterruptibly, getNameCascades, getNameParts, getPackages, getPackagesInterruptibly, getResourceURLs, getSourceLocator, getSourceURLInterruptibly, getStringArray, visitClasspathTree, visitClasspathTree, visitJavaTypes, visitJavaTypes, visitResources, visitResources
public JarClassPathClassLocator(java.net.URL rootURL, BaseClassLocator jarLocator)
public void getPackages(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out)
BaseClassLocator
getPackages
in class BaseClassLocator
packagePrefix
- the package prefix, i.e., "java.io"out
- the collection to add the packagespublic void getPackagesInterruptibly(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out) throws java.lang.InterruptedException
BaseClassLocator
getPackagesInterruptibly
in class BaseClassLocator
packagePrefix
- the package prefixout
- the collection where packages are addedjava.lang.InterruptedException
- if the operation is interruptedpublic void getClassesInPackage(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out)
BaseClassLocator
getClassesInPackage
in class BaseClassLocator
packagePrefix
- the package prefix, i.e., "java.io"out
- the collection to add the class namespublic void getClassesInPackageInterruptibly(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out) throws java.lang.InterruptedException
BaseClassLocator
getClassesInPackageInterruptibly
in class BaseClassLocator
packagePrefix
- the package prefixout
- the collection where packages are addedjava.lang.InterruptedException
- if the operation is interruptedpublic void getAllClasses(java.util.Collection<java.lang.String> out, ClassNameFilter filter)
BaseClassLocator
getAllClasses
in class BaseClassLocator
out
- the collection to add the fully-qualified class namesfilter
- the class name filter to usepublic void getAllClassesInterruptibly(java.util.Collection<java.lang.String> out, ClassNameFilter filter) throws java.lang.InterruptedException
BaseClassLocator
getAllClassesInterruptibly
in class BaseClassLocator
out
- the collection where fully qualified class names are addedfilter
- the class name filter to usejava.lang.InterruptedException
- if the operation is interruptedpublic void getAllPackages(java.util.Collection<java.lang.String> out, PackageNameFilter filter)
BaseClassLocator
getAllPackages
in class BaseClassLocator
out
- the collection to add the full package namesfilter
- the package name filter to usepublic void getAllPackagesInterruptibly(java.util.Collection<java.lang.String> out, PackageNameFilter filter) throws java.lang.InterruptedException
BaseClassLocator
getAllPackagesInterruptibly
in class BaseClassLocator
out
- the collection where package names are addedfilter
- the package name filter to usejava.lang.InterruptedException
- if the operation is interruptedpublic void buildIndex()
JavaClassLocator
public void buildIndexInterruptibly() throws java.lang.InterruptedException
JavaClassLocator2
buildIndexInterruptibly
in interface JavaClassLocator2
buildIndexInterruptibly
in class BaseClassLocator
java.lang.InterruptedException
- if the build is interruptedpublic java.net.URL getURL(java.lang.String fqClassName)
JavaClassLocator
fqClassName
- the fully-qualified class name in dotted notation,
i.e., java.util.Listpublic java.net.URL getURLInterruptibly(java.lang.String fqClassName) throws java.lang.InterruptedException
JavaClassLocator2
getURLInterruptibly
in interface JavaClassLocator2
getURLInterruptibly
in class BaseClassLocator
fqClassName
- the fully-qualified class name in dotted notation,
i.e., java.util.Listjava.lang.InterruptedException
- if the operation is interruptedpublic java.net.URL getSourceURL(java.lang.String fqClassName)
JavaClassLocator
fqClassName
- the fully-qualified class name in dotted notationpublic java.net.URL getClassURL(java.lang.String fqClassName)
JavaClassLocator
fqClassName
- the fully-qualified class name in dotted notationpublic java.net.URL getClassURLInterruptibly(java.lang.String fqClassName) throws java.lang.InterruptedException
JavaClassLocator2
getClassURLInterruptibly
in interface JavaClassLocator2
getClassURLInterruptibly
in class BaseClassLocator
fqClassName
- the fully-qualified class name in dotted notationjava.lang.InterruptedException
- if the operation is interruptedpublic java.net.URL getResourceURL(java.lang.String resourceName)
JavaResourceLocator
resourceName
- the full name of the resource including any file
extensionsprotected java.lang.Object getClasspathTreeNode()
BaseClassLocator
getClasspathTreeNode
in class BaseClassLocator
null
if there is no classpath
tree node corresponding to this locatorClasspathTree
protected java.util.Collection<BaseClassLocator> getChildLocators(java.util.EnumSet<ClasspathTreeVisitOptions> options)
BaseClassLocator
getChildLocators
in class BaseClassLocator
options
- the classpath tree visit optionsprotected java.util.Collection<java.lang.String> getClassesDirectly()
BaseClassLocator
getClassesDirectly
in class BaseClassLocator
protected java.util.Collection<java.net.URL> getResourcesDirectly(java.lang.String name)
BaseClassLocator
getResourcesDirectly
in class BaseClassLocator
name
- the resource name