Package com.thoughtworks.qdox
Class JavaDocBuilder
- java.lang.Object
-
- com.thoughtworks.qdox.JavaDocBuilder
-
- All Implemented Interfaces:
java.io.Serializable
public class JavaDocBuilder extends java.lang.Object implements java.io.SerializableSimple 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, Robert Scholte
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJavaDocBuilder.DefaultErrorHandlerstatic interfaceJavaDocBuilder.ErrorHandler
-
Constructor Summary
Constructors Constructor Description JavaDocBuilder()JavaDocBuilder(ClassLibrary classLibrary)JavaDocBuilder(DocletTagFactory docletTagFactory)JavaDocBuilder(DocletTagFactory docletTagFactory, ClassLibrary classLibrary)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JavaSourceaddSource(java.io.File file)JavaSourceaddSource(java.io.Reader reader)JavaSourceaddSource(java.io.Reader reader, java.lang.String sourceInfo)JavaSourceaddSource(java.net.URL url)voidaddSourceTree(java.io.File file)Add all files in a directory (and subdirs, recursively).voidaddSourceTree(java.io.File file, FileVisitor errorHandler)Add all files in a directory (and subdirs, recursively).protected JavaClasscreateBinaryClass(java.lang.String name)protected JavaClasscreateSourceClass(java.lang.String name)protected JavaClasscreateUnknownClass(java.lang.String name)JavaClassgetClassByName(java.lang.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()JavaPackagegetPackageByName(java.lang.String name)JavaPackage[]getPackages()Returns all the packages found in all the sources.JavaSource[]getSources()static JavaDocBuilderload(java.io.File file)Note that after loading JavaDocBuilder classloaders need to be re-added.voidsave(java.io.File file)java.util.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(java.lang.String encoding)voidsetErrorHandler(JavaDocBuilder.ErrorHandler errorHandler)
-
-
-
Constructor Detail
-
JavaDocBuilder
public JavaDocBuilder()
-
JavaDocBuilder
public JavaDocBuilder(DocletTagFactory docletTagFactory)
-
JavaDocBuilder
public JavaDocBuilder(ClassLibrary classLibrary)
-
JavaDocBuilder
public JavaDocBuilder(DocletTagFactory docletTagFactory, ClassLibrary classLibrary)
-
-
Method Detail
-
getClassByName
public JavaClass getClassByName(java.lang.String name)
-
createSourceClass
protected JavaClass createSourceClass(java.lang.String name)
-
createUnknownClass
protected JavaClass createUnknownClass(java.lang.String name)
-
createBinaryClass
protected JavaClass createBinaryClass(java.lang.String name)
-
addSource
public JavaSource addSource(java.io.Reader reader)
-
addSource
public JavaSource addSource(java.io.Reader reader, java.lang.String sourceInfo)
-
addSource
public JavaSource addSource(java.io.File file) throws java.io.IOException, java.io.FileNotFoundException
- Throws:
java.io.IOExceptionjava.io.FileNotFoundException
-
addSource
public JavaSource addSource(java.net.URL url) throws java.io.IOException, java.io.FileNotFoundException
- Throws:
java.io.IOExceptionjava.io.FileNotFoundException
-
setErrorHandler
public void setErrorHandler(JavaDocBuilder.ErrorHandler errorHandler)
-
getSources
public JavaSource[] getSources()
-
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
-
getPackages
public JavaPackage[] getPackages()
Returns all the packages found in all the sources.- Returns:
- all the packages found in all the sources.
- Since:
- 1.9
-
addSourceTree
public void addSourceTree(java.io.File file)
Add all files in a directory (and subdirs, recursively). If a file cannot be read, a RuntimeException shall be thrown.
-
addSourceTree
public void addSourceTree(java.io.File file, FileVisitor errorHandler)Add all files in a directory (and subdirs, recursively). If a file cannot be read, errorHandler will be notified.
-
search
public java.util.List search(Searcher searcher)
-
getClassLibrary
public ClassLibrary getClassLibrary()
-
save
public void save(java.io.File file) throws java.io.IOException- Throws:
java.io.IOException
-
load
public static JavaDocBuilder load(java.io.File file) throws java.io.IOException
Note that after loading JavaDocBuilder classloaders need to be re-added.- Throws:
java.io.IOException
-
setEncoding
public void setEncoding(java.lang.String encoding)
-
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.
-
getPackageByName
public JavaPackage getPackageByName(java.lang.String name)
-
-