com.thoughtworks.qdox

Class JavaDocBuilder

public class JavaDocBuilder extends Object implements Serializable, JavaClassCache

Simple facade to QDox allowing a source tree to be parsed and the resulting object model navigated.

Example


 // -- Create JavaDocBuilder

 JavaDocBuilder builder = new JavaDocBuilder();

 // -- Add some files

 // Reading a single source file.
 builder.addSource(new FileReader("MyFile.java"));

 // Reading from another kind of input stream.
 builder.addSource(new StringReader("package test; public class Hello {}"));

 // Adding all .java files in a source tree (recursively).
 builder.addSourceTree(new File("mysrcdir"));

 // -- Retrieve source files

 JavaSource[] source = builder.getSources();

 

Author: Joe Walnes Aslak Hellesøy

Field Summary
Mapclasses
ClassLibraryclassLibrary
booleandebugLexer
booleandebugParser
DocletTagFactorydocletTagFactory
Stringencoding
Listsources
Constructor Summary
JavaDocBuilder()
JavaDocBuilder(DocletTagFactory docletTagFactory)
Method Summary
voidaddClass(JavaClass cls)
voidaddClasses(JavaSource source)
voidaddClassesRecursive(JavaSource javaSource, Set resultSet)
voidaddClassesRecursive(JavaClass javaClass, Set set)
voidaddField(Field field, ModelBuilder binaryBuilder)
voidaddMethodOrConstructor(Member member, ModelBuilder binaryBuilder)
voidaddModifiers(Set set, int modifier)
JavaSourceaddSource(Reader reader)
JavaSourceaddSource(Reader reader, String sourceInfo)
JavaSourceaddSource(File file)
JavaSourceaddSource(URL url)
voidaddSourceTree(File file)
JavaClasscreateBinaryClass(String name)
JavaClasscreateUnknownClass(String name)
JavaClassgetClassByName(String name)
JavaClass[]getClasses()
Returns all the classes found in all the sources, including inner classes and "extra" classes (multiple outer classes defined in the same source file).
ClassLibrarygetClassLibrary()
StringgetClassName(String fullClassName)
static intgetDimension(Class c)
StringgetPackageName(String fullClassName)
JavaSource[]getSources()
static StringgetTypeName(Class c)
static JavaDocBuilderload(File file)
Note that after loading JavaDocBuilder classloaders need to be re-added.
voidsave(File file)
Listsearch(Searcher searcher)
voidsetDebugLexer(boolean debugLexer)
Forces QDox to dump tokens returned from lexer to System.err.
voidsetDebugParser(boolean debugParser)
Forces QDox to dump parser states to System.out.
voidsetEncoding(String encoding)

Field Detail

classes

private Map classes

classLibrary

private ClassLibrary classLibrary

debugLexer

private boolean debugLexer

debugParser

private boolean debugParser

docletTagFactory

private DocletTagFactory docletTagFactory

encoding

private String encoding

sources

private List sources

Constructor Detail

JavaDocBuilder

public JavaDocBuilder()

JavaDocBuilder

public JavaDocBuilder(DocletTagFactory docletTagFactory)

Method Detail

addClass

private void addClass(JavaClass cls)

addClasses

private void addClasses(JavaSource source)

addClassesRecursive

private void addClassesRecursive(JavaSource javaSource, Set resultSet)

addClassesRecursive

private void addClassesRecursive(JavaClass javaClass, Set set)

addField

private void addField(Field field, ModelBuilder binaryBuilder)

addMethodOrConstructor

private void addMethodOrConstructor(Member member, ModelBuilder binaryBuilder)

addModifiers

private void addModifiers(Set set, int modifier)

addSource

public JavaSource addSource(Reader reader)

addSource

public JavaSource addSource(Reader reader, String sourceInfo)

addSource

public JavaSource addSource(File file)

addSource

public JavaSource addSource(URL url)

addSourceTree

public void addSourceTree(File file)

createBinaryClass

private JavaClass createBinaryClass(String name)

createUnknownClass

private JavaClass createUnknownClass(String name)

getClassByName

public JavaClass getClassByName(String name)

getClasses

public JavaClass[] getClasses()
Returns all the classes found in all the sources, including inner classes and "extra" classes (multiple outer classes defined in the same source file).

Returns: all the classes found in all the sources.

Since: 1.3

getClassLibrary

public ClassLibrary getClassLibrary()

getClassName

private String getClassName(String fullClassName)

getDimension

private static final int getDimension(Class c)

getPackageName

private String getPackageName(String fullClassName)

getSources

public JavaSource[] getSources()

getTypeName

private static String getTypeName(Class c)

load

public static JavaDocBuilder load(File file)
Note that after loading JavaDocBuilder classloaders need to be re-added.

save

public void save(File file)

search

public List search(Searcher searcher)

setDebugLexer

public void setDebugLexer(boolean debugLexer)
Forces QDox to dump tokens returned from lexer to System.err.

setDebugParser

public void setDebugParser(boolean debugParser)
Forces QDox to dump parser states to System.out.

setEncoding

public void setEncoding(String encoding)