com.thoughtworks.qdox
Class JavaDocBuilder
java.lang.Object
com.thoughtworks.qdox.JavaDocBuilder
- All Implemented Interfaces:
- JavaClassCache, java.io.Serializable
- public class JavaDocBuilder
- extends java.lang.Object
- implements java.io.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
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
classes
private java.util.Map classes
classLibrary
private ClassLibrary classLibrary
sources
private java.util.List sources
docletTagFactory
private DocletTagFactory docletTagFactory
encoding
private java.lang.String encoding
JavaDocBuilder
public JavaDocBuilder()
JavaDocBuilder
public JavaDocBuilder(DocletTagFactory docletTagFactory)
addClasses
private void addClasses(JavaSource source)
addClass
private void addClass(JavaClass cls)
getClassByName
public JavaClass getClassByName(java.lang.String name)
- Specified by:
getClassByName
in interface JavaClassCache
createUnknownClass
private JavaClass createUnknownClass(java.lang.String name)
createBinaryClass
private JavaClass createBinaryClass(java.lang.String name)
addModifiers
private void addModifiers(java.util.Set set,
int modifier)
addField
private void addField(java.lang.reflect.Field field,
ModelBuilder binaryBuilder)
addMethodOrConstructor
private void addMethodOrConstructor(java.lang.reflect.Member member,
ModelBuilder binaryBuilder)
getDimension
private static final int getDimension(java.lang.Class c)
getTypeName
private static java.lang.String getTypeName(java.lang.Class c)
getPackageName
private java.lang.String getPackageName(java.lang.String fullClassName)
getClassName
private java.lang.String getClassName(java.lang.String fullClassName)
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.IOException
java.io.FileNotFoundException
addSource
public JavaSource addSource(java.net.URL url)
throws java.io.IOException,
java.io.FileNotFoundException
- Throws:
java.io.IOException
java.io.FileNotFoundException
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
addClassesRecursive
private void addClassesRecursive(JavaSource javaSource,
java.util.Set resultSet)
addClassesRecursive
private void addClassesRecursive(JavaClass javaClass,
java.util.Set set)
addSourceTree
public void addSourceTree(java.io.File file)
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)