Class ClassLoaderLibrary

java.lang.Object
com.thoughtworks.qdox.library.AbstractClassLibrary
com.thoughtworks.qdox.library.ClassLoaderLibrary
All Implemented Interfaces:
ClassLibrary, Serializable

public class ClassLoaderLibrary extends AbstractClassLibrary
Important!! Be sure to add a classloader with the bootstrap classes.

Normally you can generate your classLibrary like this:
ClassLibrary classLibrary = new ClassLibrary(); classLibrary.addDefaultLoader();

If you want full control over the classLoaders you might want to create your library like:
ClassLibrary classLibrary = new ClassLibrary( ClassLoader.getSystemClassLoader() )

Since:
2.0
See Also:
  • Field Details

    • classLoaders

      private transient List<ClassLoader> classLoaders
    • defaultClassLoadersAdded

      private boolean defaultClassLoadersAdded
    • debugLexer

      private boolean debugLexer
    • debugParser

      private boolean debugParser
    • errorHandler

      private ErrorHandler errorHandler
  • Constructor Details

  • Method Details

    • addClassLoader

      public void addClassLoader(ClassLoader classLoader)
    • addDefaultLoader

      public void addDefaultLoader()
    • resolveJavaClass

      protected JavaClass resolveJavaClass(String name)
      Description copied from class: AbstractClassLibrary
      The implementation should check it's sources to see if it can build a JavaClass Model If not, just return null; Once found it will be mapped, so there's no need to keep a reference to this object.
      Specified by:
      resolveJavaClass in class AbstractClassLibrary
      Parameters:
      name - the fully qualified name
      Returns:
      the resolved JavaClass, otherwise null
    • resolveJavaPackage

      protected JavaPackage resolveJavaPackage(String name)
      Specified by:
      resolveJavaPackage in class AbstractClassLibrary
    • readObject

      private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException
    • containsClassReference

      protected boolean containsClassReference(String name)
      Description copied from class: AbstractClassLibrary
      This method is used to detect if there's a match with this classname. The name could be constructed based on imports and inner class paths.
      Specified by:
      containsClassReference in class AbstractClassLibrary
      Parameters:
      name - the fully qualified name of the class
      Returns:
      true if this ClassLibrary has a reference to this class.
    • setDebugLexer

      public void setDebugLexer(boolean debugLexer)
      Set to true to enable debug logging for the lexer
      Parameters:
      debugLexer - the debug logging flag
    • setDebugParser

      public void setDebugParser(boolean debugParser)
      Set to true to enable debug logging for the parser
      Parameters:
      debugParser - the debug logging flag
    • setErrorHandler

      public void setErrorHandler(ErrorHandler errorHandler)