org.jfree.xml.generator

Class JavaSourceCollector

Implemented Interfaces:
SourceCollector

public class JavaSourceCollector
extends java.lang.Object
implements SourceCollector

The class collects all class-files and loads the class objects named by these files.

Constructor Summary

JavaSourceCollector(File startDirectory)
Creates a new source collector.
JavaSourceCollector(File startDirectory, String packageName)
Creates a new source collector.

Method Summary

void
addIgnoredBaseClass(Class baseClass)
Adds a class to the list of ignored base classes.
void
addIgnoredBaseClass(String baseClass)
Adds a base class that should be ignored.
void
addIgnoredPackage(String pkg)
Adds a package that should be ignored.
protected String
buildJavaName(String packageName, String newPackage)
Creates a fully qualified Java class or package name.
void
collectFiles()
Collects the files/classes.
protected void
collectFiles(File directory, String packageName)
Collects the files/classes.
Class[]
getClasses()
Returns the list of classes as an array.
protected boolean
isIgnoredBaseClass(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(String classname)
Returns true if the named class is being ignored (because of the package that it belongs to), and false otherwise.
protected Class
loadClass(String name)
Loads a class by its fully qualified name.

Constructor Details

JavaSourceCollector

public JavaSourceCollector(File startDirectory)
Creates a new source collector.
Parameters:
startDirectory - the start directory.

JavaSourceCollector

public JavaSourceCollector(File startDirectory,
                           String packageName)
Creates a new source collector.
Parameters:
startDirectory - the base directory.
packageName - the base package name.

Method Details

addIgnoredBaseClass

public void addIgnoredBaseClass(Class baseClass)
Adds a class to the list of ignored base classes.
Parameters:
baseClass - the class.

addIgnoredBaseClass

public void addIgnoredBaseClass(String baseClass)
Adds a base class that should be ignored.
Parameters:
baseClass - the base class name.

addIgnoredPackage

public void addIgnoredPackage(String pkg)
Adds a package that should be ignored.
Parameters:
pkg - the package name.

buildJavaName

protected String buildJavaName(String packageName,
                               String newPackage)
Creates a fully qualified Java class or package name.
Parameters:
packageName - the base package name.
newPackage - the class/package name.
Returns:
The fully qualified package/class name.

collectFiles

public void collectFiles()
Collects the files/classes.

collectFiles

protected void collectFiles(File directory,
                            String packageName)
Collects the files/classes.
Parameters:
directory - the starting directory.
packageName - the initial package name.

getClasses

public Class[] getClasses()
Returns the list of classes as an array.
Specified by:
getClasses in interface SourceCollector
Returns:
The list of classes.

isIgnoredBaseClass

protected boolean isIgnoredBaseClass(Class c)
Returns true if the named class is being ignored (because it is a descendant of an ignored base class), and false otherwise.
Parameters:
c - the class name.
Returns:
A boolean.

isIgnoredPackage

protected boolean isIgnoredPackage(String classname)
Returns true if the named class is being ignored (because of the package that it belongs to), and false otherwise.
Parameters:
classname - the name of the class to test.
Returns:
A boolean.

loadClass

protected Class loadClass(String name)
Loads a class by its fully qualified name.
Parameters:
name - the class name.
Returns:
The class (or null if there was a problem loading the class).