public class ClassDiagramGraph extends Graph
1: import java.awt.geom.*;
3: /**
4: A UML class diagram.
5: */
6: public class ClassDiagramGraph extends Graph
7: {
9: public boolean connect(Edge e, Point2D p1, Point2D p2)
10: {
11: Node n1 = findNode(p1);
12: Node n2 = findNode(p2);
13: if (n1 == n2) return false;
14: return super.connect(e, p1, p2);
15: }
17: public Node[] getNodePrototypes()
18: {
19: return new Node[] { new ClassNode() };
20: }
22: public Edge[] getEdgePrototypes()
23: {
24: ClassRelationshipEdge[] e = new ClassRelationshipEdge[6];
26: e[0] = new ClassRelationshipEdge();
27: e[0].setLineStyle(LineStyle.DOTTED);
28: e[0].setEndArrowHead(ArrowHead.V);
30: e[1] = new ClassRelationshipEdge();
31: e[1].setBentStyle(BentStyle.VHV);
32: e[1].setEndArrowHead(ArrowHead.TRIANGLE);
34: e[2] = new ClassRelationshipEdge();
35: e[2].setBentStyle(BentStyle.VHV);
36: e[2].setLineStyle(LineStyle.DOTTED);
37: e[2].setEndArrowHead(ArrowHead.TRIANGLE);
39: e[3] = new ClassRelationshipEdge();
40: e[3].setBentStyle(BentStyle.HVH);
41: e[3].setEndArrowHead(ArrowHead.V);
43: e[4] = new ClassRelationshipEdge();
44: e[4].setBentStyle(BentStyle.HVH);
45: e[4].setStartArrowHead(ArrowHead.DIAMOND);
47: e[5] = new ClassRelationshipEdge();
48: e[5].setBentStyle(BentStyle.HVH);
49: e[5].setStartArrowHead(ArrowHead.BLACK_DIAMOND);
51: return e;
52: }
53: }