mirror of https://github.com/dspinellis/UMLGraph
fixup dot formatting
This commit is contained in:
parent
1d03695f8e
commit
867dec5d9c
|
|
@ -173,9 +173,8 @@ public class DotDiff {
|
|||
} else { // that's a node
|
||||
String attributes = line.substring(openBrackedIdx + 1, closedBracketIdx);
|
||||
Map<String, String> attMap = parseAttributes(attributes);
|
||||
String name = line.substring(0, openBrackedIdx - 1).trim();
|
||||
String label = attMap.get("label");
|
||||
DotNode node = new DotNode(name, label, attMap, line);
|
||||
String name = trim(line.substring(0, openBrackedIdx - 1));
|
||||
DotNode node = new DotNode(name, attMap.get("label"), attMap, line);
|
||||
nodes.put(name, node);
|
||||
nodeList.add(node);
|
||||
}
|
||||
|
|
@ -185,19 +184,21 @@ public class DotDiff {
|
|||
int closedBracketIdx = line.lastIndexOf(']');
|
||||
String attributes = line.substring(openBrackedIdx + 1, closedBracketIdx);
|
||||
String[] names = line.substring(0, openBrackedIdx).split("->");
|
||||
DotNode from = nodes.get(names[0].trim());
|
||||
DotNode to = nodes.get(names[1].trim());
|
||||
if (from == null) {
|
||||
from = new DotNode(names[0], "", new HashMap<String, String>(), "");
|
||||
}
|
||||
if (to == null) {
|
||||
to = new DotNode(names[1], "", new HashMap<String, String>(), "");
|
||||
}
|
||||
DotNode from = nodes.get(names[0] = trim(names[0]));
|
||||
DotNode to = nodes.get(names[1] = trim(names[1]));
|
||||
from = from != null ? from : new DotNode(names[0], "", new HashMap<String, String>(), "");
|
||||
to = to != null? to : new DotNode(names[1], "", new HashMap<String, String>(), "");
|
||||
arcs.add(new DotArc(from, to, parseAttributes(attributes), line));
|
||||
}
|
||||
return extraLines;
|
||||
}
|
||||
|
||||
// Trim space AND port.
|
||||
private String trim(String name) {
|
||||
name = name.trim();
|
||||
return name.endsWith(":p") ? name.substring(0, name.length() - 2) : name;
|
||||
}
|
||||
|
||||
private Map<String, String> parseAttributes(String attributes) throws IOException {
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
|
||||
|
|
|
|||
|
|
@ -16,11 +16,11 @@ c1 [label=<<table title="test.AbstractNode" border="0" cellborder="1" cellspacin
|
|||
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>>];
|
||||
// test.Leaf
|
||||
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>>];
|
||||
//test.InnerNode extends test.AbstractNode
|
||||
// test.InnerNode extends test.AbstractNode
|
||||
c1:p -> c2:p [arrowtail=empty,dir=back,weight=10];
|
||||
// test.InnerNode composed test.AbstractNode
|
||||
c2:p -> c1:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1", label="has", headlabel="*"];
|
||||
//test.Leaf extends test.AbstractNode
|
||||
// test.Leaf extends test.AbstractNode
|
||||
c1:p -> c3:p [arrowtail=empty,dir=back,weight=10];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@ c69 [label=<<table title="MyFunnyList" border="0" cellborder="1" cellspacing="0"
|
|||
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>>];
|
||||
// D
|
||||
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>>];
|
||||
//MyFunnyList<T, V> extends java.util.ArrayList<T>
|
||||
// MyFunnyList<T, V> extends java.util.ArrayList<T>
|
||||
c72:p -> c69:p [arrowtail=empty,dir=back,weight=10];
|
||||
//MyList extends MyFunnyList<A, B>
|
||||
// MyList extends MyFunnyList<A, B>
|
||||
c69:p -> c70:p [arrowtail=empty,dir=back,weight=10];
|
||||
// A has B
|
||||
c66:p -> c67:p [arrowhead=none,arrowtail=ediamond,dir=back,weight=4];
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ c74 [label=<<table title="Application" border="0" cellborder="1" cellspacing="0"
|
|||
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>>];
|
||||
// Main
|
||||
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>>];
|
||||
//IrpApplication extends Application
|
||||
// IrpApplication extends Application
|
||||
c74:p -> c75:p [arrowtail=empty,dir=back,weight=10];
|
||||
// Main depend IrpApplication
|
||||
c76:p -> c75:p [arrowhead=open,style=dashed,weight=0,label="«friend»"];
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@ nodesep=0.25;
|
|||
ranksep=0.5;
|
||||
// MyVector<E, P>
|
||||
c85 [label=<<table title="MyVector" 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"> MyVector<E, P> </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"> ~ addAll(index : int, c : Collection<E>) : boolean </td></tr><tr><td align="left" balign="left"> ~ foo(x : MyVector<P, MyVector<E, E>>) : MyVector<E, P> </td></tr><tr><td align="left" balign="left"> ~ removeAll(c : Collection<?>) : boolean </td></tr><tr><td align="left" balign="left"> ~ set(index : int, element : E) : E </td></tr></table></td></tr></table>>];
|
||||
//MyVector<E, P> extends java.util.Vector<E>
|
||||
// MyVector<E, P> extends java.util.Vector<E>
|
||||
c86:p -> c85:p [arrowtail=empty,dir=back,weight=10];
|
||||
//MyVector<E, P> implements java.util.List<E>
|
||||
// MyVector<E, P> implements java.util.List<E>
|
||||
c87:p -> c85:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//MyVector<E, P> implements java.util.RandomAccess
|
||||
// MyVector<E, P> implements java.util.RandomAccess
|
||||
c88:p -> c85:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//MyVector<E, P> implements java.lang.Cloneable
|
||||
// MyVector<E, P> implements java.lang.Cloneable
|
||||
c89:p -> c85:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
// java.util.RandomAccess
|
||||
c88 [label=<<table title="java.util.RandomAccess" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://docs.oracle.com/javase/7/docs/api/java/util/RandomAccess.html" target="_parent"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> «interface» </td></tr><tr><td align="center" balign="center"> RandomAccess </td></tr></table></td></tr></table>>, URL="http://docs.oracle.com/javase/7/docs/api/java/util/RandomAccess.html"];
|
||||
|
|
|
|||
|
|
@ -34,15 +34,15 @@ c90:p -> c94:p [arrowhead=none,weight=2,headlabel="0..n"];
|
|||
c90:p -> c95:p [arrowhead=none,weight=2,headlabel="0..n"];
|
||||
// Root assoc DataOperation
|
||||
c90:p -> c96:p [arrowhead=none,weight=2,headlabel="0..n"];
|
||||
//ObjectType extends Element
|
||||
// ObjectType extends Element
|
||||
c92:p -> c93:p [arrowtail=empty,dir=back,weight=10];
|
||||
//ObjectMap extends Element
|
||||
// ObjectMap extends Element
|
||||
c92:p -> c94:p [arrowtail=empty,dir=back,weight=10];
|
||||
// ObjectMap has ObjectType
|
||||
c94:p -> c93:p [arrowhead=none,arrowtail=ediamond,dir=back,weight=4,taillabel="1..1", headlabel="1..1"];
|
||||
//Table extends Element
|
||||
// Table extends Element
|
||||
c92:p -> c95:p [arrowtail=empty,dir=back,weight=10];
|
||||
//DataOperation extends Element
|
||||
// DataOperation extends Element
|
||||
c92:p -> c96:p [arrowtail=empty,dir=back,weight=10];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,11 +16,11 @@ c112 [label=<<table title="net.sf.whatever.test.AbstractBase" border="0" cellbor
|
|||
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>>];
|
||||
// net.sf.whatever.test.Style
|
||||
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>>];
|
||||
//net.sf.whatever.test.Composite extends net.sf.whatever.test.AbstractBase
|
||||
// net.sf.whatever.test.Composite extends net.sf.whatever.test.AbstractBase
|
||||
c112:p -> c113:p [arrowtail=empty,dir=back,weight=10];
|
||||
// net.sf.whatever.test.Composite composed from.Outer.Space.AlienClass
|
||||
c113:p -> c115:p [arrowhead=none,arrowtail=diamond,dir=back,weight=6,taillabel="1",label="has",headlabel="*"];
|
||||
//net.sf.whatever.test.Style extends net.sf.whatever.test.AbstractBase
|
||||
// net.sf.whatever.test.Style extends net.sf.whatever.test.AbstractBase
|
||||
c112:p -> c114:p [arrowtail=empty,dir=back,weight=10];
|
||||
// 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>>];
|
||||
|
|
|
|||
|
|
@ -7,38 +7,38 @@
|
|||
digraph G {
|
||||
graph [fontnames="svg"]
|
||||
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
|
||||
node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
|
||||
nodesep=0.25;
|
||||
ranksep=0.5;
|
||||
// gr.spinellis.context.classes.AClient
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.ASubclass
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.E
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.D
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.B
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.ABaseClass
|
||||
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>>];
|
||||
// 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>>];
|
||||
//gr.spinellis.context.classes.ASubclass extends gr.spinellis.context.classes.A
|
||||
c434:p -> c426:p [arrowtail=empty,dir=back,weight=10];
|
||||
//gr.spinellis.context.classes.A extends gr.spinellis.context.classes.ABaseClass
|
||||
c433:p -> c434:p [arrowtail=empty,dir=back,weight=10];
|
||||
// gr.spinellis.context.classes.D navassoc gr.spinellis.context.classes.A
|
||||
c429:p -> c434:p [arrowhead=open,weight=1];
|
||||
// gr.spinellis.context.classes.A navassoc gr.spinellis.context.classes.B
|
||||
c434:p -> c432:p [arrowhead=open,weight=1];
|
||||
// gr.spinellis.context.classes.A navassoc javax.swing.JComponent
|
||||
c434:p -> c509:p [arrowhead=open,weight=1];
|
||||
// gr.spinellis.context.classes.AClient depend gr.spinellis.context.classes.A
|
||||
c424:p -> c434:p [arrowhead=open,style=dashed,weight=0];
|
||||
// gr.spinellis.context.classes.A depend gr.spinellis.context.classes.E
|
||||
c434:p -> c427:p [arrowhead=open,style=dashed,weight=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"];
|
||||
node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
|
||||
nodesep=0.25;
|
||||
ranksep=0.5;
|
||||
// gr.spinellis.context.classes.AClient
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.ASubclass
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.E
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.D
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.B
|
||||
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>>];
|
||||
// gr.spinellis.context.classes.ABaseClass
|
||||
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>>];
|
||||
// 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>>];
|
||||
// gr.spinellis.context.classes.ASubclass extends gr.spinellis.context.classes.A
|
||||
c434:p -> c426:p [arrowtail=empty,dir=back,weight=10];
|
||||
// gr.spinellis.context.classes.A extends gr.spinellis.context.classes.ABaseClass
|
||||
c433:p -> c434:p [arrowtail=empty,dir=back,weight=10];
|
||||
// gr.spinellis.context.classes.D navassoc gr.spinellis.context.classes.A
|
||||
c429:p -> c434:p [arrowhead=open,weight=1];
|
||||
// gr.spinellis.context.classes.A navassoc gr.spinellis.context.classes.B
|
||||
c434:p -> c432:p [arrowhead=open,weight=1];
|
||||
// gr.spinellis.context.classes.A navassoc javax.swing.JComponent
|
||||
c434:p -> c509:p [arrowhead=open,weight=1];
|
||||
// gr.spinellis.context.classes.AClient depend gr.spinellis.context.classes.A
|
||||
c424:p -> c434:p [arrowhead=open,style=dashed,weight=0];
|
||||
// gr.spinellis.context.classes.A depend gr.spinellis.context.classes.E
|
||||
c434:p -> c427:p [arrowhead=open,style=dashed,weight=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"];
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ c537 [label=<<table title="gr.spinellis.iface.classes.SubSubFace" border="0" cel
|
|||
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"> «interface» </td></tr><tr><td align="center" balign="center"> SubFace </td></tr></table></td></tr></table>>];
|
||||
// gr.spinellis.iface.classes.Face
|
||||
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"> «interface» </td></tr><tr><td align="center" balign="center"> Face </td></tr></table></td></tr></table>>];
|
||||
//gr.spinellis.iface.classes.FarImplementor implements gr.spinellis.iface.classes.SubSubFace
|
||||
// gr.spinellis.iface.classes.FarImplementor implements gr.spinellis.iface.classes.SubSubFace
|
||||
c537:p -> c534:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//gr.spinellis.iface.classes.DirectImplementor implements gr.spinellis.iface.classes.Face
|
||||
// gr.spinellis.iface.classes.DirectImplementor implements gr.spinellis.iface.classes.Face
|
||||
c539:p -> c535:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//gr.spinellis.iface.classes.SubSubFace implements gr.spinellis.iface.classes.SubFace
|
||||
// gr.spinellis.iface.classes.SubSubFace implements gr.spinellis.iface.classes.SubFace
|
||||
c538:p -> c537:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//gr.spinellis.iface.classes.SubFace implements gr.spinellis.iface.classes.Face
|
||||
// gr.spinellis.iface.classes.SubFace implements gr.spinellis.iface.classes.Face
|
||||
c539:p -> c538:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,26 +7,26 @@
|
|||
digraph G {
|
||||
graph [fontnames="svg"]
|
||||
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10,color="black"];
|
||||
node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
|
||||
nodesep=0.25;
|
||||
ranksep=0.5;
|
||||
// gr.spinellis.subclass.classes.SubOneTwo
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.SubOneOne
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.SubTwo
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.SubOne
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.Super
|
||||
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>>];
|
||||
//gr.spinellis.subclass.classes.SubOneTwo extends gr.spinellis.subclass.classes.SubOne
|
||||
c583:p -> c580:p [arrowtail=empty,dir=back,weight=10];
|
||||
//gr.spinellis.subclass.classes.SubOneOne extends gr.spinellis.subclass.classes.SubOne
|
||||
c583:p -> c581:p [arrowtail=empty,dir=back,weight=10];
|
||||
//gr.spinellis.subclass.classes.SubTwo extends gr.spinellis.subclass.classes.Super
|
||||
c584:p -> c582:p [arrowtail=empty,dir=back,weight=10];
|
||||
//gr.spinellis.subclass.classes.SubOne extends gr.spinellis.subclass.classes.Super
|
||||
c584:p -> c583:p [arrowtail=empty,dir=back,weight=10];
|
||||
node [fontname="Helvetica",fontcolor="black",fontsize=10,shape=plaintext];
|
||||
nodesep=0.25;
|
||||
ranksep=0.5;
|
||||
// gr.spinellis.subclass.classes.SubOneTwo
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.SubOneOne
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.SubTwo
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.SubOne
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.Super
|
||||
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>>];
|
||||
// gr.spinellis.subclass.classes.SubOneTwo extends gr.spinellis.subclass.classes.SubOne
|
||||
c583:p -> c580:p [arrowtail=empty,dir=back,weight=10];
|
||||
// gr.spinellis.subclass.classes.SubOneOne extends gr.spinellis.subclass.classes.SubOne
|
||||
c583:p -> c581:p [arrowtail=empty,dir=back,weight=10];
|
||||
// gr.spinellis.subclass.classes.SubTwo extends gr.spinellis.subclass.classes.Super
|
||||
c584:p -> c582:p [arrowtail=empty,dir=back,weight=10];
|
||||
// gr.spinellis.subclass.classes.SubOne extends gr.spinellis.subclass.classes.Super
|
||||
c584:p -> c583:p [arrowtail=empty,dir=back,weight=10];
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@ c8 [label=<<table title="SetTopController" border="0" cellborder="1" cellspacing
|
|||
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>>];
|
||||
// URLStreamHandler
|
||||
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"> «interface» </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>>];
|
||||
//SetTopController extends Controller
|
||||
// SetTopController extends Controller
|
||||
c5:p -> c8:p [arrowtail=empty,dir=back,weight=10];
|
||||
//SetTopController extends EmbeddedAgent
|
||||
// SetTopController extends EmbeddedAgent
|
||||
c6:p -> c8:p [arrowtail=empty,dir=back,weight=10];
|
||||
//SetTopController implements URLStreamHandler
|
||||
// SetTopController implements URLStreamHandler
|
||||
c10:p -> c8:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
// SetTopController navassoc PowerManager
|
||||
c8:p -> c7:p [arrowhead=open,weight=1];
|
||||
|
|
|
|||
|
|
@ -30,29 +30,29 @@ c26 [label=<<table title="ResponseFacade" border="0" cellborder="1" cellspacing=
|
|||
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"> «interface» </td></tr><tr><td align="center" balign="center"> ServletResponse </td></tr></table></td></tr></table>>];
|
||||
// Response
|
||||
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"> «interface» </td></tr><tr><td align="center" balign="center"> Response </td></tr></table></td></tr></table>>];
|
||||
//HttpResponseBase extends ResponseBase
|
||||
// HttpResponseBase extends ResponseBase
|
||||
c24:p -> c19:p [arrowtail=empty,dir=back,weight=10];
|
||||
//HttpResponseBase implements HttpResponse
|
||||
// HttpResponseBase implements HttpResponse
|
||||
c23:p -> c19:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//HttpResponseBase implements HttpServletResponse
|
||||
// HttpResponseBase implements HttpServletResponse
|
||||
c25:p -> c19:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//HttpResponseWrapper extends ResponseWrapper
|
||||
// HttpResponseWrapper extends ResponseWrapper
|
||||
c22:p -> c20:p [arrowtail=empty,dir=back,weight=10];
|
||||
//HttpResponseWrapper implements HttpResponse
|
||||
// HttpResponseWrapper implements HttpResponse
|
||||
c23:p -> c20:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//HttpResponseFacade extends ResponseFacade
|
||||
// HttpResponseFacade extends ResponseFacade
|
||||
c26:p -> c21:p [arrowtail=empty,dir=back,weight=10];
|
||||
//HttpResponseFacade implements HttpServletResponse
|
||||
// HttpResponseFacade implements HttpServletResponse
|
||||
c25:p -> c21:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//ResponseWrapper implements Response
|
||||
// ResponseWrapper implements Response
|
||||
c28:p -> c22:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//HttpResponse implements Response
|
||||
// HttpResponse implements Response
|
||||
c28:p -> c23:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//ResponseBase implements Response
|
||||
// ResponseBase implements Response
|
||||
c28:p -> c24:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//ResponseBase implements ServletResponse
|
||||
// ResponseBase implements ServletResponse
|
||||
c27:p -> c24:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
//ResponseFacade implements ServletResponse
|
||||
// ResponseFacade implements ServletResponse
|
||||
c27:p -> c26:p [arrowtail=empty,style=dashed,dir=back,weight=9];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ c30 [label=<<table title="Person" border="0" cellborder="1" cellspacing="0" cell
|
|||
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>>];
|
||||
// Client
|
||||
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>>];
|
||||
//Employee extends Person
|
||||
// Employee extends Person
|
||||
c30:p -> c31:p [arrowtail=empty,dir=back,weight=10];
|
||||
//Client extends Person
|
||||
// Client extends Person
|
||||
c30:p -> c32:p [arrowtail=empty,dir=back,weight=10];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,25 +30,25 @@ c62 [label=<<table title="Bond" border="0" cellborder="1" cellspacing="0" cellpa
|
|||
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>>];
|
||||
// SavingsAccount
|
||||
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>>];
|
||||
//BankAccount extends Asset
|
||||
// BankAccount extends Asset
|
||||
c55:p -> c58:p [arrowtail=empty,dir=back,weight=10];
|
||||
//BankAccount extends InsurableItem
|
||||
// BankAccount extends InsurableItem
|
||||
c57:p -> c58:p [arrowtail=empty,dir=back,weight=10];
|
||||
//BankAccount extends InterestBearingItem
|
||||
// BankAccount extends InterestBearingItem
|
||||
c56:p -> c58:p [arrowtail=empty,dir=back,weight=10];
|
||||
//RealEstate extends Asset
|
||||
// RealEstate extends Asset
|
||||
c55:p -> c59:p [arrowtail=empty,dir=back,weight=10];
|
||||
//RealEstate extends InsurableItem
|
||||
// RealEstate extends InsurableItem
|
||||
c57:p -> c59:p [arrowtail=empty,dir=back,weight=10];
|
||||
//Security extends Asset
|
||||
// Security extends Asset
|
||||
c55:p -> c60:p [arrowtail=empty,dir=back,weight=10];
|
||||
//Stock extends Security
|
||||
// Stock extends Security
|
||||
c60:p -> c61:p [arrowtail=empty,dir=back,weight=10];
|
||||
//Bond extends Security
|
||||
// Bond extends Security
|
||||
c60:p -> c62:p [arrowtail=empty,dir=back,weight=10];
|
||||
//CheckingAccount extends BankAccount
|
||||
// CheckingAccount extends BankAccount
|
||||
c58:p -> c63:p [arrowtail=empty,dir=back,weight=10];
|
||||
//SavingsAccount extends BankAccount
|
||||
// SavingsAccount extends BankAccount
|
||||
c58:p -> c64:p [arrowtail=empty,dir=back,weight=10];
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue