public class DirURLClassLocator extends URLClassLocator
DirURLClassLocator
is an implementation of the
URL-based ClassLocator which deals with root URLs that are not
Jar URLs._fileType, _rootURL, CLASS_SUFFIXES, CLASS_TYPE, SOURCE_SUFFIXES, SOURCE_TYPE
EMPTY_COLLECTION, EMPTY_LOCATOR, EMPTY_STRING_ARRAY
Modifier | Constructor and Description |
---|---|
protected |
DirURLClassLocator(java.net.URL dirURL,
int classType)
Constructs a new
DirURLClassLocator . |
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.
|
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 |
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.
|
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 |
getURL(java.lang.String fqClassName)
Fetch the URL for the JavaFile for the given fully-qualified Java class
name.
|
getClasspathTreeNode, getClassURL, getFileType, getRootURL, getSourceURL, isClassTypeLocator, isMatchingFileType, isMatchingFileType, isSourceTypeLocator
addToCollection, buildFQName, checkInterrupt, ensureValid, getAllClasses, getAllClasses, getAllClassesInterruptibly, getAllClassesInterruptibly, getAllPackages, getAllPackages, getAllPackagesInterruptibly, getAllPackagesInterruptibly, getAllPackagesInterruptibly, getChildLocators, getClassesByName, getClassesByNameInterruptibly, getClassesByPrefix, getClassesByPrefixInterruptibly, getClassesInPackage, getClassesInPackageInterruptibly, getClassesInPackageInterruptibly, getClassURLInterruptibly, getNameCascades, getNameParts, getPackages, getPackagesInterruptibly, getPackagesInterruptibly, getResourceURLs, getSourceLocator, getSourceURLInterruptibly, getStringArray, getURLInterruptibly, visitClasspathTree, visitClasspathTree, visitJavaTypes, visitJavaTypes, visitResources, visitResources
protected DirURLClassLocator(java.net.URL dirURL, int classType)
DirURLClassLocator
.dirURL
- the root URL we are working withclassType
- the file type, either CLASS_TYPE or SOURCE_TYPEpublic void buildIndex()
public void buildIndexInterruptibly() throws java.lang.InterruptedException
JavaClassLocator2
buildIndexInterruptibly
in interface JavaClassLocator2
buildIndexInterruptibly
in class BaseClassLocator
java.lang.InterruptedException
- if the build is interruptedpublic void getPackages(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out)
getPackages
in class BaseClassLocator
packagePrefix
- the package prefix, i.e., "java.io"out
- the collection to add the packagespublic void getClassesInPackage(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out)
getClassesInPackage
in class BaseClassLocator
packagePrefix
- the package prefix, i.e., "java.io"out
- the collection to add the class namespublic void getAllClasses(java.util.Collection<java.lang.String> out, ClassNameFilter filter)
getAllClasses
in class BaseClassLocator
filter
- the class name filter to useout
- the collection to add the fully-qualified class namespublic 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 interruptedprotected 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 namepublic void getAllPackages(java.util.Collection<java.lang.String> out, PackageNameFilter filter)
getAllPackages
in class BaseClassLocator
out
- the collection to add the full package namesfilter
- the package name filter to usepublic java.net.URL getURL(java.lang.String fqClassName)
fqClassName
- the fully-qualified class name in dotted notation,
i.e., java.util.Map.Entry.public java.net.URL getResourceURL(java.lang.String resourceName)
resourceName
- the full name of the resource including any file
extensions