src/share/classes/com/sun/tools/javadoc/Start.java

changeset 129
944790f83b57
parent 127
d593587c5938
child 174
fdfed22db054
     1.1 --- a/src/share/classes/com/sun/tools/javadoc/Start.java	Sat Oct 04 22:59:05 2008 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javadoc/Start.java	Mon Oct 06 16:57:15 2008 -0700
     1.3 @@ -54,10 +54,8 @@
     1.4      /** Context for this invocation. */
     1.5      private final Context context;
     1.6  
     1.7 -    /**
     1.8 -     * Name of the program
     1.9 -     */
    1.10      private final String defaultDocletClassName;
    1.11 +    private final ClassLoader docletParentClassLoader;
    1.12  
    1.13      private static final String javadocName = "javadoc";
    1.14  
    1.15 @@ -91,21 +89,45 @@
    1.16            PrintWriter warnWriter,
    1.17            PrintWriter noticeWriter,
    1.18            String defaultDocletClassName) {
    1.19 +        this(programName, errWriter, warnWriter, noticeWriter, defaultDocletClassName, null);
    1.20 +    }
    1.21 +
    1.22 +    Start(String programName,
    1.23 +          PrintWriter errWriter,
    1.24 +          PrintWriter warnWriter,
    1.25 +          PrintWriter noticeWriter,
    1.26 +          String defaultDocletClassName,
    1.27 +          ClassLoader docletParentClassLoader) {
    1.28          context = new Context();
    1.29          messager = new Messager(context, programName, errWriter, warnWriter, noticeWriter);
    1.30          this.defaultDocletClassName = defaultDocletClassName;
    1.31 +        this.docletParentClassLoader = docletParentClassLoader;
    1.32      }
    1.33  
    1.34      Start(String programName, String defaultDocletClassName) {
    1.35 +        this(programName, defaultDocletClassName, null);
    1.36 +    }
    1.37 +
    1.38 +    Start(String programName, String defaultDocletClassName,
    1.39 +          ClassLoader docletParentClassLoader) {
    1.40          context = new Context();
    1.41          messager = new Messager(context, programName);
    1.42          this.defaultDocletClassName = defaultDocletClassName;
    1.43 +        this.docletParentClassLoader = docletParentClassLoader;
    1.44 +    }
    1.45 +
    1.46 +    Start(String programName, ClassLoader docletParentClassLoader) {
    1.47 +        this(programName, standardDocletClassName, docletParentClassLoader);
    1.48      }
    1.49  
    1.50      Start(String programName) {
    1.51          this(programName, standardDocletClassName);
    1.52      }
    1.53  
    1.54 +    Start(ClassLoader docletParentClassLoader) {
    1.55 +        this(javadocName, docletParentClassLoader);
    1.56 +    }
    1.57 +
    1.58      Start() {
    1.59          this(javadocName);
    1.60      }
    1.61 @@ -390,7 +412,8 @@
    1.62  
    1.63          // attempt to find doclet
    1.64          docletInvoker = new DocletInvoker(messager,
    1.65 -                                          docletClassName, docletPath);
    1.66 +                                          docletClassName, docletPath,
    1.67 +                                          docletParentClassLoader);
    1.68      }
    1.69  
    1.70      private void setFilter(long filterBits) {

mercurial