1 /*
2  * Create a graphviz graph based on the classes in the specified java
3  * source files.
4  *
5  * (C) Copyright 2002-2005 Diomidis Spinellis
6  *
7  * Permission to use, copy, and distribute this software and its
8  * documentation for any purpose and without fee is hereby granted,
9  * provided that the above copyright notice appear in all copies and that
10  * both that copyright notice and this permission notice appear in
11  * supporting documentation.
12  *
13  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
14  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
15  * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  *
18  */
19 
20 package org.umlgraph.doclet;
21 
22 import com.sun.javadoc.ClassDoc;
23 import com.sun.javadoc.PackageDoc;
24 import com.sun.javadoc.RootDoc;
25 import com.sun.javadoc.SeeTag;
26 import com.sun.javadoc.SourcePosition;
27 import com.sun.javadoc.Tag;
28 
29 /**
30  * RootDoc wrapper that provides WrappedClassDoc instances instead of plain ClassDoc in order
31  * to optimize the overall performance of UMLDoc.
32  * @author wolf
33  */
34 public class WrappedRootDoc implements RootDoc {
35     RootDoc wrapped;
36     WrappedClassDoc[] wrappedClassDocs;
37 
WrappedRootDoc(RootDoc wrapped)38     public WrappedRootDoc(RootDoc wrapped) {
39 	this.wrapped = wrapped;
40 	ClassDoc[] classes = wrapped.classes();
41 	wrappedClassDocs = new WrappedClassDoc[classes.length];
42 	for (int i = 0; i < classes.length; i++) {
43 	    wrappedClassDocs[i] = new WrappedClassDoc(classes[i]);
44 	}
45     }
46 
classes()47     public ClassDoc[] classes() {
48 	return wrappedClassDocs;
49     }
50 
classNamed(String arg0)51     public ClassDoc classNamed(String arg0) {
52 	return wrapped.classNamed(arg0);
53     }
54 
commentText()55     public String commentText() {
56 	return wrapped.commentText();
57     }
58 
compareTo(Object arg0)59     public int compareTo(Object arg0) {
60 	return wrapped.compareTo(arg0);
61     }
62 
firstSentenceTags()63     public Tag[] firstSentenceTags() {
64 	return wrapped.firstSentenceTags();
65     }
66 
getRawCommentText()67     public String getRawCommentText() {
68 	return wrapped.getRawCommentText();
69     }
70 
inlineTags()71     public Tag[] inlineTags() {
72 	return wrapped.inlineTags();
73     }
74 
isAnnotationType()75     public boolean isAnnotationType() {
76 	return wrapped.isAnnotationType();
77     }
78 
isAnnotationTypeElement()79     public boolean isAnnotationTypeElement() {
80 	return wrapped.isAnnotationTypeElement();
81     }
82 
isClass()83     public boolean isClass() {
84 	return wrapped.isClass();
85     }
86 
isConstructor()87     public boolean isConstructor() {
88 	return wrapped.isConstructor();
89     }
90 
isEnum()91     public boolean isEnum() {
92 	return wrapped.isEnum();
93     }
94 
isEnumConstant()95     public boolean isEnumConstant() {
96 	return wrapped.isEnumConstant();
97     }
98 
isError()99     public boolean isError() {
100 	return wrapped.isError();
101     }
102 
isException()103     public boolean isException() {
104 	return wrapped.isException();
105     }
106 
isField()107     public boolean isField() {
108 	return wrapped.isField();
109     }
110 
isIncluded()111     public boolean isIncluded() {
112 	return wrapped.isIncluded();
113     }
114 
isInterface()115     public boolean isInterface() {
116 	return wrapped.isInterface();
117     }
118 
isMethod()119     public boolean isMethod() {
120 	return wrapped.isMethod();
121     }
122 
isOrdinaryClass()123     public boolean isOrdinaryClass() {
124 	return wrapped.isOrdinaryClass();
125     }
126 
name()127     public String name() {
128 	return wrapped.name();
129     }
130 
options()131     public String[][] options() {
132 	return wrapped.options();
133     }
134 
packageNamed(String arg0)135     public PackageDoc packageNamed(String arg0) {
136 	return wrapped.packageNamed(arg0);
137     }
138 
position()139     public SourcePosition position() {
140 	return wrapped.position();
141     }
142 
printError(SourcePosition arg0, String arg1)143     public void printError(SourcePosition arg0, String arg1) {
144 	wrapped.printError(arg0, arg1);
145     }
146 
printError(String arg0)147     public void printError(String arg0) {
148 	wrapped.printError(arg0);
149     }
150 
printNotice(SourcePosition arg0, String arg1)151     public void printNotice(SourcePosition arg0, String arg1) {
152 	wrapped.printNotice(arg0, arg1);
153     }
154 
printNotice(String arg0)155     public void printNotice(String arg0) {
156 	wrapped.printNotice(arg0);
157     }
158 
printWarning(SourcePosition arg0, String arg1)159     public void printWarning(SourcePosition arg0, String arg1) {
160 	wrapped.printWarning(arg0, arg1);
161     }
162 
printWarning(String arg0)163     public void printWarning(String arg0) {
164 	wrapped.printWarning(arg0);
165     }
166 
seeTags()167     public SeeTag[] seeTags() {
168 	return wrapped.seeTags();
169     }
170 
setRawCommentText(String arg0)171     public void setRawCommentText(String arg0) {
172 	wrapped.setRawCommentText(arg0);
173     }
174 
specifiedClasses()175     public ClassDoc[] specifiedClasses() {
176 	return wrapped.specifiedClasses();
177     }
178 
specifiedPackages()179     public PackageDoc[] specifiedPackages() {
180 	return wrapped.specifiedPackages();
181     }
182 
tags()183     public Tag[] tags() {
184 	return wrapped.tags();
185     }
186 
tags(String arg0)187     public Tag[] tags(String arg0) {
188 	return wrapped.tags(arg0);
189     }
190 
191 }
192