src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java

changeset 1410
bfec2a1cc869
parent 1359
25e14ad23cef
child 1985
0e6577980181
equal deleted inserted replaced
1409:33abf479f202 1410:bfec2a1cc869
50 * @author Jamie Ho 50 * @author Jamie Ho
51 * @since 1.5 51 * @since 1.5
52 */ 52 */
53 53
54 public abstract class AbstractBuilder { 54 public abstract class AbstractBuilder {
55 public static class Context {
56 /**
57 * The configuration used in this run of the doclet.
58 */
59 final Configuration configuration;
60
61 /**
62 * Keep track of which packages we have seen for
63 * efficiency purposes. We don't want to copy the
64 * doc files multiple times for a single package.
65 */
66 final Set<String> containingPackagesSeen;
67
68 /**
69 * Shared parser for the builder XML file
70 */
71 final LayoutParser layoutParser;
72
73 Context(Configuration configuration,
74 Set<String> containingPackagesSeen,
75 LayoutParser layoutParser) {
76 this.configuration = configuration;
77 this.containingPackagesSeen = containingPackagesSeen;
78 this.layoutParser = layoutParser;
79 }
80 }
55 81
56 /** 82 /**
57 * The configuration used in this run of the doclet. 83 * The configuration used in this run of the doclet.
58 */ 84 */
59 protected Configuration configuration; 85 protected final Configuration configuration;
60 86
61 /** 87 /**
62 * Keep track of which packages we have seen for 88 * Keep track of which packages we have seen for
63 * efficiency purposes. We don't want to copy the 89 * efficiency purposes. We don't want to copy the
64 * doc files multiple times for a single package. 90 * doc files multiple times for a single package.
65 */ 91 */
66 protected static Set<String> containingPackagesSeen; 92 protected final Set<String> containingPackagesSeen;
93
94 protected final LayoutParser layoutParser;
67 95
68 /** 96 /**
69 * True if we want to print debug output. 97 * True if we want to print debug output.
70 */ 98 */
71 protected static final boolean DEBUG = false; 99 protected static final boolean DEBUG = false;
73 /** 101 /**
74 * Construct a Builder. 102 * Construct a Builder.
75 * @param configuration the configuration used in this run 103 * @param configuration the configuration used in this run
76 * of the doclet. 104 * of the doclet.
77 */ 105 */
78 public AbstractBuilder(Configuration configuration) { 106 public AbstractBuilder(Context c) {
79 this.configuration = configuration; 107 this.configuration = c.configuration;
108 this.containingPackagesSeen = c.containingPackagesSeen;
109 this.layoutParser = c.layoutParser;
80 } 110 }
81 111
82 /** 112 /**
83 * Return the name of this builder. 113 * Return the name of this builder.
84 * 114 *

mercurial