Produce simpler dot files, reduce code duplication in edge generation.

This commit is contained in:
Erich Schubert 2018-10-27 21:28:41 +02:00
parent 8b39c4614f
commit 1d03695f8e
40 changed files with 806 additions and 742 deletions

View File

@ -21,6 +21,7 @@ package org.umlgraph.doclet;
import static org.umlgraph.doclet.StringUtil.buildRelativePathFromClassNames; import static org.umlgraph.doclet.StringUtil.buildRelativePathFromClassNames;
import static org.umlgraph.doclet.StringUtil.escape; import static org.umlgraph.doclet.StringUtil.escape;
import static org.umlgraph.doclet.StringUtil.fmt;
import static org.umlgraph.doclet.StringUtil.guilWrap; import static org.umlgraph.doclet.StringUtil.guilWrap;
import static org.umlgraph.doclet.StringUtil.guillemize; import static org.umlgraph.doclet.StringUtil.guillemize;
import static org.umlgraph.doclet.StringUtil.htmlNewline; import static org.umlgraph.doclet.StringUtil.htmlNewline;
@ -144,13 +145,13 @@ class ClassGraph {
} }
private static int qualifiedNameInner(Options opt, String r, StringBuilder buf, int last, boolean strip) { private static int qualifiedNameInner(Options opt, String r, StringBuilder buf, int last, boolean strip) {
boolean guessPackage = last < r.length() && Character.isLowerCase(r.charAt(last)); strip = strip && last < r.length() && Character.isLowerCase(r.charAt(last));
for (int i = last; i < r.length(); i++) { for (int i = last; i < r.length(); i++) {
char c = r.charAt(i); char c = r.charAt(i);
if (c == '.' || c == '$') { if (c == '.' || c == '$') {
if (strip && guessPackage) if (strip)
last = i + 1; // skip dot last = i + 1; // skip dot
guessPackage = guessPackage && last < r.length() && Character.isLowerCase(r.charAt(last)); strip = strip && last < r.length() && Character.isLowerCase(r.charAt(last));
continue; continue;
} }
if (Character.isJavaIdentifierPart(c)) if (Character.isJavaIdentifierPart(c))
@ -275,9 +276,13 @@ class ClassGraph {
/** Print the common class node's properties */ /** Print the common class node's properties */
private void nodeProperties(Options opt) { private void nodeProperties(Options opt) {
w.print(", fontname=\"" + opt.nodeFontName + "\""); Options def = opt.getGlobalOptions();
w.print(", fontcolor=\"" + opt.nodeFontColor + "\""); if (opt.nodeFontName != def.nodeFontName)
w.print(", fontsize=" + opt.nodeFontSize); w.print(",fontname=\"" + opt.nodeFontName + "\"");
if (opt.nodeFontColor != def.nodeFontColor)
w.print(",fontcolor=\"" + opt.nodeFontColor + "\"");
if (opt.nodeFontSize != def.nodeFontSize)
w.print(",fontsize=" + fmt(opt.nodeFontSize));
w.print(opt.shape.style); w.print(opt.shape.style);
w.println("];"); w.println("];");
} }
@ -361,9 +366,9 @@ class ClassGraph {
if (c.isEnum() && !opt.showEnumerations) if (c.isEnum() && !opt.showEnumerations)
return ci.name; return ci.name;
// Associate classname's alias // Associate classname's alias
w.println("\t// " + className); w.println(linePrefix + "// " + className);
// Create label // Create label
w.print("\t" + ci.name + " [label="); w.print(linePrefix + ci.name + " [label=");
boolean showMembers = boolean showMembers =
(opt.showAttributes && c.fields().length > 0) || (opt.showAttributes && c.fields().length > 0) ||
@ -371,7 +376,8 @@ class ClassGraph {
(opt.showOperations && c.methods().length > 0) || (opt.showOperations && c.methods().length > 0) ||
(opt.showConstructors && c.constructors().length > 0); (opt.showConstructors && c.constructors().length > 0);
externalTableStart(opt, c.qualifiedName(), classToUrl(c, rootClass)); final String url = classToUrl(c, rootClass);
externalTableStart(opt, c.qualifiedName(), url);
firstInnerTableStart(opt); firstInnerTableStart(opt);
if (c.isInterface()) if (c.isInterface())
@ -447,22 +453,23 @@ class ClassGraph {
} }
} }
externalTableEnd(); externalTableEnd();
w.print(", URL=\"" + classToUrl(c, rootClass) + "\""); if (url != null)
w.print(", URL=\"" + url + "\"");
nodeProperties(opt); nodeProperties(opt);
// If needed, add a note for this node // If needed, add a note for this node
int ni = 0; int ni = 0;
for (Tag t : c.tags("note")) { for (Tag t : c.tags("note")) {
String noteName = "n" + ni + "c" + ci.name; String noteName = "n" + ni + "c" + ci.name;
w.print("\t// Note annotation\n"); w.print(linePrefix + "// Note annotation\n");
w.print("\t" + noteName + " [label="); w.print(linePrefix + noteName + " [label=");
externalTableStart(UmlGraph.getCommentOptions(), c.qualifiedName(), classToUrl(c, rootClass)); externalTableStart(UmlGraph.getCommentOptions(), c.qualifiedName(), url);
innerTableStart(); innerTableStart();
tableLine(Align.LEFT, Font.CLASS.wrap(UmlGraph.getCommentOptions(), htmlNewline(escape(t.text())))); tableLine(Align.LEFT, Font.CLASS.wrap(UmlGraph.getCommentOptions(), htmlNewline(escape(t.text()))));
innerTableEnd(); innerTableEnd();
externalTableEnd(); externalTableEnd();
nodeProperties(UmlGraph.getCommentOptions()); nodeProperties(UmlGraph.getCommentOptions());
w.print("\t" + noteName + " -> " + relationNode(c) + "[arrowhead=none];\n"); w.print(linePrefix + noteName + " -> " + relationNode(c) + "[arrowhead=none];\n");
ni++; ni++;
} }
ci.nodePrinted = true; ci.nodePrinted = true;
@ -479,13 +486,12 @@ class ClassGraph {
String tagname = rt.lower; String tagname = rt.lower;
for (Tag tag : from.tags(tagname)) { for (Tag tag : from.tags(tagname)) {
String t[] = tokenize(tag.text()); // l-src label l-dst target String t[] = tokenize(tag.text()); // l-src label l-dst target
t = t.length == 1 ? new String[] { "-", "-", "-", t[0] } : t; // Shorthand
if (t.length != 4) { if (t.length != 4) {
System.err.println("Error in " + from + "\n" + tagname + " expects four fields (l-src label l-dst target): " + tag.text()); System.err.println("Error in " + from + "\n" + tagname + " expects four fields (l-src label l-dst target): " + tag.text());
return; return;
} }
ClassDoc to = from.findClass(t[3]); ClassDoc to = from.findClass(t[3]);
if (to != null) { if (to != null) {
if(hidden(to)) if(hidden(to))
continue; continue;
@ -507,19 +513,32 @@ class ClassGraph {
*/ */
private void relation(Options opt, RelationType rt, ClassDoc from, String fromName, private void relation(Options opt, RelationType rt, ClassDoc from, String fromName,
ClassDoc to, String toName, String tailLabel, String label, String headLabel) { ClassDoc to, String toName, String tailLabel, String label, String headLabel) {
tailLabel = (tailLabel != null && !tailLabel.isEmpty()) ? ",taillabel=\"" + tailLabel + "\"" : "";
label = (label != null && !label.isEmpty()) ? ",label=\"" + guillemize(opt, label) + "\"" : "";
headLabel = (headLabel != null && !headLabel.isEmpty()) ? ",headlabel=\"" + headLabel + "\"" : "";
boolean unLabeled = tailLabel.isEmpty() && label.isEmpty() && headLabel.isEmpty();
String n1 = relationNode(from, fromName), n2 = relationNode(to, toName);
// For ranking we need to output extends/implements backwards.
if (rt.backorder) { // Swap:
String tmp = n1;
n1 = n2;
n2 = tmp;
tmp = tailLabel;
tailLabel = headLabel;
headLabel = tmp;
}
Options def = opt.getGlobalOptions();
// print relation // print relation
w.println("\t// " + fromName + " " + rt.lower + " " + toName); w.println(linePrefix + "// " + fromName + " " + rt.lower + " " + toName);
w.println("\t" + relationNode(from, fromName) + " -> " + relationNode(to, toName) + " [" + w.println(linePrefix + n1 + " -> " + n2 + " [" + rt.style +
"taillabel=\"" + tailLabel + "\", " + (opt.edgeColor != def.edgeColor ? ",color=\"" + opt.edgeColor + "\"" : "") +
((label == null || label.isEmpty()) ? "label=\"\", " : "label=\"" + guillemize(opt, label) + "\", ") + (unLabeled ? "" :
"headlabel=\"" + headLabel + "\", " + (opt.edgeFontName != def.edgeFontName ? ",fontname=\"" + opt.edgeFontName + "\"" : "") +
"fontname=\"" + opt.edgeFontName + "\", " + (opt.edgeFontColor != def.edgeFontColor ? ",fontcolor=\"" + opt.edgeFontColor + "\"" : "") +
"fontcolor=\"" + opt.edgeFontColor + "\", " + (opt.edgeFontSize != def.edgeFontSize ? ",fontsize=" + fmt(opt.edgeFontSize) : "")) +
"fontsize=" + opt.edgeFontSize + ", " + tailLabel + label + headLabel +
"color=\"" + opt.edgeColor + "\", " + "];");
rt.style + "];"
);
// update relation info // update relation info
RelationDirection d = RelationDirection.BOTH; RelationDirection d = RelationDirection.BOTH;
@ -569,44 +588,28 @@ class ClassGraph {
Options opt = optionProvider.getOptionsFor(c); Options opt = optionProvider.getOptionsFor(c);
if (hidden(c) || c.name().equals("")) // avoid phantom classes, they may pop up when the source uses annotations if (hidden(c) || c.name().equals("")) // avoid phantom classes, they may pop up when the source uses annotations
return; return;
String className = c.toString();
// Print generalization (through the Java superclass) // Print generalization (through the Java superclass)
Type s = c.superclassType(); Type s = c.superclassType();
ClassDoc sc = s != null && !s.qualifiedTypeName().equals(Object.class.getName()) ? s.asClassDoc() : null; ClassDoc sc = s != null && !s.qualifiedTypeName().equals(Object.class.getName()) ? s.asClassDoc() : null;
if (sc != null && !c.isEnum() && !hidden(sc)) { if (sc != null && !c.isEnum() && !hidden(sc))
w.println("\t//" + c + " extends " + s + "\n" + relation(opt, RelationType.EXTENDS, c, sc, null, null, null);
"\t" + relationNode(sc) + " -> " + relationNode(c) +
" [" + RelationType.EXTENDS.style + "];");
getClassInfo(className).addRelation(sc.toString(), RelationType.EXTENDS, RelationDirection.OUT);
getClassInfo(sc.toString()).addRelation(className, RelationType.EXTENDS, RelationDirection.IN);
}
// Print generalizations (through @extends tags) // Print generalizations (through @extends tags)
for (Tag tag : c.tags("extends")) for (Tag tag : c.tags("extends"))
if (!hidden(tag.text())) { if (!hidden(tag.text()))
ClassDoc from = c.findClass(tag.text()); relation(opt, RelationType.EXTENDS, c, c.findClass(tag.text()), null, null, null);
w.println("\t//" + c + " extends " + tag.text() + "\n" +
"\t" + relationNode(from, tag.text()) + " -> " + relationNode(c) + " [" + RelationType.EXTENDS.style + "];");
getClassInfo(className).addRelation(tag.text(), RelationType.EXTENDS, RelationDirection.OUT);
getClassInfo(tag.text()).addRelation(className, RelationType.EXTENDS, RelationDirection.IN);
}
// Print realizations (Java interfaces) // Print realizations (Java interfaces)
for (Type iface : c.interfaceTypes()) { for (Type iface : c.interfaceTypes()) {
ClassDoc ic = iface.asClassDoc(); ClassDoc ic = iface.asClassDoc();
if (!hidden(ic)) { if (!hidden(ic))
w.println("\t//" + c + " implements " + ic + "\n\t" + relationNode(ic) + " -> " + relationNode(c) relation(opt, RelationType.IMPLEMENTS, c, ic, null, null, null);
+ " [" + RelationType.IMPLEMENTS.style + "];");
getClassInfo(className).addRelation(ic.toString(), RelationType.IMPLEMENTS, RelationDirection.OUT);
getClassInfo(ic.toString()).addRelation(className, RelationType.IMPLEMENTS, RelationDirection.IN);
}
} }
// Print other associations // Print other associations
allRelation(opt, RelationType.ASSOC, c);
allRelation(opt, RelationType.NAVASSOC, c);
allRelation(opt, RelationType.HAS, c);
allRelation(opt, RelationType.NAVHAS, c);
allRelation(opt, RelationType.COMPOSED, c); allRelation(opt, RelationType.COMPOSED, c);
allRelation(opt, RelationType.NAVCOMPOSED, c); allRelation(opt, RelationType.NAVCOMPOSED, c);
allRelation(opt, RelationType.HAS, c);
allRelation(opt, RelationType.NAVHAS, c);
allRelation(opt, RelationType.ASSOC, c);
allRelation(opt, RelationType.NAVASSOC, c);
allRelation(opt, RelationType.DEPEND, c); allRelation(opt, RelationType.DEPEND, c);
} }
@ -623,8 +626,8 @@ class ClassGraph {
Options opt = optionProvider.getOptionsFor(className); Options opt = optionProvider.getOptionsFor(className);
if(opt.matchesHideExpression(className)) if(opt.matchesHideExpression(className))
continue; continue;
w.println("\t// " + className); w.println(linePrefix + "// " + className);
w.print("\t" + info.name + "[label="); w.print(linePrefix + info.name + "[label=");
externalTableStart(opt, className, classToUrl(className)); externalTableStart(opt, className, classToUrl(className));
innerTableStart(); innerTableStart();
String qualifiedName = qualifiedName(opt, className); String qualifiedName = qualifiedName(opt, className);
@ -641,7 +644,7 @@ class ClassGraph {
innerTableEnd(); innerTableEnd();
externalTableEnd(); externalTableEnd();
if (className == null || className.length() == 0) if (className == null || className.length() == 0)
w.print(", URL=\"" + classToUrl(className) + "\""); w.print(",URL=\"" + classToUrl(className) + "\"");
nodeProperties(opt); nodeProperties(opt);
} }
} }
@ -892,19 +895,24 @@ class ClassGraph {
Version.VERSION + " (http://www.spinellis.gr/umlgraph/)\n" + Version.VERSION + " (http://www.spinellis.gr/umlgraph/)\n" +
"#\n\n" + "#\n\n" +
"digraph G {\n" + "digraph G {\n" +
"\tedge [fontname=\"" + opt.edgeFontName + linePrefix + "graph [fontnames=\"svg\"]\n" +
"\",fontsize=10,labelfontname=\"" + opt.edgeFontName + linePrefix + "edge [fontname=\"" + opt.edgeFontName +
"\",labelfontsize=10];\n" + "\",fontsize=" + fmt(opt.edgeFontSize) +
"\tnode [fontname=\"" + opt.nodeFontName + ",labelfontname=\"" + opt.edgeFontName +
"\",fontsize=10,shape=plaintext];" "\",labelfontsize=" + fmt(opt.edgeFontSize) +
",color=\"" + opt.edgeColor + "\"];\n" +
linePrefix + "node [fontname=\"" + opt.nodeFontName +
"\",fontcolor=\"" + opt.nodeFontColor +
"\",fontsize=" + fmt(opt.nodeFontSize) +
",shape=plaintext];"
); );
w.println("\tnodesep=" + opt.nodeSep + ";"); w.println(linePrefix + "nodesep=" + opt.nodeSep + ";");
w.println("\tranksep=" + opt.rankSep + ";"); w.println(linePrefix + "ranksep=" + opt.rankSep + ";");
if (opt.horizontal) if (opt.horizontal)
w.println("\trankdir=LR;"); w.println(linePrefix + "rankdir=LR;");
if (opt.bgColor != null) if (opt.bgColor != null)
w.println("\tbgcolor=\"" + opt.bgColor + "\";\n"); w.println(linePrefix + "bgcolor=\"" + opt.bgColor + "\";\n");
} }
/** Dot epilogue */ /** Dot epilogue */
@ -953,9 +961,9 @@ class ClassGraph {
} }
private void tableLine(Align align, String text) { private void tableLine(Align align, String text) {
w.print("<tr><td align=\"" + align.lower + "\" balign=\"" + align.lower + "\">" // w.print("<tr><td align=\"" + align.lower + "\" balign=\"" + align.lower + "\"> " //
+ text // MAY contain markup! + text // MAY contain markup!
+ "</td></tr>" + linePostfix); + " </td></tr>" + linePostfix);
} }
private static class FieldRelationInfo { private static class FieldRelationInfo {

View File

@ -6,21 +6,29 @@ package org.umlgraph.doclet;
* @author Erich Schubert * @author Erich Schubert
*/ */
public enum RelationType { public enum RelationType {
ASSOC("arrowhead=none"), // DEPEND("arrowhead=open,style=dashed,weight=0", false), // Weakest
NAVASSOC("arrowhead=open"), // NAVASSOC("arrowhead=open,weight=1", false), //
HAS("arrowhead=none, arrowtail=ediamond, dir=both"), // ASSOC("arrowhead=none,weight=2", false), //
NAVHAS("arrowhead=open, arrowtail=ediamond, dir=both"), // NAVHAS("arrowhead=open,arrowtail=ediamond,dir=both,weight=3", false), //
COMPOSED("arrowhead=none, arrowtail=diamond, dir=both"), // HAS("arrowhead=none,arrowtail=ediamond,dir=back,weight=4", false), //
NAVCOMPOSED("arrowhead=open, arrowtail=diamond, dir=both"), // NAVCOMPOSED("arrowhead=open,arrowtail=diamond,dir=both,weight=5", false), //
DEPEND("arrowhead=open, style=dashed"), // COMPOSED("arrowhead=none,arrowtail=diamond,dir=back,weight=6", false), //
EXTENDS("arrowtail=empty, dir=back"), // IMPLEMENTS("arrowtail=empty,style=dashed,dir=back,weight=9", true), //
IMPLEMENTS("arrowtail=empty, dir=back, style=dashed"); EXTENDS("arrowtail=empty,dir=back,weight=10", true);
public final String lower, style; /** Lower case version of the label */
public final String lower;
/** Graphviz style */
public final String style;
/** Backwards edges with respect to node ranking */
public final boolean backorder;
/** Enum constructors must be private */ /** Enum constructors must be private */
private RelationType(String style) { private RelationType(String style, boolean backorder) {
this.lower = toString().toLowerCase(); this.lower = toString().toLowerCase();
this.style = style; this.style = style;
this.backorder = backorder;
} }
} }

View File

@ -216,4 +216,16 @@ class StringUtil {
start = className.lastIndexOf('.', start - 1); start = className.lastIndexOf('.', start - 1);
} }
} }
/**
* Format a double to a string.
* <p>
* Avoids printing "10.0" for exact values like 10.
*
* @param val Value
* @return Formatted value
*/
public static String fmt(double val) {
return val == Math.round(val) ? Long.toString((long) val) : Double.toString(val);
}
} }

View File

@ -166,7 +166,7 @@ public class DotDiff {
int closedBracketIdx = line.lastIndexOf(']'); int closedBracketIdx = line.lastIndexOf(']');
int arrowIdx = line.indexOf("->"); int arrowIdx = line.indexOf("->");
if (openBrackedIdx < 0 && closedBracketIdx < 0 || line.startsWith("edge") if (openBrackedIdx < 0 && closedBracketIdx < 0 || line.startsWith("edge")
|| line.startsWith("node")) || line.startsWith("node") || line.startsWith("graph"))
extraLines.add(line); extraLines.add(line);
else if (arrowIdx > 0 && arrowIdx < openBrackedIdx) { // that's an arc else if (arrowIdx > 0 && arrowIdx < openBrackedIdx) { // that's an arc
arcLines.add(line); arcLines.add(line);

View File

@ -5,21 +5,22 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// test.AbstractNode ranksep=0.5;
c1 [label=<<table title="test.AbstractNode" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> AbstractNode </i></td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> abstractMethod() </i></font></td></tr><tr><td align="left" balign="left"> concreteMethod() </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // test.AbstractNode
// test.InnerNode c1 [label=<<table title="test.AbstractNode" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> AbstractNode </i></td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"><i> abstractMethod() </i></td></tr><tr><td align="left" balign="left"> concreteMethod() </td></tr></table></td></tr></table>>];
c2 [label=<<table title="test.InnerNode" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InnerNode </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // test.InnerNode
// test.Leaf c2 [label=<<table title="test.InnerNode" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InnerNode </td></tr></table></td></tr></table>>];
c3 [label=<<table title="test.Leaf" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Leaf </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // test.Leaf
//test.InnerNode extends test.AbstractNode c3 [label=<<table title="test.Leaf" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Leaf </td></tr></table></td></tr></table>>];
c1:p -> c2:p [dir=back,arrowtail=empty]; //test.InnerNode extends test.AbstractNode
// test.InnerNode COMPOSED test.AbstractNode c1:p -> c2:p [arrowtail=empty,dir=back,weight=10];
c2:p -> c1:p [taillabel="1", label="has", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // test.InnerNode composed test.AbstractNode
//test.Leaf extends test.AbstractNode c2:p -> c1:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", label="has", headlabel="*"];
c1:p -> c3:p [dir=back,arrowtail=empty]; //test.Leaf extends test.AbstractNode
c1:p -> c3:p [arrowtail=empty,dir=back,weight=10];
} }

View File

@ -5,45 +5,46 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// A ranksep=0.5;
c66 [label=<<table title="A" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> A </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> first : B </td></tr><tr><td align="left" balign="left"> second : B </td></tr><tr><td align="left" balign="left"> third : C </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // A
// B c66 [label=<<table title="A" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> A </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> first : B </td></tr><tr><td align="left" balign="left"> second : B </td></tr><tr><td align="left" balign="left"> third : C </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c67 [label=<<table title="B" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> B </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> doSomething(b : B, c : C) : A </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // B
// C c67 [label=<<table title="B" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> B </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> doSomething(b : B, c : C) : A </td></tr></table></td></tr></table>>];
c68 [label=<<table title="C" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> C </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> collectionOfA : List&lt;A&gt; </td></tr><tr><td align="left" balign="left"> collectionOfB : ArrayList&lt;B&gt; </td></tr><tr><td align="left" balign="left"> mapOfD : Map&lt;String, D&gt; </td></tr><tr><td align="left" balign="left"> childs : C[] </td></tr><tr><td align="left" balign="left"> anOpaqueList : List&lt;&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // C
// MyFunnyList<T, V> c68 [label=<<table title="C" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> C </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> collectionOfA : List&lt;A&gt; </td></tr><tr><td align="left" balign="left"> collectionOfB : ArrayList&lt;B&gt; </td></tr><tr><td align="left" balign="left"> mapOfD : Map&lt;String, D&gt; </td></tr><tr><td align="left" balign="left"> childs : C[] </td></tr><tr><td align="left" balign="left"> anOpaqueList : List&lt;&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c69 [label=<<table title="MyFunnyList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> MyFunnyList&lt;T, V&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> myField : V </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // MyFunnyList<T, V>
// MyList c69 [label=<<table title="MyFunnyList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> MyFunnyList&lt;T, V&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> myField : V </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c70 [label=<<table title="MyList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> MyList </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // MyList
// D c70 [label=<<table title="MyList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> MyList </td></tr></table></td></tr></table>>];
c71 [label=<<table title="D" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> D </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> anotherListOfA : MyList </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // D
//MyFunnyList<T, V> extends java.util.ArrayList<T> c71 [label=<<table title="D" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> D </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> anotherListOfA : MyList </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c72:p -> c69:p [dir=back,arrowtail=empty]; //MyFunnyList<T, V> extends java.util.ArrayList<T>
//MyList extends MyFunnyList<A, B> c72:p -> c69:p [arrowtail=empty,dir=back,weight=10];
c69:p -> c70:p [dir=back,arrowtail=empty]; //MyList extends MyFunnyList<A, B>
// A HAS B c69:p -> c70:p [arrowtail=empty,dir=back,weight=10];
c66:p -> c67:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both]; // A has B
// A HAS C c66:p -> c67:p [arrowhead=none,arrowtail=ediamond,dir=back,weight=4];
c66:p -> c68:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both]; // A has C
// C NAVASSOC B c66:p -> c68:p [arrowhead=none,arrowtail=ediamond,dir=back,weight=4];
c68:p -> c67:p [taillabel="", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // C navassoc B
// C NAVASSOC D c68:p -> c67:p [arrowhead=open,weight=1,headlabel="*"];
c68:p -> c71:p [taillabel="", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // C navassoc D
// C NAVASSOC C c68:p -> c71:p [arrowhead=open,weight=1,headlabel="*"];
c68:p -> c68:p [taillabel="", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // C navassoc C
// C NAVASSOC java.util.List<E> c68:p -> c68:p [arrowhead=open,weight=1,headlabel="*"];
c68:p -> c73:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // C navassoc java.util.List<E>
// D NAVASSOC MyList c68:p -> c73:p [arrowhead=open,weight=1];
c71:p -> c70:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // D navassoc MyList
// B DEPEND A c71:p -> c70:p [arrowhead=open,weight=1];
c67:p -> c66:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed]; // B depend A
// java.util.List<E> c67:p -> c66:p [arrowhead=open,style=dashed,weight=0];
c73 [label=<<table title="java.util.List" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> List&lt;E&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> size() : int </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> isEmpty() : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> contains(arg0 : Object) : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> iterator() : Iterator&lt;E&gt; </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> toArray() : Object[] </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> toArray(arg0 : T[]) : T[] </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> add(arg0 : E) : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> remove(arg0 : Object) : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> containsAll(arg0 : Collection&lt;?&gt;) : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> addAll(arg0 : Collection&lt;?&gt;) : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> addAll(arg0 : int, arg1 : Collection&lt;?&gt;) : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> removeAll(arg0 : Collection&lt;?&gt;) : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> retainAll(arg0 : Collection&lt;?&gt;) : boolean </i></font></td></tr><tr><td align="left" balign="left"> replaceAll(arg0 : UnaryOperator&lt;E&gt;) </td></tr><tr><td align="left" balign="left"> sort(arg0 : Comparator&lt;?&gt;) </td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> clear() </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> equals(arg0 : Object) : boolean </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> hashCode() : int </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> get(arg0 : int) : E </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> set(arg0 : int, arg1 : E) : E </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> add(arg0 : int, arg1 : E) </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> remove(arg0 : int) : E </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> indexOf(arg0 : Object) : int </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> lastIndexOf(arg0 : Object) : int </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> listIterator() : ListIterator&lt;E&gt; </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> listIterator(arg0 : int) : ListIterator&lt;E&gt; </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> subList(arg0 : int, arg1 : int) : List&lt;E&gt; </i></font></td></tr><tr><td align="left" balign="left"> spliterator() : Spliterator&lt;E&gt; </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/util/List.html", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // java.util.List<E>
// java.util.ArrayList<E> c73 [label=<<table title="java.util.List" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> List&lt;E&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"><i> size() : int </i></td></tr><tr><td align="left" balign="left"><i> isEmpty() : boolean </i></td></tr><tr><td align="left" balign="left"><i> contains(arg0 : Object) : boolean </i></td></tr><tr><td align="left" balign="left"><i> iterator() : Iterator&lt;E&gt; </i></td></tr><tr><td align="left" balign="left"><i> toArray() : Object[] </i></td></tr><tr><td align="left" balign="left"><i> toArray(arg0 : T[]) : T[] </i></td></tr><tr><td align="left" balign="left"><i> add(arg0 : E) : boolean </i></td></tr><tr><td align="left" balign="left"><i> remove(arg0 : Object) : boolean </i></td></tr><tr><td align="left" balign="left"><i> containsAll(arg0 : Collection&lt;?&gt;) : boolean </i></td></tr><tr><td align="left" balign="left"><i> addAll(arg0 : Collection&lt;?&gt;) : boolean </i></td></tr><tr><td align="left" balign="left"><i> addAll(arg0 : int, arg1 : Collection&lt;?&gt;) : boolean </i></td></tr><tr><td align="left" balign="left"><i> removeAll(arg0 : Collection&lt;?&gt;) : boolean </i></td></tr><tr><td align="left" balign="left"><i> retainAll(arg0 : Collection&lt;?&gt;) : boolean </i></td></tr><tr><td align="left" balign="left"> replaceAll(arg0 : UnaryOperator&lt;E&gt;) </td></tr><tr><td align="left" balign="left"> sort(arg0 : Comparator&lt;?&gt;) </td></tr><tr><td align="left" balign="left"><i> clear() </i></td></tr><tr><td align="left" balign="left"><i> equals(arg0 : Object) : boolean </i></td></tr><tr><td align="left" balign="left"><i> hashCode() : int </i></td></tr><tr><td align="left" balign="left"><i> get(arg0 : int) : E </i></td></tr><tr><td align="left" balign="left"><i> set(arg0 : int, arg1 : E) : E </i></td></tr><tr><td align="left" balign="left"><i> add(arg0 : int, arg1 : E) </i></td></tr><tr><td align="left" balign="left"><i> remove(arg0 : int) : E </i></td></tr><tr><td align="left" balign="left"><i> indexOf(arg0 : Object) : int </i></td></tr><tr><td align="left" balign="left"><i> lastIndexOf(arg0 : Object) : int </i></td></tr><tr><td align="left" balign="left"><i> listIterator() : ListIterator&lt;E&gt; </i></td></tr><tr><td align="left" balign="left"><i> listIterator(arg0 : int) : ListIterator&lt;E&gt; </i></td></tr><tr><td align="left" balign="left"><i> subList(arg0 : int, arg1 : int) : List&lt;E&gt; </i></td></tr><tr><td align="left" balign="left"> spliterator() : Spliterator&lt;E&gt; </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/util/List.html"];
c72 [label=<<table title="java.util.ArrayList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ArrayList&lt;E&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> serialVersionUID : long </td></tr><tr><td align="left" balign="left"> DEFAULT_CAPACITY : int </td></tr><tr><td align="left" balign="left"> EMPTY_ELEMENTDATA : Object[] </td></tr><tr><td align="left" balign="left"> DEFAULTCAPACITY_EMPTY_ELEMENTDATA : Object[] </td></tr><tr><td align="left" balign="left"> elementData : Object[] </td></tr><tr><td align="left" balign="left"> size : int </td></tr><tr><td align="left" balign="left"> MAX_ARRAY_SIZE : int </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> trimToSize() </td></tr><tr><td align="left" balign="left"> ensureCapacity(arg0 : int) </td></tr><tr><td align="left" balign="left"> ensureCapacityInternal(arg0 : int) </td></tr><tr><td align="left" balign="left"> ensureExplicitCapacity(arg0 : int) </td></tr><tr><td align="left" balign="left"> grow(arg0 : int) </td></tr><tr><td align="left" balign="left"> hugeCapacity(arg0 : int) : int </td></tr><tr><td align="left" balign="left"> size() : int </td></tr><tr><td align="left" balign="left"> isEmpty() : boolean </td></tr><tr><td align="left" balign="left"> contains(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left"> indexOf(arg0 : Object) : int </td></tr><tr><td align="left" balign="left"> lastIndexOf(arg0 : Object) : int </td></tr><tr><td align="left" balign="left"> clone() : Object </td></tr><tr><td align="left" balign="left"> toArray() : Object[] </td></tr><tr><td align="left" balign="left"> toArray(arg0 : T[]) : T[] </td></tr><tr><td align="left" balign="left"> elementData(arg0 : int) : E </td></tr><tr><td align="left" balign="left"> get(arg0 : int) : E </td></tr><tr><td align="left" balign="left"> set(arg0 : int, arg1 : E) : E </td></tr><tr><td align="left" balign="left"> add(arg0 : E) : boolean </td></tr><tr><td align="left" balign="left"> add(arg0 : int, arg1 : E) </td></tr><tr><td align="left" balign="left"> remove(arg0 : int) : E </td></tr><tr><td align="left" balign="left"> remove(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left"> fastRemove(arg0 : int) </td></tr><tr><td align="left" balign="left"> clear() </td></tr><tr><td align="left" balign="left"> addAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> addAll(arg0 : int, arg1 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> removeRange(arg0 : int, arg1 : int) </td></tr><tr><td align="left" balign="left"> rangeCheck(arg0 : int) </td></tr><tr><td align="left" balign="left"> rangeCheckForAdd(arg0 : int) </td></tr><tr><td align="left" balign="left"> outOfBoundsMsg(arg0 : int) : String </td></tr><tr><td align="left" balign="left"> removeAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> retainAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> batchRemove(arg0 : Collection&lt;?&gt;, arg1 : boolean) : boolean </td></tr><tr><td align="left" balign="left"> writeObject(arg0 : ObjectOutputStream) </td></tr><tr><td align="left" balign="left"> readObject(arg0 : ObjectInputStream) </td></tr><tr><td align="left" balign="left"> listIterator(arg0 : int) : ListIterator&lt;E&gt; </td></tr><tr><td align="left" balign="left"> listIterator() : ListIterator&lt;E&gt; </td></tr><tr><td align="left" balign="left"> iterator() : Iterator&lt;E&gt; </td></tr><tr><td align="left" balign="left"> subList(arg0 : int, arg1 : int) : List&lt;E&gt; </td></tr><tr><td align="left" balign="left"> subListRangeCheck(arg0 : int, arg1 : int, arg2 : int) </td></tr><tr><td align="left" balign="left"> forEach(arg0 : Consumer&lt;?&gt;) </td></tr><tr><td align="left" balign="left"> spliterator() : Spliterator&lt;E&gt; </td></tr><tr><td align="left" balign="left"> removeIf(arg0 : Predicate&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> replaceAll(arg0 : UnaryOperator&lt;E&gt;) </td></tr><tr><td align="left" balign="left"> sort(arg0 : Comparator&lt;?&gt;) </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // java.util.ArrayList<E>
c72 [label=<<table title="java.util.ArrayList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ArrayList&lt;E&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> serialVersionUID : long </td></tr><tr><td align="left" balign="left"> DEFAULT_CAPACITY : int </td></tr><tr><td align="left" balign="left"> EMPTY_ELEMENTDATA : Object[] </td></tr><tr><td align="left" balign="left"> DEFAULTCAPACITY_EMPTY_ELEMENTDATA : Object[] </td></tr><tr><td align="left" balign="left"> elementData : Object[] </td></tr><tr><td align="left" balign="left"> size : int </td></tr><tr><td align="left" balign="left"> MAX_ARRAY_SIZE : int </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> trimToSize() </td></tr><tr><td align="left" balign="left"> ensureCapacity(arg0 : int) </td></tr><tr><td align="left" balign="left"> ensureCapacityInternal(arg0 : int) </td></tr><tr><td align="left" balign="left"> ensureExplicitCapacity(arg0 : int) </td></tr><tr><td align="left" balign="left"> grow(arg0 : int) </td></tr><tr><td align="left" balign="left"> hugeCapacity(arg0 : int) : int </td></tr><tr><td align="left" balign="left"> size() : int </td></tr><tr><td align="left" balign="left"> isEmpty() : boolean </td></tr><tr><td align="left" balign="left"> contains(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left"> indexOf(arg0 : Object) : int </td></tr><tr><td align="left" balign="left"> lastIndexOf(arg0 : Object) : int </td></tr><tr><td align="left" balign="left"> clone() : Object </td></tr><tr><td align="left" balign="left"> toArray() : Object[] </td></tr><tr><td align="left" balign="left"> toArray(arg0 : T[]) : T[] </td></tr><tr><td align="left" balign="left"> elementData(arg0 : int) : E </td></tr><tr><td align="left" balign="left"> get(arg0 : int) : E </td></tr><tr><td align="left" balign="left"> set(arg0 : int, arg1 : E) : E </td></tr><tr><td align="left" balign="left"> add(arg0 : E) : boolean </td></tr><tr><td align="left" balign="left"> add(arg0 : int, arg1 : E) </td></tr><tr><td align="left" balign="left"> remove(arg0 : int) : E </td></tr><tr><td align="left" balign="left"> remove(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left"> fastRemove(arg0 : int) </td></tr><tr><td align="left" balign="left"> clear() </td></tr><tr><td align="left" balign="left"> addAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> addAll(arg0 : int, arg1 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> removeRange(arg0 : int, arg1 : int) </td></tr><tr><td align="left" balign="left"> rangeCheck(arg0 : int) </td></tr><tr><td align="left" balign="left"> rangeCheckForAdd(arg0 : int) </td></tr><tr><td align="left" balign="left"> outOfBoundsMsg(arg0 : int) : String </td></tr><tr><td align="left" balign="left"> removeAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> retainAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> batchRemove(arg0 : Collection&lt;?&gt;, arg1 : boolean) : boolean </td></tr><tr><td align="left" balign="left"> writeObject(arg0 : ObjectOutputStream) </td></tr><tr><td align="left" balign="left"> readObject(arg0 : ObjectInputStream) </td></tr><tr><td align="left" balign="left"> listIterator(arg0 : int) : ListIterator&lt;E&gt; </td></tr><tr><td align="left" balign="left"> listIterator() : ListIterator&lt;E&gt; </td></tr><tr><td align="left" balign="left"> iterator() : Iterator&lt;E&gt; </td></tr><tr><td align="left" balign="left"> subList(arg0 : int, arg1 : int) : List&lt;E&gt; </td></tr><tr><td align="left" balign="left"> subListRangeCheck(arg0 : int, arg1 : int, arg2 : int) </td></tr><tr><td align="left" balign="left"> forEach(arg0 : Consumer&lt;?&gt;) </td></tr><tr><td align="left" balign="left"> spliterator() : Spliterator&lt;E&gt; </td></tr><tr><td align="left" balign="left"> removeIf(arg0 : Predicate&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left"> replaceAll(arg0 : UnaryOperator&lt;E&gt;) </td></tr><tr><td align="left" balign="left"> sort(arg0 : Comparator&lt;?&gt;) </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html"];
} }

View File

@ -5,19 +5,20 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Application ranksep=0.5;
c74 [label=<<table title="Application" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Application </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Application
// IrpApplication c74 [label=<<table title="Application" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Application </td></tr></table></td></tr></table>>];
c75 [label=<<table title="IrpApplication" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> IrpApplication </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // IrpApplication
// Main c75 [label=<<table title="IrpApplication" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> IrpApplication </td></tr></table></td></tr></table>>];
c76 [label=<<table title="Main" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Main </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Main
//IrpApplication extends Application c76 [label=<<table title="Main" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Main </td></tr></table></td></tr></table>>];
c74:p -> c75:p [dir=back,arrowtail=empty]; //IrpApplication extends Application
// Main DEPEND IrpApplication c74:p -> c75:p [arrowtail=empty,dir=back,weight=10];
c76:p -> c75:p [taillabel="", label="&#171;friend&#187;", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed]; // Main depend IrpApplication
c76:p -> c75:p [arrowhead=open,style=dashed,weight=0,label="&#171;friend&#187;"];
} }

View File

@ -5,15 +5,16 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// A ranksep=0.5;
c81 [label=<<table title="A" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> A </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // A
// C c81 [label=<<table title="A" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> A </td></tr></table></td></tr></table>>];
c83 [label=<<table title="C" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> C </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // C
// A DEPEND C c83 [label=<<table title="C" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> C </td></tr></table></td></tr></table>>];
c81:p -> c83:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed]; // A depend C
c81:p -> c83:p [arrowhead=open,style=dashed,weight=0];
} }

File diff suppressed because one or more lines are too long

View File

@ -5,43 +5,44 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Root ranksep=0.5;
c90 [label=<<table title="Root" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Root </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Root
// Adapter c90 [label=<<table title="Root" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Root </td></tr></table></td></tr></table>>];
c91 [label=<<table title="Adapter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Adapter </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Adapter
// Element c91 [label=<<table title="Adapter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Adapter </td></tr></table></td></tr></table>>];
c92 [label=<<table title="Element" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> Element </i></td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Element
// ObjectType c92 [label=<<table title="Element" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> Element </i></td></tr></table></td></tr></table>>];
c93 [label=<<table title="ObjectType" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ObjectType </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // ObjectType
// ObjectMap c93 [label=<<table title="ObjectType" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ObjectType </td></tr></table></td></tr></table>>];
c94 [label=<<table title="ObjectMap" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ObjectMap </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // ObjectMap
// Table c94 [label=<<table title="ObjectMap" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ObjectMap </td></tr></table></td></tr></table>>];
c95 [label=<<table title="Table" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Table </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Table
// DataOperation c95 [label=<<table title="Table" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Table </td></tr></table></td></tr></table>>];
c96 [label=<<table title="DataOperation" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> DataOperation </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // DataOperation
// Root ASSOC Adapter c96 [label=<<table title="DataOperation" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> DataOperation </td></tr></table></td></tr></table>>];
c90:p -> c91:p [taillabel="1..1", label="", headlabel="0..n", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Root assoc Adapter
// Root ASSOC ObjectType c90:p -> c91:p [arrowhead=none,weight=2,taillabel="1..1", headlabel="0..n"];
c90:p -> c93:p [taillabel="", label="", headlabel="0..n", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Root assoc ObjectType
// Root ASSOC ObjectMap c90:p -> c93:p [arrowhead=none,weight=2,headlabel="0..n"];
c90:p -> c94:p [taillabel="", label="", headlabel="0..n", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Root assoc ObjectMap
// Root ASSOC Table c90:p -> c94:p [arrowhead=none,weight=2,headlabel="0..n"];
c90:p -> c95:p [taillabel="", label="", headlabel="0..n", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Root assoc Table
// Root ASSOC DataOperation c90:p -> c95:p [arrowhead=none,weight=2,headlabel="0..n"];
c90:p -> c96:p [taillabel="", label="", headlabel="0..n", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Root assoc DataOperation
//ObjectType extends Element c90:p -> c96:p [arrowhead=none,weight=2,headlabel="0..n"];
c92:p -> c93:p [dir=back,arrowtail=empty]; //ObjectType extends Element
//ObjectMap extends Element c92:p -> c93:p [arrowtail=empty,dir=back,weight=10];
c92:p -> c94:p [dir=back,arrowtail=empty]; //ObjectMap extends Element
// ObjectMap HAS ObjectType c92:p -> c94:p [arrowtail=empty,dir=back,weight=10];
c94:p -> c93:p [taillabel="1..1", label="", headlabel="1..1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both]; // ObjectMap has ObjectType
//Table extends Element c94:p -> c93:p [arrowhead=none,arrowtail=ediamond,dir=back,weight=4,taillabel="1..1", headlabel="1..1"];
c92:p -> c95:p [dir=back,arrowtail=empty]; //Table extends Element
//DataOperation extends Element c92:p -> c95:p [arrowtail=empty,dir=back,weight=10];
c92:p -> c96:p [dir=back,arrowtail=empty]; //DataOperation extends Element
c92:p -> c96:p [arrowtail=empty,dir=back,weight=10];
} }

View File

@ -5,15 +5,16 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// test.RunnableRef ranksep=0.5;
c98 [label=<<table title="test.RunnableRef" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> RunnableRef </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // test.RunnableRef
// test.RunnableRef DEPEND java.lang.Runnable c98 [label=<<table title="test.RunnableRef" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> RunnableRef </td></tr></table></td></tr></table>>];
c98:p -> c99:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed]; // test.RunnableRef depend java.lang.Runnable
// java.lang.Runnable c98:p -> c99:p [arrowhead=open,style=dashed,weight=0];
c99 [label=<<table title="java.lang.Runnable" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> Runnable </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // java.lang.Runnable
c99 [label=<<table title="java.lang.Runnable" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> Runnable </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html"];
} }

View File

@ -5,23 +5,24 @@
# #
digraph G { digraph G {
edge [fontname="arial",fontsize=10,labelfontname="arial",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="arial",fontsize=10,shape=plaintext]; edge [fontname="arial",fontsize=10,labelfontname="arial",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="arial",fontcolor="black",fontsize=9,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// net.sf.whatever.test.AbstractBase ranksep=0.5;
c112 [label=<<table title="net.sf.whatever.test.AbstractBase" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;base&#187; </td></tr><tr><td align="center" balign="center"><font face="arial"> AbstractBase </font></td></tr><tr><td align="center" balign="center"><font point-size="8.0"> net.sf.whatever.test </font></td></tr><tr><td align="right" balign="right"><font face="arial" point-size="6.0"> {since = 1.0} </font></td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> field : int </td></tr><tr><td align="right" balign="right"><font face="arial" point-size="6.0"> {since = 1.5} </font></td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"><font face="Helvetica" point-size="9.0"><i> abstractMethod() </i></font></td></tr><tr><td align="left" balign="left"> concreteMethod() : int </td></tr></table></td></tr></table>>, URL="null", fontname="arial", fontcolor="black", fontsize=9.0]; // net.sf.whatever.test.AbstractBase
// net.sf.whatever.test.Composite c112 [label=<<table title="net.sf.whatever.test.AbstractBase" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;base&#187; </td></tr><tr><td align="center" balign="center"><font face="arial"> AbstractBase </font></td></tr><tr><td align="center" balign="center"><font point-size="8.0"> net.sf.whatever.test </font></td></tr><tr><td align="right" balign="right"><font face="arial" point-size="6.0"> {since = 1.0} </font></td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> field : int </td></tr><tr><td align="right" balign="right"><font face="arial" point-size="6.0"> {since = 1.5} </font></td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"><font face="Helvetica" point-size="9.0"><i> abstractMethod() </i></font></td></tr><tr><td align="left" balign="left"> concreteMethod() : int </td></tr></table></td></tr></table>>];
c113 [label=<<table title="net.sf.whatever.test.Composite" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><font face="arial"> Composite </font></td></tr><tr><td align="center" balign="center"><font point-size="8.0"> net.sf.whatever.test </font></td></tr></table></td></tr></table>>, URL="null", fontname="arial", fontcolor="black", fontsize=9.0]; // net.sf.whatever.test.Composite
// net.sf.whatever.test.Style c113 [label=<<table title="net.sf.whatever.test.Composite" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><font face="arial"> Composite </font></td></tr><tr><td align="center" balign="center"><font point-size="8.0"> net.sf.whatever.test </font></td></tr></table></td></tr></table>>];
c114 [label=<<table title="net.sf.whatever.test.Style" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><font face="arial"> Style </font></td></tr><tr><td align="center" balign="center"><font point-size="8.0"> net.sf.whatever.test </font></td></tr></table></td></tr></table>>, URL="null", fontname="arial", fontcolor="black", fontsize=9.0]; // net.sf.whatever.test.Style
//net.sf.whatever.test.Composite extends net.sf.whatever.test.AbstractBase c114 [label=<<table title="net.sf.whatever.test.Style" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><font face="arial"> Style </font></td></tr><tr><td align="center" balign="center"><font point-size="8.0"> net.sf.whatever.test </font></td></tr></table></td></tr></table>>];
c112:p -> c113:p [dir=back,arrowtail=empty]; //net.sf.whatever.test.Composite extends net.sf.whatever.test.AbstractBase
// net.sf.whatever.test.Composite COMPOSED from.Outer.Space.AlienClass c112:p -> c113:p [arrowtail=empty,dir=back,weight=10];
c113:p -> c115:p [taillabel="1", label="has", headlabel="*", fontname="arial", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // net.sf.whatever.test.Composite composed from.Outer.Space.AlienClass
//net.sf.whatever.test.Style extends net.sf.whatever.test.AbstractBase c113:p -> c115:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1",label="has",headlabel="*"];
c112:p -> c114:p [dir=back,arrowtail=empty]; //net.sf.whatever.test.Style extends net.sf.whatever.test.AbstractBase
// from.Outer.Space.AlienClass c112:p -> c114:p [arrowtail=empty,dir=back,weight=10];
c115[label=<<table title="from.Outer.Space.AlienClass" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/from/Outer/Space/AlienClass.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><font face="arial"> AlienClass </font></td></tr><tr><td align="center" balign="center"><font point-size="8.0"> from.Outer.Space </font></td></tr></table></td></tr></table>>, fontname="arial", fontcolor="black", fontsize=9.0]; // from.Outer.Space.AlienClass
c115[label=<<table title="from.Outer.Space.AlienClass" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/from/Outer/Space/AlienClass.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><font face="arial"> AlienClass </font></td></tr><tr><td align="center" balign="center"><font point-size="8.0"> from.Outer.Space </font></td></tr></table></td></tr></table>>];
} }

View File

@ -5,11 +5,12 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// test.TestHideOp ranksep=0.5;
c117 [label=<<table title="test.TestHideOp" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> TestHideOp </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // test.TestHideOp
c117 [label=<<table title="test.TestHideOp" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> TestHideOp </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
} }

View File

@ -5,27 +5,28 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.basic.invoice.InvoiceItem ranksep=0.5;
c355 [label=<<table title="gr.spinellis.basic.invoice.InvoiceItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InvoiceItem </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.InvoiceItem
// gr.spinellis.basic.invoice.Invoice c355 [label=<<table title="gr.spinellis.basic.invoice.InvoiceItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InvoiceItem </td></tr></table></td></tr></table>>];
c356 [label=<<table title="gr.spinellis.basic.invoice.Invoice" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Invoice </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.Invoice
// gr.spinellis.basic.invoice.Customer c356 [label=<<table title="gr.spinellis.basic.invoice.Invoice" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Invoice </td></tr></table></td></tr></table>>];
c357 [label=<<table title="gr.spinellis.basic.invoice.Customer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Customer </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.Customer
// gr.spinellis.basic.product.Product c357 [label=<<table title="gr.spinellis.basic.invoice.Customer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Customer </td></tr></table></td></tr></table>>];
c358 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Product
// gr.spinellis.basic.product.Category c358 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr></table>>];
c359 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Category
// gr.spinellis.basic.invoice.InvoiceItem ASSOC gr.spinellis.basic.product.Product c359 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr></table>>];
c355:p -> c358:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.invoice.InvoiceItem assoc gr.spinellis.basic.product.Product
// gr.spinellis.basic.invoice.Invoice ASSOC gr.spinellis.basic.invoice.Customer c355:p -> c358:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c356:p -> c357:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.invoice.Invoice assoc gr.spinellis.basic.invoice.Customer
// gr.spinellis.basic.invoice.Invoice COMPOSED gr.spinellis.basic.invoice.InvoiceItem c356:p -> c357:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c356:p -> c355:p [taillabel="1", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // gr.spinellis.basic.invoice.Invoice composed gr.spinellis.basic.invoice.InvoiceItem
// gr.spinellis.basic.product.Product ASSOC gr.spinellis.basic.product.Category c356:p -> c355:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", headlabel="*"];
c358:p -> c359:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.product.Product assoc gr.spinellis.basic.product.Category
c358:p -> c359:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
} }

View File

@ -5,27 +5,28 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.basic.invoice.InvoiceItem ranksep=0.5;
c317 [label=<<table title="gr.spinellis.basic.invoice.InvoiceItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InvoiceItem </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> product : Product </td></tr><tr><td align="left" balign="left"> quantity : int </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.InvoiceItem
// gr.spinellis.basic.invoice.Invoice c317 [label=<<table title="gr.spinellis.basic.invoice.InvoiceItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InvoiceItem </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> product : Product </td></tr><tr><td align="left" balign="left"> quantity : int </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c318 [label=<<table title="gr.spinellis.basic.invoice.Invoice" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Invoice </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> total : double </td></tr><tr><td align="left" balign="left"> items : InvoiceItem[] </td></tr><tr><td align="left" balign="left"> customer : Customer </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> addItem(p : Product, quantity : int) </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.Invoice
// gr.spinellis.basic.invoice.Customer c318 [label=<<table title="gr.spinellis.basic.invoice.Invoice" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Invoice </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> total : double </td></tr><tr><td align="left" balign="left"> items : InvoiceItem[] </td></tr><tr><td align="left" balign="left"> customer : Customer </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> addItem(p : Product, quantity : int) </td></tr></table></td></tr></table>>];
c319 [label=<<table title="gr.spinellis.basic.invoice.Customer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Customer </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : String </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.Customer
// gr.spinellis.basic.product.Product c319 [label=<<table title="gr.spinellis.basic.invoice.Customer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Customer </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : String </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c320 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : String </td></tr><tr><td align="left" balign="left"> stock : int </td></tr><tr><td align="left" balign="left"> price : double </td></tr><tr><td align="left" balign="left"> category : Category </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Product
// gr.spinellis.basic.product.Category c320 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : String </td></tr><tr><td align="left" balign="left"> stock : int </td></tr><tr><td align="left" balign="left"> price : double </td></tr><tr><td align="left" balign="left"> category : Category </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c321 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : String </td></tr><tr><td align="left" balign="left"> products : List&lt;&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Category
// gr.spinellis.basic.invoice.InvoiceItem ASSOC gr.spinellis.basic.product.Product c321 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : String </td></tr><tr><td align="left" balign="left"> products : List&lt;&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c317:p -> c320:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.invoice.InvoiceItem assoc gr.spinellis.basic.product.Product
// gr.spinellis.basic.invoice.Invoice ASSOC gr.spinellis.basic.invoice.Customer c317:p -> c320:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c318:p -> c319:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.invoice.Invoice assoc gr.spinellis.basic.invoice.Customer
// gr.spinellis.basic.invoice.Invoice COMPOSED gr.spinellis.basic.invoice.InvoiceItem c318:p -> c319:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c318:p -> c317:p [taillabel="1", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // gr.spinellis.basic.invoice.Invoice composed gr.spinellis.basic.invoice.InvoiceItem
// gr.spinellis.basic.product.Product ASSOC gr.spinellis.basic.product.Category c318:p -> c317:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", headlabel="*"];
c320:p -> c321:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.product.Product assoc gr.spinellis.basic.product.Category
c320:p -> c321:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
} }

View File

@ -5,27 +5,28 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.basic.invoice.InvoiceItem ranksep=0.5;
c279 [label=<<table title="gr.spinellis.basic.invoice.InvoiceItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InvoiceItem </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> product </td></tr><tr><td align="left" balign="left"> quantity </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=16.0]; // gr.spinellis.basic.invoice.InvoiceItem
// gr.spinellis.basic.invoice.Invoice c279 [label=<<table title="gr.spinellis.basic.invoice.InvoiceItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InvoiceItem </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> product </td></tr><tr><td align="left" balign="left"> quantity </td></tr></table></td></tr></table>>, fontname="Helvetica", fontcolor="black", fontsize=16.0];
c280 [label=<<table title="gr.spinellis.basic.invoice.Invoice" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Invoice </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> total </td></tr><tr><td align="left" balign="left"> items </td></tr><tr><td align="left" balign="left"> customer </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=16.0]; // gr.spinellis.basic.invoice.Invoice
// gr.spinellis.basic.invoice.Customer c280 [label=<<table title="gr.spinellis.basic.invoice.Invoice" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Invoice </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> total </td></tr><tr><td align="left" balign="left"> items </td></tr><tr><td align="left" balign="left"> customer </td></tr></table></td></tr></table>>, fontname="Helvetica", fontcolor="black", fontsize=16.0];
c281 [label=<<table title="gr.spinellis.basic.invoice.Customer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Customer </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=16.0]; // gr.spinellis.basic.invoice.Customer
// gr.spinellis.basic.product.Product c281 [label=<<table title="gr.spinellis.basic.invoice.Customer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Customer </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr></table></td></tr></table>>, fontname="Helvetica", fontcolor="black", fontsize=16.0];
c282 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> stock </td></tr><tr><td align="left" balign="left"> price </td></tr><tr><td align="left" balign="left"> category </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=16.0]; // gr.spinellis.basic.product.Product
// gr.spinellis.basic.product.Category c282 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> stock </td></tr><tr><td align="left" balign="left"> price </td></tr><tr><td align="left" balign="left"> category </td></tr></table></td></tr></table>>, fontname="Helvetica", fontcolor="black", fontsize=16.0];
c283 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> products </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=16.0]; // gr.spinellis.basic.product.Category
// gr.spinellis.basic.invoice.InvoiceItem ASSOC gr.spinellis.basic.product.Product c283 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> products </td></tr></table></td></tr></table>>, fontname="Helvetica", fontcolor="black", fontsize=16.0];
c279:p -> c282:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.invoice.InvoiceItem assoc gr.spinellis.basic.product.Product
// gr.spinellis.basic.invoice.Invoice ASSOC gr.spinellis.basic.invoice.Customer c279:p -> c282:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c280:p -> c281:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.invoice.Invoice assoc gr.spinellis.basic.invoice.Customer
// gr.spinellis.basic.invoice.Invoice COMPOSED gr.spinellis.basic.invoice.InvoiceItem c280:p -> c281:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c280:p -> c279:p [taillabel="1", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // gr.spinellis.basic.invoice.Invoice composed gr.spinellis.basic.invoice.InvoiceItem
// gr.spinellis.basic.product.Product ASSOC gr.spinellis.basic.product.Category c280:p -> c279:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", headlabel="*"];
c282:p -> c283:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.product.Product assoc gr.spinellis.basic.product.Category
c282:p -> c283:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
} }

View File

@ -5,15 +5,16 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.basic.product.Product ranksep=0.5;
c244 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="LemonChiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Product
// gr.spinellis.basic.product.Category c244 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="LemonChiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr></table>>];
c245 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="LemonChiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Category
// gr.spinellis.basic.product.Product ASSOC gr.spinellis.basic.product.Category c245 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="LemonChiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr></table>>];
c244:p -> c245:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.product.Product assoc gr.spinellis.basic.product.Category
c244:p -> c245:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
} }

View File

@ -5,15 +5,16 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.basic.product.Product ranksep=0.5;
c206 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="LemonChiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> stock </td></tr><tr><td align="left" balign="left"> price </td></tr><tr><td align="left" balign="left"> category </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Product
// gr.spinellis.basic.product.Category c206 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="LemonChiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> stock </td></tr><tr><td align="left" balign="left"> price </td></tr><tr><td align="left" balign="left"> category </td></tr></table></td></tr></table>>];
c207 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="brown"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Category
// gr.spinellis.basic.product.Product ASSOC gr.spinellis.basic.product.Category c207 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="brown"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr></table>>];
c206:p -> c207:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.product.Product assoc gr.spinellis.basic.product.Category
c206:p -> c207:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
} }

View File

@ -5,31 +5,32 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.basic.invoice.InvoiceItem ranksep=0.5;
c164 [label=<<table title="gr.spinellis.basic.invoice.InvoiceItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InvoiceItem </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.InvoiceItem
// gr.spinellis.basic.invoice.Invoice c164 [label=<<table title="gr.spinellis.basic.invoice.InvoiceItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InvoiceItem </td></tr></table></td></tr></table>>];
c165 [label=<<table title="gr.spinellis.basic.invoice.Invoice" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Invoice </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.Invoice
// gr.spinellis.basic.invoice.Customer c165 [label=<<table title="gr.spinellis.basic.invoice.Invoice" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Invoice </td></tr></table></td></tr></table>>];
c166 [label=<<table title="gr.spinellis.basic.invoice.Customer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Customer </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.invoice.Customer
// gr.spinellis.basic.product.Product c166 [label=<<table title="gr.spinellis.basic.invoice.Customer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Customer </td></tr></table></td></tr></table>>];
c167 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Product
// gr.spinellis.basic.product.Category c167 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr></table>>];
c168 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Category
// gr.spinellis.basic.invoice.InvoiceItem ASSOC gr.spinellis.basic.product.Product c168 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="yellow"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr></table>>];
c164:p -> c167:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.invoice.InvoiceItem assoc gr.spinellis.basic.product.Product
// gr.spinellis.basic.invoice.Invoice ASSOC gr.spinellis.basic.invoice.Customer c164:p -> c167:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c165:p -> c166:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.invoice.Invoice assoc gr.spinellis.basic.invoice.Customer
// gr.spinellis.basic.invoice.Invoice COMPOSED gr.spinellis.basic.invoice.InvoiceItem c165:p -> c166:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c165:p -> c164:p [taillabel="1", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // gr.spinellis.basic.invoice.Invoice composed gr.spinellis.basic.invoice.InvoiceItem
// gr.spinellis.basic.product.Product ASSOC gr.spinellis.basic.product.Category c165:p -> c164:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", headlabel="*"];
c167:p -> c168:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.product.Product assoc gr.spinellis.basic.product.Category
// gr.spinellis.basic.product.Category DEPEND java.util.List<E> c167:p -> c168:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
c168:p -> c202:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed]; // gr.spinellis.basic.product.Category depend java.util.List<E>
// java.util.List<E> c168:p -> c202:p [arrowhead=open,style=dashed,weight=0];
c202 [label=<<table title="java.util.List" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="gray" href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> List&lt;E&gt; </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/util/List.html", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // java.util.List<E>
c202 [label=<<table title="java.util.List" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="gray" href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> List&lt;E&gt; </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/util/List.html"];
} }

View File

@ -5,39 +5,40 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.context.classes.AClient ranksep=0.5;
c424 [label=<<table title="gr.spinellis.context.classes.AClient" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> AClient </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.context.classes.AClient
// gr.spinellis.context.classes.ASubclass c424 [label=<<table title="gr.spinellis.context.classes.AClient" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> AClient </td></tr></table></td></tr></table>>];
c426 [label=<<table title="gr.spinellis.context.classes.ASubclass" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ASubclass </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.context.classes.ASubclass
// gr.spinellis.context.classes.E c426 [label=<<table title="gr.spinellis.context.classes.ASubclass" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ASubclass </td></tr></table></td></tr></table>>];
c427 [label=<<table title="gr.spinellis.context.classes.E" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> E </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.context.classes.E
// gr.spinellis.context.classes.D c427 [label=<<table title="gr.spinellis.context.classes.E" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> E </td></tr></table></td></tr></table>>];
c429 [label=<<table title="gr.spinellis.context.classes.D" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> D </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.context.classes.D
// gr.spinellis.context.classes.B c429 [label=<<table title="gr.spinellis.context.classes.D" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> D </td></tr></table></td></tr></table>>];
c432 [label=<<table title="gr.spinellis.context.classes.B" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> B </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.context.classes.B
// gr.spinellis.context.classes.ABaseClass c432 [label=<<table title="gr.spinellis.context.classes.B" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> B </td></tr></table></td></tr></table>>];
c433 [label=<<table title="gr.spinellis.context.classes.ABaseClass" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ABaseClass </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.context.classes.ABaseClass
// gr.spinellis.context.classes.A c433 [label=<<table title="gr.spinellis.context.classes.ABaseClass" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ABaseClass </td></tr></table></td></tr></table>>];
c434 [label=<<table title="gr.spinellis.context.classes.A" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="lemonchiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> A </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.context.classes.A
//gr.spinellis.context.classes.ASubclass extends gr.spinellis.context.classes.A c434 [label=<<table title="gr.spinellis.context.classes.A" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="lemonchiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> A </td></tr></table></td></tr></table>>];
c434:p -> c426:p [dir=back,arrowtail=empty]; //gr.spinellis.context.classes.ASubclass extends gr.spinellis.context.classes.A
//gr.spinellis.context.classes.A extends gr.spinellis.context.classes.ABaseClass c434:p -> c426:p [arrowtail=empty,dir=back,weight=10];
c433:p -> c434:p [dir=back,arrowtail=empty]; //gr.spinellis.context.classes.A extends gr.spinellis.context.classes.ABaseClass
// gr.spinellis.context.classes.D NAVASSOC gr.spinellis.context.classes.A c433:p -> c434:p [arrowtail=empty,dir=back,weight=10];
c429:p -> c434:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // gr.spinellis.context.classes.D navassoc gr.spinellis.context.classes.A
// gr.spinellis.context.classes.A NAVASSOC gr.spinellis.context.classes.B c429:p -> c434:p [arrowhead=open,weight=1];
c434:p -> c432:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // gr.spinellis.context.classes.A navassoc gr.spinellis.context.classes.B
// gr.spinellis.context.classes.A NAVASSOC javax.swing.JComponent c434:p -> c432:p [arrowhead=open,weight=1];
c434:p -> c509:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // gr.spinellis.context.classes.A navassoc javax.swing.JComponent
// gr.spinellis.context.classes.AClient DEPEND gr.spinellis.context.classes.A c434:p -> c509:p [arrowhead=open,weight=1];
c424:p -> c434:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed]; // gr.spinellis.context.classes.AClient depend gr.spinellis.context.classes.A
// gr.spinellis.context.classes.A DEPEND gr.spinellis.context.classes.E c424:p -> c434:p [arrowhead=open,style=dashed,weight=0];
c434:p -> c427:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed]; // gr.spinellis.context.classes.A depend gr.spinellis.context.classes.E
// javax.swing.JComponent c434:p -> c427:p [arrowhead=open,style=dashed,weight=0];
c509 [label=<<table title="javax.swing.JComponent" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> JComponent </i></td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // javax.swing.JComponent
c509 [label=<<table title="javax.swing.JComponent" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> JComponent </i></td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html"];
} }

View File

@ -5,27 +5,28 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.iface.classes.FarImplementor ranksep=0.5;
c534 [label=<<table title="gr.spinellis.iface.classes.FarImplementor" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> FarImplementor </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.iface.classes.FarImplementor
// gr.spinellis.iface.classes.DirectImplementor c534 [label=<<table title="gr.spinellis.iface.classes.FarImplementor" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> FarImplementor </td></tr></table></td></tr></table>>];
c535 [label=<<table title="gr.spinellis.iface.classes.DirectImplementor" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> DirectImplementor </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.iface.classes.DirectImplementor
// gr.spinellis.iface.classes.SubSubFace c535 [label=<<table title="gr.spinellis.iface.classes.DirectImplementor" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> DirectImplementor </td></tr></table></td></tr></table>>];
c537 [label=<<table title="gr.spinellis.iface.classes.SubSubFace" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> SubSubFace </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.iface.classes.SubSubFace
// gr.spinellis.iface.classes.SubFace c537 [label=<<table title="gr.spinellis.iface.classes.SubSubFace" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> SubSubFace </td></tr></table></td></tr></table>>];
c538 [label=<<table title="gr.spinellis.iface.classes.SubFace" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> SubFace </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.iface.classes.SubFace
// gr.spinellis.iface.classes.Face c538 [label=<<table title="gr.spinellis.iface.classes.SubFace" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> SubFace </td></tr></table></td></tr></table>>];
c539 [label=<<table title="gr.spinellis.iface.classes.Face" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="lemonchiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> Face </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.iface.classes.Face
//gr.spinellis.iface.classes.FarImplementor implements gr.spinellis.iface.classes.SubSubFace c539 [label=<<table title="gr.spinellis.iface.classes.Face" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="lemonchiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> Face </td></tr></table></td></tr></table>>];
c537:p -> c534:p [dir=back,arrowtail=empty,style=dashed]; //gr.spinellis.iface.classes.FarImplementor implements gr.spinellis.iface.classes.SubSubFace
//gr.spinellis.iface.classes.DirectImplementor implements gr.spinellis.iface.classes.Face c537:p -> c534:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c539:p -> c535:p [dir=back,arrowtail=empty,style=dashed]; //gr.spinellis.iface.classes.DirectImplementor implements gr.spinellis.iface.classes.Face
//gr.spinellis.iface.classes.SubSubFace implements gr.spinellis.iface.classes.SubFace c539:p -> c535:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c538:p -> c537:p [dir=back,arrowtail=empty,style=dashed]; //gr.spinellis.iface.classes.SubSubFace implements gr.spinellis.iface.classes.SubFace
//gr.spinellis.iface.classes.SubFace implements gr.spinellis.iface.classes.Face c538:p -> c537:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c539:p -> c538:p [dir=back,arrowtail=empty,style=dashed]; //gr.spinellis.iface.classes.SubFace implements gr.spinellis.iface.classes.Face
c539:p -> c538:p [arrowtail=empty,style=dashed,dir=back,weight=9];
} }

View File

@ -5,15 +5,16 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.basic.product.Product ranksep=0.5;
c129 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> stock </td></tr><tr><td align="left" balign="left"> price </td></tr><tr><td align="left" balign="left"> category </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Product
// gr.spinellis.basic.product.Category c129 [label=<<table title="gr.spinellis.basic.product.Product" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Product </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> stock </td></tr><tr><td align="left" balign="left"> price </td></tr><tr><td align="left" balign="left"> category </td></tr></table></td></tr></table>>];
c130 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> products </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.basic.product.Category
// gr.spinellis.basic.product.Product ASSOC gr.spinellis.basic.product.Category c130 [label=<<table title="gr.spinellis.basic.product.Category" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Category </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name </td></tr><tr><td align="left" balign="left"> products </td></tr></table></td></tr></table>>];
c129:p -> c130:p [taillabel="*", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // gr.spinellis.basic.product.Product assoc gr.spinellis.basic.product.Category
c129:p -> c130:p [arrowhead=none,weight=2,taillabel="*", headlabel="1"];
} }

View File

@ -5,27 +5,28 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// gr.spinellis.subclass.classes.SubOneTwo ranksep=0.5;
c580 [label=<<table title="gr.spinellis.subclass.classes.SubOneTwo" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SubOneTwo </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.subclass.classes.SubOneTwo
// gr.spinellis.subclass.classes.SubOneOne c580 [label=<<table title="gr.spinellis.subclass.classes.SubOneTwo" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SubOneTwo </td></tr></table></td></tr></table>>];
c581 [label=<<table title="gr.spinellis.subclass.classes.SubOneOne" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SubOneOne </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.subclass.classes.SubOneOne
// gr.spinellis.subclass.classes.SubTwo c581 [label=<<table title="gr.spinellis.subclass.classes.SubOneOne" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SubOneOne </td></tr></table></td></tr></table>>];
c582 [label=<<table title="gr.spinellis.subclass.classes.SubTwo" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SubTwo </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.subclass.classes.SubTwo
// gr.spinellis.subclass.classes.SubOne c582 [label=<<table title="gr.spinellis.subclass.classes.SubTwo" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SubTwo </td></tr></table></td></tr></table>>];
c583 [label=<<table title="gr.spinellis.subclass.classes.SubOne" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SubOne </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.subclass.classes.SubOne
// gr.spinellis.subclass.classes.Super c583 [label=<<table title="gr.spinellis.subclass.classes.SubOne" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SubOne </td></tr></table></td></tr></table>>];
c584 [label=<<table title="gr.spinellis.subclass.classes.Super" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="lemonchiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Super </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // gr.spinellis.subclass.classes.Super
//gr.spinellis.subclass.classes.SubOneTwo extends gr.spinellis.subclass.classes.SubOne c584 [label=<<table title="gr.spinellis.subclass.classes.Super" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="lemonchiffon"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Super </td></tr></table></td></tr></table>>];
c583:p -> c580:p [dir=back,arrowtail=empty]; //gr.spinellis.subclass.classes.SubOneTwo extends gr.spinellis.subclass.classes.SubOne
//gr.spinellis.subclass.classes.SubOneOne extends gr.spinellis.subclass.classes.SubOne c583:p -> c580:p [arrowtail=empty,dir=back,weight=10];
c583:p -> c581:p [dir=back,arrowtail=empty]; //gr.spinellis.subclass.classes.SubOneOne extends gr.spinellis.subclass.classes.SubOne
//gr.spinellis.subclass.classes.SubTwo extends gr.spinellis.subclass.classes.Super c583:p -> c581:p [arrowtail=empty,dir=back,weight=10];
c584:p -> c582:p [dir=back,arrowtail=empty]; //gr.spinellis.subclass.classes.SubTwo extends gr.spinellis.subclass.classes.Super
//gr.spinellis.subclass.classes.SubOne extends gr.spinellis.subclass.classes.Super c584:p -> c582:p [arrowtail=empty,dir=back,weight=10];
c584:p -> c583:p [dir=back,arrowtail=empty]; //gr.spinellis.subclass.classes.SubOne extends gr.spinellis.subclass.classes.Super
c584:p -> c583:p [arrowtail=empty,dir=back,weight=10];
} }

View File

@ -5,11 +5,12 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Active ranksep=0.5;
c32 [label=<<table title="Active" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td rowspan="10"></td><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Active </td></tr></table></td><td rowspan="10"></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> run() </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Active
c32 [label=<<table title="Active" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td rowspan="10"></td><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Active </td></tr></table></td><td rowspan="10"></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> run() </td></tr></table></td></tr></table>>];
} }

View File

@ -5,31 +5,32 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Controller ranksep=0.5;
c5 [label=<<table title="Controller" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Controller </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Controller
// EmbeddedAgent c5 [label=<<table title="Controller" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Controller </td></tr></table></td></tr></table>>];
c6 [label=<<table title="EmbeddedAgent" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> EmbeddedAgent </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // EmbeddedAgent
// PowerManager c6 [label=<<table title="EmbeddedAgent" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> EmbeddedAgent </td></tr></table></td></tr></table>>];
c7 [label=<<table title="PowerManager" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> PowerManager </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // PowerManager
// SetTopController c7 [label=<<table title="PowerManager" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> PowerManager </td></tr></table></td></tr></table>>];
c8 [label=<<table title="SetTopController" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SetTopController </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> authorizationLevel </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> startUp() </td></tr><tr><td align="left" balign="left"> shutDown() </td></tr><tr><td align="left" balign="left"> connect() </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // SetTopController
// ChannelIterator c8 [label=<<table title="SetTopController" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SetTopController </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> authorizationLevel </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> startUp() </td></tr><tr><td align="left" balign="left"> shutDown() </td></tr><tr><td align="left" balign="left"> connect() </td></tr></table></td></tr></table>>];
c9 [label=<<table title="ChannelIterator" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ChannelIterator </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // ChannelIterator
// URLStreamHandler c9 [label=<<table title="ChannelIterator" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ChannelIterator </td></tr></table></td></tr></table>>];
c10 [label=<<table title="URLStreamHandler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> URLStreamHandler </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> OpenConnection() </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> parseURL() </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> setURL() </i></font></td></tr><tr><td align="left" balign="left"><font face="Helvetica" point-size="10.0"><i> toExternalForm() </i></font></td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // URLStreamHandler
//SetTopController extends Controller c10 [label=<<table title="URLStreamHandler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> URLStreamHandler </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"><i> OpenConnection() </i></td></tr><tr><td align="left" balign="left"><i> parseURL() </i></td></tr><tr><td align="left" balign="left"><i> setURL() </i></td></tr><tr><td align="left" balign="left"><i> toExternalForm() </i></td></tr></table></td></tr></table>>];
c5:p -> c8:p [dir=back,arrowtail=empty]; //SetTopController extends Controller
//SetTopController extends EmbeddedAgent c5:p -> c8:p [arrowtail=empty,dir=back,weight=10];
c6:p -> c8:p [dir=back,arrowtail=empty]; //SetTopController extends EmbeddedAgent
//SetTopController implements URLStreamHandler c6:p -> c8:p [arrowtail=empty,dir=back,weight=10];
c10:p -> c8:p [dir=back,arrowtail=empty,style=dashed]; //SetTopController implements URLStreamHandler
// SetTopController NAVASSOC PowerManager c10:p -> c8:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c8:p -> c7:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // SetTopController navassoc PowerManager
// ChannelIterator DEPEND SetTopController c8:p -> c7:p [arrowhead=open,weight=1];
c9:p -> c8:p [taillabel="", label="&#171;friend&#187;", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed]; // ChannelIterator depend SetTopController
c9:p -> c8:p [arrowhead=open,style=dashed,weight=0,label="&#171;friend&#187;"];
} }

View File

@ -5,20 +5,21 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
rankdir=LR; ranksep=0.5;
// UserGroup rankdir=LR;
c12 [label=<<table title="UserGroup" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> UserGroup </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // UserGroup
// User c12 [label=<<table title="UserGroup" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> UserGroup </td></tr></table></td></tr></table>>];
c13 [label=<<table title="User" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> User </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // User
// Password c13 [label=<<table title="User" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> User </td></tr></table></td></tr></table>>];
c14 [label=<<table title="Password" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Password </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Password
// UserGroup ASSOC User c14 [label=<<table title="Password" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Password </td></tr></table></td></tr></table>>];
c12:p -> c13:p [taillabel="*", label="", headlabel="*\n\n+user ", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // UserGroup assoc User
// User NAVASSOC Password c12:p -> c13:p [arrowhead=none,weight=2,taillabel="*", headlabel="*\n\n+user "];
c13:p -> c14:p [taillabel="1\n\n+owner\r", label="", headlabel="*\n\n+key", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // User navassoc Password
c13:p -> c14:p [arrowhead=open,weight=1,taillabel="1\n\n+owner\r", headlabel="*\n\n+key"];
} }

View File

@ -5,23 +5,24 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Tyre ranksep=0.5;
c15 [label=<<table title="Tyre" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Tyre </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Tyre
// Engine c15 [label=<<table title="Tyre" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Tyre </td></tr></table></td></tr></table>>];
c16 [label=<<table title="Engine" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Engine </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Engine
// Body c16 [label=<<table title="Engine" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Engine </td></tr></table></td></tr></table>>];
c17 [label=<<table title="Body" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Body </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Body
// Car c17 [label=<<table title="Body" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Body </td></tr></table></td></tr></table>>];
c18 [label=<<table title="Car" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Car </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Car
// Car COMPOSED Tyre c18 [label=<<table title="Car" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Car </td></tr></table></td></tr></table>>];
c18:p -> c15:p [taillabel="1", label="", headlabel="4", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // Car composed Tyre
// Car COMPOSED Engine c18:p -> c15:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", headlabel="4"];
c18:p -> c16:p [taillabel="1", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // Car composed Engine
// Car COMPOSED Body c18:p -> c16:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", headlabel="1"];
c18:p -> c17:p [taillabel="1", label="", headlabel="1", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // Car composed Body
c18:p -> c17:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", headlabel="1"];
} }

View File

@ -5,53 +5,54 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// HttpResponseBase ranksep=0.5;
c19 [label=<<table title="HttpResponseBase" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> HttpResponseBase </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // HttpResponseBase
// HttpResponseWrapper c19 [label=<<table title="HttpResponseBase" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> HttpResponseBase </td></tr></table></td></tr></table>>];
c20 [label=<<table title="HttpResponseWrapper" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> HttpResponseWrapper </i></td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // HttpResponseWrapper
// HttpResponseFacade c20 [label=<<table title="HttpResponseWrapper" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> HttpResponseWrapper </i></td></tr></table></td></tr></table>>];
c21 [label=<<table title="HttpResponseFacade" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> HttpResponseFacade </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // HttpResponseFacade
// ResponseWrapper c21 [label=<<table title="HttpResponseFacade" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> HttpResponseFacade </td></tr></table></td></tr></table>>];
c22 [label=<<table title="ResponseWrapper" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> ResponseWrapper </i></td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // ResponseWrapper
// HttpResponse c22 [label=<<table title="ResponseWrapper" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> ResponseWrapper </i></td></tr></table></td></tr></table>>];
c23 [label=<<table title="HttpResponse" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> HttpResponse </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // HttpResponse
// ResponseBase c23 [label=<<table title="HttpResponse" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> HttpResponse </td></tr></table></td></tr></table>>];
c24 [label=<<table title="ResponseBase" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> ResponseBase </i></td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // ResponseBase
// HttpServletResponse c24 [label=<<table title="ResponseBase" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"><i> ResponseBase </i></td></tr></table></td></tr></table>>];
c25 [label=<<table title="HttpServletResponse" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> HttpServletResponse </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // HttpServletResponse
// ResponseFacade c25 [label=<<table title="HttpServletResponse" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> HttpServletResponse </td></tr></table></td></tr></table>>];
c26 [label=<<table title="ResponseFacade" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ResponseFacade </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // ResponseFacade
// ServletResponse c26 [label=<<table title="ResponseFacade" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ResponseFacade </td></tr></table></td></tr></table>>];
c27 [label=<<table title="ServletResponse" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> ServletResponse </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // ServletResponse
// Response c27 [label=<<table title="ServletResponse" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> ServletResponse </td></tr></table></td></tr></table>>];
c28 [label=<<table title="Response" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> Response </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Response
//HttpResponseBase extends ResponseBase c28 [label=<<table title="Response" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> Response </td></tr></table></td></tr></table>>];
c24:p -> c19:p [dir=back,arrowtail=empty]; //HttpResponseBase extends ResponseBase
//HttpResponseBase implements HttpResponse c24:p -> c19:p [arrowtail=empty,dir=back,weight=10];
c23:p -> c19:p [dir=back,arrowtail=empty,style=dashed]; //HttpResponseBase implements HttpResponse
//HttpResponseBase implements HttpServletResponse c23:p -> c19:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c25:p -> c19:p [dir=back,arrowtail=empty,style=dashed]; //HttpResponseBase implements HttpServletResponse
//HttpResponseWrapper extends ResponseWrapper c25:p -> c19:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c22:p -> c20:p [dir=back,arrowtail=empty]; //HttpResponseWrapper extends ResponseWrapper
//HttpResponseWrapper implements HttpResponse c22:p -> c20:p [arrowtail=empty,dir=back,weight=10];
c23:p -> c20:p [dir=back,arrowtail=empty,style=dashed]; //HttpResponseWrapper implements HttpResponse
//HttpResponseFacade extends ResponseFacade c23:p -> c20:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c26:p -> c21:p [dir=back,arrowtail=empty]; //HttpResponseFacade extends ResponseFacade
//HttpResponseFacade implements HttpServletResponse c26:p -> c21:p [arrowtail=empty,dir=back,weight=10];
c25:p -> c21:p [dir=back,arrowtail=empty,style=dashed]; //HttpResponseFacade implements HttpServletResponse
//ResponseWrapper implements Response c25:p -> c21:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c28:p -> c22:p [dir=back,arrowtail=empty,style=dashed]; //ResponseWrapper implements Response
//HttpResponse implements Response c28:p -> c22:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c28:p -> c23:p [dir=back,arrowtail=empty,style=dashed]; //HttpResponse implements Response
//ResponseBase implements Response c28:p -> c23:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c28:p -> c24:p [dir=back,arrowtail=empty,style=dashed]; //ResponseBase implements Response
//ResponseBase implements ServletResponse c28:p -> c24:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c27:p -> c24:p [dir=back,arrowtail=empty,style=dashed]; //ResponseBase implements ServletResponse
//ResponseFacade implements ServletResponse c27:p -> c24:p [arrowtail=empty,style=dashed,dir=back,weight=9];
c27:p -> c26:p [dir=back,arrowtail=empty,style=dashed]; //ResponseFacade implements ServletResponse
c27:p -> c26:p [arrowtail=empty,style=dashed,dir=back,weight=9];
} }

View File

@ -5,19 +5,20 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Person ranksep=0.5;
c30 [label=<<table title="Person" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor=".13 .9 1"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Person </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Person
// Employee c30 [label=<<table title="Person" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor=".13 .9 1"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Person </td></tr></table></td></tr></table>>];
c31 [label=<<table title="Employee" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor=".13 .9 1"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Employee </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Employee
// Client c31 [label=<<table title="Employee" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor=".13 .9 1"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Employee </td></tr></table></td></tr></table>>];
c32 [label=<<table title="Client" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor=".13 .9 1"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Client </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Client
//Employee extends Person c32 [label=<<table title="Client" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor=".13 .9 1"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Client </td></tr></table></td></tr></table>>];
c30:p -> c31:p [dir=back,arrowtail=empty]; //Employee extends Person
//Client extends Person c30:p -> c31:p [arrowtail=empty,dir=back,weight=10];
c30:p -> c32:p [dir=back,arrowtail=empty]; //Client extends Person
c30:p -> c32:p [arrowtail=empty,dir=back,weight=10];
} }

View File

@ -5,11 +5,12 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// ActionQueue ranksep=0.5;
c35 [label=<<table title="ActionQueue" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;container&#187; </td></tr><tr><td align="center" balign="center"> ActionQueue </td></tr><tr><td align="right" balign="right"> {version = 3.2} </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> add(a : Action) </td></tr><tr><td align="left" balign="left"> add(a : Action, n : int) </td></tr><tr><td align="right" balign="right"> {version = 1.0} </td></tr><tr><td align="left" balign="left"> remove(n : int) </td></tr><tr><td align="left" balign="left"> &#171;query&#187; </td></tr><tr><td align="left" balign="left"> length() : int </td></tr><tr><td align="left" balign="left"> &#171;helper functions&#187; </td></tr><tr><td align="left" balign="left"> reorder() </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // ActionQueue
c35 [label=<<table title="ActionQueue" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;container&#187; </td></tr><tr><td align="center" balign="center"> ActionQueue </td></tr><tr><td align="right" balign="right"> {version = 3.2} </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> add(a : Action) </td></tr><tr><td align="left" balign="left"> add(a : Action, n : int) </td></tr><tr><td align="right" balign="right"> {version = 1.0} </td></tr><tr><td align="left" balign="left"> remove(n : int) </td></tr><tr><td align="left" balign="left"> &#171;query&#187; </td></tr><tr><td align="left" balign="left"> length() : int </td></tr><tr><td align="left" balign="left"> &#171;helper functions&#187; </td></tr><tr><td align="left" balign="left"> reorder() </td></tr></table></td></tr></table>>];
} }

View File

@ -5,25 +5,26 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Serif",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="yellow"];
nodesep=0.25; node [fontname="Serif",fontcolor="black",fontsize=14,shape=plaintext];
ranksep=0.5; nodesep=0.25;
bgcolor=".7 .9 1"; ranksep=0.5;
bgcolor=".7 .9 1";
// Pixel
c37 [label=<<table title="Pixel" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="#a0a0a0"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Pixel </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> - x : int </td></tr><tr><td align="left" balign="left"> - y : int </td></tr></table></td></tr></table>>, URL="null", fontname="arial", fontcolor="white", fontsize=14.0]; // Pixel
// Red c37 [label=<<table title="Pixel" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="#a0a0a0"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Pixel </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> - x : int </td></tr><tr><td align="left" balign="left"> - y : int </td></tr></table></td></tr></table>>];
c38 [label=<<table title="Red" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="red"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Red </td></tr></table></td></tr></table>>, URL="null", fontname="Serif", fontcolor="black", fontsize=14.0]; // Red
// Green c38 [label=<<table title="Red" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="red"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Red </td></tr></table></td></tr></table>>];
c39 [label=<<table title="Green" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="green"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Green </td></tr></table></td></tr></table>>, URL="null", fontname="Serif", fontcolor="black", fontsize=14.0]; // Green
// Blue c39 [label=<<table title="Green" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="green"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Green </td></tr></table></td></tr></table>>];
c40 [label=<<table title="Blue" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="blue"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Blue </td></tr></table></td></tr></table>>, URL="null", fontname="Serif", fontcolor="black", fontsize=14.0]; // Blue
// Pixel COMPOSED Red c40 [label=<<table title="Blue" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" bgcolor="blue"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Blue </td></tr></table></td></tr></table>>];
c37:p -> c38:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="yellow", arrowhead=none, arrowtail=diamond, dir=both]; // Pixel composed Red
// Pixel COMPOSED Green c37:p -> c38:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6];
c37:p -> c39:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="yellow", arrowhead=none, arrowtail=diamond, dir=both]; // Pixel composed Green
// Pixel COMPOSED Blue c37:p -> c39:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6];
c37:p -> c40:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="yellow", arrowhead=none, arrowtail=diamond, dir=both]; // Pixel composed Blue
c37:p -> c40:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6];
} }

View File

@ -5,11 +5,12 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Junk ranksep=0.5;
c43 [label=<<table title="Junk" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Junk </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> - value : int </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> + Junk(val : int) </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Junk
c43 [label=<<table title="Junk" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Junk </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> - value : int </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> + Junk(val : int) </td></tr></table></td></tr></table>>];
} }

View File

@ -5,15 +5,16 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Person1 ranksep=0.5;
c45 [label=<<table title="Person1" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Person1 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> ~ address : String </td></tr><tr><td align="left" balign="left"> ~ name : String </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Person1
// Person2 c45 [label=<<table title="Person1" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Person1 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> ~ address : String </td></tr><tr><td align="left" balign="left"> ~ name : String </td></tr></table></td></tr></table>>];
c46 [label=<<table title="Person2" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Person2 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> ~ displayName() : String </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Person2
// Person3 c46 [label=<<table title="Person2" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Person2 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> ~ displayName() : String </td></tr></table></td></tr></table>>];
c47 [label=<<table title="Person3" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Person3 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> address : Address </td></tr><tr><td align="left" balign="left"> name : String </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> displayName() : String </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Person3
c47 [label=<<table title="Person3" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Person3 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> address : Address </td></tr><tr><td align="left" balign="left"> name : String </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> displayName() : String </td></tr></table></td></tr></table>>];
} }

View File

@ -5,13 +5,14 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Base ranksep=0.5;
c48 [label=<<table title="Base" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Base </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Base
// Test2<B extends a.b.Base> c48 [label=<<table title="Base" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Base </td></tr></table></td></tr></table>>];
c49 [label=<<table title="Test2" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Test2&lt;B extends Base&gt; </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Test2<B extends a.b.Base>
c49 [label=<<table title="Test2" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Test2&lt;B extends Base&gt; </td></tr></table></td></tr></table>>];
} }

View File

@ -5,21 +5,22 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// a.b.c.UMLOptions ranksep=0.5;
c50 [label=<<table title="a.b.c.UMLOptions" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> UMLOptions </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // a.b.c.UMLOptions
// a.b.c.UserGroup c50 [label=<<table title="a.b.c.UMLOptions" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> UMLOptions </td></tr></table></td></tr></table>>];
c51 [label=<<table title="a.b.c.UserGroup" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> UserGroup </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // a.b.c.UserGroup
// a.b.c.User c51 [label=<<table title="a.b.c.UserGroup" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> UserGroup </td></tr></table></td></tr></table>>];
c52 [label=<<table title="a.b.c.User" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> User </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // a.b.c.User
// a.b.c.Password c52 [label=<<table title="a.b.c.User" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> User </td></tr></table></td></tr></table>>];
c53 [label=<<table title="a.b.c.Password" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Password </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // a.b.c.Password
// a.b.c.UserGroup ASSOC a.b.c.User c53 [label=<<table title="a.b.c.Password" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Password </td></tr></table></td></tr></table>>];
c51:p -> c52:p [taillabel="*", label="", headlabel="*\n\n+user ", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // a.b.c.UserGroup assoc a.b.c.User
// a.b.c.User NAVASSOC a.b.c.Password c51:p -> c52:p [arrowhead=none,weight=2,taillabel="*", headlabel="*\n\n+user "];
c52:p -> c53:p [taillabel="1\n\n+owner\r", label="", headlabel="*\n\n+key", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open]; // a.b.c.User navassoc a.b.c.Password
c52:p -> c53:p [arrowhead=open,weight=1,taillabel="1\n\n+owner\r", headlabel="*\n\n+key"];
} }

View File

@ -5,49 +5,50 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Asset ranksep=0.5;
c55 [label=<<table title="Asset" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Asset </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Asset
// InterestBearingItem c55 [label=<<table title="Asset" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Asset </td></tr></table></td></tr></table>>];
c56 [label=<<table title="InterestBearingItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InterestBearingItem </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // InterestBearingItem
// InsurableItem c56 [label=<<table title="InterestBearingItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InterestBearingItem </td></tr></table></td></tr></table>>];
c57 [label=<<table title="InsurableItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InsurableItem </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // InsurableItem
// BankAccount c57 [label=<<table title="InsurableItem" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> InsurableItem </td></tr></table></td></tr></table>>];
c58 [label=<<table title="BankAccount" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> BankAccount </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // BankAccount
// RealEstate c58 [label=<<table title="BankAccount" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> BankAccount </td></tr></table></td></tr></table>>];
c59 [label=<<table title="RealEstate" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> RealEstate </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // RealEstate
// Security c59 [label=<<table title="RealEstate" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> RealEstate </td></tr></table></td></tr></table>>];
c60 [label=<<table title="Security" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Security </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Security
// Stock c60 [label=<<table title="Security" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Security </td></tr></table></td></tr></table>>];
c61 [label=<<table title="Stock" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Stock </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Stock
// Bond c61 [label=<<table title="Stock" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Stock </td></tr></table></td></tr></table>>];
c62 [label=<<table title="Bond" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Bond </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Bond
// CheckingAccount c62 [label=<<table title="Bond" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Bond </td></tr></table></td></tr></table>>];
c63 [label=<<table title="CheckingAccount" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> CheckingAccount </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // CheckingAccount
// SavingsAccount c63 [label=<<table title="CheckingAccount" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> CheckingAccount </td></tr></table></td></tr></table>>];
c64 [label=<<table title="SavingsAccount" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SavingsAccount </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // SavingsAccount
//BankAccount extends Asset c64 [label=<<table title="SavingsAccount" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> SavingsAccount </td></tr></table></td></tr></table>>];
c55:p -> c58:p [dir=back,arrowtail=empty]; //BankAccount extends Asset
//BankAccount extends InsurableItem c55:p -> c58:p [arrowtail=empty,dir=back,weight=10];
c57:p -> c58:p [dir=back,arrowtail=empty]; //BankAccount extends InsurableItem
//BankAccount extends InterestBearingItem c57:p -> c58:p [arrowtail=empty,dir=back,weight=10];
c56:p -> c58:p [dir=back,arrowtail=empty]; //BankAccount extends InterestBearingItem
//RealEstate extends Asset c56:p -> c58:p [arrowtail=empty,dir=back,weight=10];
c55:p -> c59:p [dir=back,arrowtail=empty]; //RealEstate extends Asset
//RealEstate extends InsurableItem c55:p -> c59:p [arrowtail=empty,dir=back,weight=10];
c57:p -> c59:p [dir=back,arrowtail=empty]; //RealEstate extends InsurableItem
//Security extends Asset c57:p -> c59:p [arrowtail=empty,dir=back,weight=10];
c55:p -> c60:p [dir=back,arrowtail=empty]; //Security extends Asset
//Stock extends Security c55:p -> c60:p [arrowtail=empty,dir=back,weight=10];
c60:p -> c61:p [dir=back,arrowtail=empty]; //Stock extends Security
//Bond extends Security c60:p -> c61:p [arrowtail=empty,dir=back,weight=10];
c60:p -> c62:p [dir=back,arrowtail=empty]; //Bond extends Security
//CheckingAccount extends BankAccount c60:p -> c62:p [arrowtail=empty,dir=back,weight=10];
c58:p -> c63:p [dir=back,arrowtail=empty]; //CheckingAccount extends BankAccount
//SavingsAccount extends BankAccount c58:p -> c63:p [arrowtail=empty,dir=back,weight=10];
c58:p -> c64:p [dir=back,arrowtail=empty]; //SavingsAccount extends BankAccount
c58:p -> c64:p [arrowtail=empty,dir=back,weight=10];
} }

View File

@ -5,13 +5,14 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Java5 ranksep=0.5;
c78 [label=<<table title="Java5" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Java5 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> ~ state : Java5.States </td></tr><tr><td align="left" balign="left"> - specifiedPackages : Set&lt;String&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> + printAll(args : String[]) </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Java5
// Java5.States c78 [label=<<table title="Java5" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Java5 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> ~ state : Java5.States </td></tr><tr><td align="left" balign="left"> - specifiedPackages : Set&lt;String&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> + printAll(args : String[]) </td></tr></table></td></tr></table>>];
c79 [label=<<table title="Java5.States" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;enumeration&#187; </td></tr><tr><td align="center" balign="center"> States </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> start </td></tr><tr><td align="left" balign="left"> dash </td></tr><tr><td align="left" balign="left"> colon </td></tr><tr><td align="left" balign="left"> space </td></tr><tr><td align="left" balign="left"> open </td></tr><tr><td align="left" balign="left"> w </td></tr><tr><td align="left" balign="left"> close </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Java5.States
c79 [label=<<table title="Java5.States" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;enumeration&#187; </td></tr><tr><td align="center" balign="center"> States </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> start </td></tr><tr><td align="left" balign="left"> dash </td></tr><tr><td align="left" balign="left"> colon </td></tr><tr><td align="left" balign="left"> space </td></tr><tr><td align="left" balign="left"> open </td></tr><tr><td align="left" balign="left"> w </td></tr><tr><td align="left" balign="left"> close </td></tr></table></td></tr></table>>];
} }

View File

@ -5,33 +5,34 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// School ranksep=0.5;
c103 [label=<<table title="School" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> School </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr><tr><td align="left" balign="left"> address : String </td></tr><tr><td align="left" balign="left"> phone : Number </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> addStudent() </td></tr><tr><td align="left" balign="left"> removeStudent() </td></tr><tr><td align="left" balign="left"> getStudent() </td></tr><tr><td align="left" balign="left"> getAllStudents() </td></tr><tr><td align="left" balign="left"> addDepartment() </td></tr><tr><td align="left" balign="left"> removeDepartment() </td></tr><tr><td align="left" balign="left"> getDepartment() </td></tr><tr><td align="left" balign="left"> getAllDepartments() </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // School
// Department c103 [label=<<table title="School" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> School </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr><tr><td align="left" balign="left"> address : String </td></tr><tr><td align="left" balign="left"> phone : Number </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> addStudent() </td></tr><tr><td align="left" balign="left"> removeStudent() </td></tr><tr><td align="left" balign="left"> getStudent() </td></tr><tr><td align="left" balign="left"> getAllStudents() </td></tr><tr><td align="left" balign="left"> addDepartment() </td></tr><tr><td align="left" balign="left"> removeDepartment() </td></tr><tr><td align="left" balign="left"> getDepartment() </td></tr><tr><td align="left" balign="left"> getAllDepartments() </td></tr></table></td></tr></table>>];
c104 [label=<<table title="Department" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Department </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> addInstructor() </td></tr><tr><td align="left" balign="left"> removeInstructor() </td></tr><tr><td align="left" balign="left"> getInstructor() </td></tr><tr><td align="left" balign="left"> getAllInstructors() </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Department
// Student c104 [label=<<table title="Department" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Department </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> addInstructor() </td></tr><tr><td align="left" balign="left"> removeInstructor() </td></tr><tr><td align="left" balign="left"> getInstructor() </td></tr><tr><td align="left" balign="left"> getAllInstructors() </td></tr></table></td></tr></table>>];
c105 [label=<<table title="Student" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Student </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr><tr><td align="left" balign="left"> studentID : Number </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Student
// Course c105 [label=<<table title="Student" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Student </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr><tr><td align="left" balign="left"> studentID : Number </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c106 [label=<<table title="Course" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Course </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr><tr><td align="left" balign="left"> courseID : Number </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Course
// Instructor c106 [label=<<table title="Course" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Course </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr><tr><td align="left" balign="left"> courseID : Number </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c107 [label=<<table title="Instructor" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Instructor </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Instructor
// School HAS Student c107 [label=<<table title="Instructor" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Instructor </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> name : Name </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr></table>>];
c103:p -> c105:p [taillabel="1..*", label="Member", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both]; // School has Student
// School COMPOSED Department c103:p -> c105:p [arrowhead=none,arrowtail=ediamond,dir=back,weight=4,taillabel="1..*", label="Member", headlabel="*"];
c103:p -> c104:p [taillabel="1..*", label="Has", headlabel="1..*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both]; // School composed Department
// Department ASSOC Course c103:p -> c104:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1..*", label="Has", headlabel="1..*"];
c104:p -> c106:p [taillabel="1..*", label="", headlabel="1..*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Department assoc Course
// Department ASSOC Instructor c104:p -> c106:p [arrowhead=none,weight=2,taillabel="1..*", headlabel="1..*"];
c104:p -> c107:p [taillabel="0..*", label="", headlabel="0..1 chairperson", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Department assoc Instructor
// Department HAS Instructor c104:p -> c107:p [arrowhead=none,weight=2,taillabel="0..*", headlabel="0..1 chairperson"];
c104:p -> c107:p [taillabel="1..*", label="AssignedTo", headlabel="1..*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both]; // Department has Instructor
// Student ASSOC Course c104:p -> c107:p [arrowhead=none,arrowtail=ediamond,dir=back,weight=4,taillabel="1..*", label="AssignedTo", headlabel="1..*"];
c105:p -> c106:p [taillabel="*", label="Attends", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Student assoc Course
// Instructor ASSOC Course c105:p -> c106:p [arrowhead=none,weight=2,taillabel="*", label="Attends", headlabel="*"];
c107:p -> c106:p [taillabel="1..*", label="Teaches", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none]; // Instructor assoc Course
c107:p -> c106:p [arrowhead=none,weight=2,taillabel="1..*", label="Teaches", headlabel="*"];
} }

View File

@ -5,13 +5,14 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Java5 ranksep=0.5;
c109 [label=<<table title="Java5" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Java5 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> ~ state : Java5.States </td></tr><tr><td align="left" balign="left"> + specifiedPackages : Set&lt;String&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> + printAll(args : String[]) </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Java5
// Java5.States c109 [label=<<table title="Java5" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Java5 </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> ~ state : Java5.States </td></tr><tr><td align="left" balign="left"> + specifiedPackages : Set&lt;String&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> + printAll(args : String[]) </td></tr></table></td></tr></table>>];
c110 [label=<<table title="Java5.States" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;enumeration&#187; </td></tr><tr><td align="center" balign="center"> States </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> start </td></tr><tr><td align="left" balign="left"> dash </td></tr><tr><td align="left" balign="left"> colon </td></tr><tr><td align="left" balign="left"> space </td></tr><tr><td align="left" balign="left"> open </td></tr><tr><td align="left" balign="left"> w </td></tr><tr><td align="left" balign="left"> close </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Java5.States
c110 [label=<<table title="Java5.States" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;enumeration&#187; </td></tr><tr><td align="center" balign="center"> States </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> start </td></tr><tr><td align="left" balign="left"> dash </td></tr><tr><td align="left" balign="left"> colon </td></tr><tr><td align="left" balign="left"> space </td></tr><tr><td align="left" balign="left"> open </td></tr><tr><td align="left" balign="left"> w </td></tr><tr><td align="left" balign="left"> close </td></tr></table></td></tr></table>>];
} }

View File

@ -5,11 +5,12 @@
# #
digraph G { digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; graph [fontnames="svg"]
node [fontname="Helvetica",fontsize=10,shape=plaintext]; edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
nodesep=0.25; node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
ranksep=0.5; nodesep=0.25;
// Toolbar ranksep=0.5;
c120 [label=<<table title="Toolbar" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Toolbar </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> # currentSelection : Tool </td></tr><tr><td align="left" balign="left"> # toolCount : Integer </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> + pickItem(i : Integer) </td></tr><tr><td align="left" balign="left"> + addTool(t : Tool) </td></tr><tr><td align="left" balign="left"> + removeTool(i : Integer) </td></tr><tr><td align="left" balign="left"> + getTool() : Tool </td></tr><tr><td align="left" balign="left"> # checkOrphans() </td></tr><tr><td align="left" balign="left"> - compact() </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0]; // Toolbar
c120 [label=<<table title="Toolbar" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> Toolbar </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> # currentSelection : Tool </td></tr><tr><td align="left" balign="left"> # toolCount : Integer </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left"> + pickItem(i : Integer) </td></tr><tr><td align="left" balign="left"> + addTool(t : Tool) </td></tr><tr><td align="left" balign="left"> + removeTool(i : Integer) </td></tr><tr><td align="left" balign="left"> + getTool() : Tool </td></tr><tr><td align="left" balign="left"> # checkOrphans() </td></tr><tr><td align="left" balign="left"> - compact() </td></tr></table></td></tr></table>>];
} }