org.jfree.xml.generator
Class JavaSourceCollector

java.lang.Object
  extended by org.jfree.xml.generator.JavaSourceCollector
All 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(java.io.File startDirectory)
          Creates a new source collector.
JavaSourceCollector(java.io.File startDirectory, java.lang.String packageName)
          Creates a new source collector.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaSourceCollector

public JavaSourceCollector(java.io.File startDirectory)
Creates a new source collector.

Parameters:
startDirectory - the start directory.

JavaSourceCollector

public JavaSourceCollector(java.io.File startDirectory,
                           java.lang.String packageName)
Creates a new source collector.

Parameters:
startDirectory - the base directory.
packageName - the base package name.
Method Detail

addIgnoredPackage

public void addIgnoredPackage(java.lang.String pkg)
Adds a package that should be ignored.

Parameters:
pkg - the package name.

addIgnoredBaseClass

public void addIgnoredBaseClass(java.lang.String baseClass)
Adds a base class that should be ignored.

Parameters:
baseClass - the base class name.

addIgnoredBaseClass

public void addIgnoredBaseClass(java.lang.Class baseClass)
Adds a class to the list of ignored base classes.

Parameters:
baseClass - the class.

isIgnoredPackage

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.

Parameters:
classname - the name of the class to test.
Returns:
A boolean.

isIgnoredBaseClass

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.

Parameters:
c - the class name.
Returns:
A boolean.

collectFiles

public void collectFiles()
Collects the files/classes.


collectFiles

protected void collectFiles(java.io.File directory,
                            java.lang.String packageName)
Collects the files/classes.

Parameters:
directory - the starting directory.
packageName - the initial package name.

loadClass

protected java.lang.Class loadClass(java.lang.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).

buildJavaName

protected java.lang.String buildJavaName(java.lang.String packageName,
                                         java.lang.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.

getClasses

public java.lang.Class[] getClasses()
Returns the list of classes as an array.

Specified by:
getClasses in interface SourceCollector
Returns:
The list of classes.