Class JavaDocBuilder

  • All Implemented Interfaces:
    java.io.Serializable

    public class JavaDocBuilder
    extends java.lang.Object
    implements java.io.Serializable
    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, Robert Scholte
    See Also:
    Serialized Form
    • Constructor Detail

      • JavaDocBuilder

        public JavaDocBuilder()
      • JavaDocBuilder

        public JavaDocBuilder​(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.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
      • 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)
      • 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)