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();
addClasses
private void addClasses(JavaSource source)
addClassesRecursive
private void addClassesRecursive(JavaClass javaClass,
Set set)
addClassesRecursive
private void addClassesRecursive(JavaSource javaSource,
Set resultSet)
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(File file)
throws IOException,
FileNotFoundException
addSource
public JavaSource addSource(Reader reader)
addSource
public JavaSource addSource(Reader reader,
String sourceInfo)
addSource
public JavaSource addSource(URL url)
throws IOException,
FileNotFoundException
addSourceTree
public void addSourceTree(File file)
createBinaryClass
private JavaClass createBinaryClass(String name)
createUnknownClass
private JavaClass createUnknownClass(String name)
getClassName
private String getClassName(String fullClassName)
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).
- all the classes found in all the sources.
getDimension
private static final int getDimension(Class c)
getPackageName
private String getPackageName(String fullClassName)
getTypeName
private static String getTypeName(Class c)
load
public static JavaDocBuilder load(File file)
throws IOException
Note that after loading JavaDocBuilder classloaders need to be re-added.
save
public void save(File file)
throws IOException
search
public List search(Searcher searcher)
setEncoding
public void setEncoding(String encoding)