Can hide methods and fields.

Better comments in the dot graph.
This commit is contained in:
Diomidis Spinellis 2002-07-26 16:07:22 +00:00
parent 3d28cab780
commit 17449eac22
10 changed files with 130 additions and 60 deletions

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");

View File

@ -126,6 +126,8 @@ class ClassGraph {
private void attributes(FieldDoc f[]) {
for (int i = 0; i < f.length; i++) {
if (hidden(f[i]))
continue;
visibility(f[i]);
opt.w.print(f[i].name());
if (opt.showType)
@ -136,6 +138,8 @@ class ClassGraph {
private void operations(MethodDoc m[]) {
for (int i = 0; i < m.length; i++) {
if (hidden(m[i]))
continue;
visibility(m[i]);
opt.w.print(m[i].name());
if (opt.showType) {
@ -158,7 +162,7 @@ class ClassGraph {
}
/** Return true if c has a @hidden tag associated with it */
private boolean hidden(ClassDoc c) {
private boolean hidden(Doc c) {
Tag tags[] = c.tags("hidden");
return (tags.length > 0);
}
@ -176,6 +180,7 @@ class ClassGraph {
if (toPrint && !hidden(c)) {
// Associate classnames alias
String r = c.toString();
opt.w.println("\t// " + r);
if (!opt.showQualified) {
// Create readable string by stripping leading path
int dotpos = r.lastIndexOf('.');
@ -201,6 +206,7 @@ class ClassGraph {
operations(c.methods());
if (showMembers)
opt.w.print("}\"");
// Use ariali for gif output
if (c.isAbstract())
opt.w.print(", fontname=\"Helvetica-Oblique\"");
opt.w.println("];");
@ -264,7 +270,8 @@ class ClassGraph {
Tag tags[] = from.tags(tagname);
for (int i = 0; i < tags.length; i++) {
String t[] = tokenize(tags[i].text()); // l-src label l-dst target
opt.w.println("\t" + name + " -> " + name(t[3]) + "[" +
opt.w.println("\t// " + from + " " + tagname + " " + t[3]);
opt.w.println("\t" + name + " -> " + name(t[3]) + " [" +
"taillabel=\"" + t[0] + "\", " +
"label=\"" + guillemize(t[1]) + "\", " +
"headlabel=\"" + t[2] + "\", " +
@ -278,14 +285,14 @@ class ClassGraph {
// Print generalization (through the Java superclass)
ClassDoc s = c.superclass();
if (s != null && !s.toString().equals("java.lang.Object")) {
opt.w.print("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + s);
opt.w.println("\t" + name(s) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print generalization (through @extends tags)
Tag tags[] = c.tags("extends");
for (int i = 0; i < tags.length; i++) {
opt.w.print("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
opt.w.println("\t//" + c + " extends " + tags[i].text());
opt.w.println("\t" + name(tags[i].text()) + " -> " + cs + " [dir=back,arrowtail=empty];");
}
// Print realizations (Java interfaces)
ClassDoc ifs[] = c.interfaces();
@ -359,9 +366,9 @@ public class UmlGraph {
"# Generated by $Id$\n" +
"#\n\n" +
"digraph G {\n" +
"edge [fontname=\"Helvetica\",fontsize=8,labelfontname=\"Helvetica\",labelfontsize=8];\n" +
"\tedge [fontname=\"Helvetica\",fontsize=10,labelfontname=\"Helvetica\",labelfontsize=10];\n" +
"\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];"
"\tnode [fontname=\"Helvetica\",fontsize=10,shape=record];"
);
if (opt.horizontal)
opt.w.println("\trankdir=LR;\n\tranksep=1;");