public class JavaSourceCollector extends java.lang.Object implements SourceCollector
Modifier and Type | Class and Description |
---|---|
private static class |
JavaSourceCollector.CollectorFileFilter
A file filter.
|
Modifier and Type | Field and Description |
---|---|
private JavaSourceCollector.CollectorFileFilter |
eff
A file filter.
|
private java.util.ArrayList |
fileList
The file list.
|
private java.util.ArrayList |
ignoredBaseClasses
A list of ignored base classes.
|
private java.util.ArrayList |
ignoredPackages
A list of ignored packages.
|
private java.lang.String |
initialPackageName
The initial package name.
|
private java.io.File |
startDirectory
The start directory.
|
Constructor and Description |
---|
JavaSourceCollector(java.io.File startDirectory)
Creates a new source collector.
|
JavaSourceCollector(java.io.File startDirectory,
java.lang.String packageName)
Creates a new source collector.
|
Modifier and Type | Method and Description |
---|---|
void |
addIgnoredBaseClass(java.lang.Class baseClass)
Adds a class to the list of ignored base classes.
|
void |
addIgnoredBaseClass(java.lang.String baseClass)
Adds a base class that should be ignored.
|
void |
addIgnoredPackage(java.lang.String pkg)
Adds a package that should be ignored.
|
protected java.lang.String |
buildJavaName(java.lang.String packageName,
java.lang.String newPackage)
Creates a fully qualified Java class or package name.
|
void |
collectFiles()
Collects the files/classes.
|
protected void |
collectFiles(java.io.File directory,
java.lang.String packageName)
Collects the files/classes.
|
java.lang.Class[] |
getClasses()
Returns the list of classes as an array.
|
protected boolean |
isIgnoredBaseClass(java.lang.Class c)
Returns
true if the named class is being ignored (because it is a descendant
of an ignored base class), and false otherwise. |
protected boolean |
isIgnoredPackage(java.lang.String classname)
Returns
true if the named class is being ignored (because of the package that
it belongs to), and false otherwise. |
protected java.lang.Class |
loadClass(java.lang.String name)
Loads a class by its fully qualified name.
|
private JavaSourceCollector.CollectorFileFilter eff
private java.util.ArrayList fileList
private java.util.ArrayList ignoredPackages
private java.util.ArrayList ignoredBaseClasses
private java.io.File startDirectory
private java.lang.String initialPackageName
public JavaSourceCollector(java.io.File startDirectory)
startDirectory
- the start directory.public JavaSourceCollector(java.io.File startDirectory, java.lang.String packageName)
startDirectory
- the base directory.packageName
- the base package name.public void addIgnoredPackage(java.lang.String pkg)
pkg
- the package name.public void addIgnoredBaseClass(java.lang.String baseClass)
baseClass
- the base class name.public void addIgnoredBaseClass(java.lang.Class baseClass)
baseClass
- the class.protected boolean isIgnoredPackage(java.lang.String classname)
true
if the named class is being ignored (because of the package that
it belongs to), and false
otherwise.classname
- the name of the class to test.protected boolean isIgnoredBaseClass(java.lang.Class c)
true
if the named class is being ignored (because it is a descendant
of an ignored base class), and false
otherwise.c
- the class name.public void collectFiles()
protected void collectFiles(java.io.File directory, java.lang.String packageName)
directory
- the starting directory.packageName
- the initial package name.protected java.lang.Class loadClass(java.lang.String name)
name
- the class name.null
if there was a problem loading the class).protected java.lang.String buildJavaName(java.lang.String packageName, java.lang.String newPackage)
packageName
- the base package name.newPackage
- the class/package name.public java.lang.Class[] getClasses()
getClasses
in interface SourceCollector