Closer to compiling. at the moment, it throws a NullPointerException right after...
[IRC.git] / Robust / src / Benchmarks / oooJava / DelaunayRefinement / EdgeGraphNode.java
1 public class EdgeGraphNode implements Node {\r
2     protected HashMap inEdges;\r
3     protected HashMap outEdges;\r
4     protected Object data;\r
5 \r
6     EdgeGraphNode() {\r
7       super();\r
8     }\r
9 \r
10     EdgeGraphNode(Object d) {\r
11       super();\r
12       inEdges = new HashMap();\r
13       outEdges = new HashMap();\r
14       data = d;\r
15     }\r
16 \r
17     protected final boolean hasInNeighbor(EdgeGraphNode n) {\r
18       return inEdges.containsKey(n);\r
19     }\r
20 \r
21     protected boolean addInEdge(EdgeGraphNode n, GraphEdge e) {\r
22       if (hasInNeighbor(n)) {\r
23         return false;\r
24       } else {\r
25         inEdges.put(n, e);\r
26         return true;\r
27       }\r
28     }\r
29 \r
30     protected boolean removeInEdge(EdgeGraphNode n) {\r
31       if (!hasInNeighbor(n)) {\r
32         return false;\r
33       } else {\r
34         inEdges.remove(n);\r
35         return true;\r
36       }\r
37     }\r
38 \r
39     protected GraphEdge getInEdge(EdgeGraphNode n) {\r
40       return (GraphEdge) inEdges.get(n);\r
41     }\r
42 \r
43     protected Iterator getInEdges() {\r
44       return inEdges.iterator(1);\r
45     }\r
46 \r
47     protected final Iterator getInNeighbors() {\r
48       return inEdges.iterator(0);\r
49     }\r
50 \r
51     // TODO someone check this for performance.\r
52     protected final Iterator getInNeighborsCopy() {\r
53       LinkedList l = new LinkedList();\r
54       Iterator o = inEdges.iterator(0);\r
55       while (o.hasNext()) {\r
56         l.addLast(o);\r
57       }\r
58       return l.iterator();\r
59     }\r
60 \r
61     protected final boolean hasOutNeighbor(EdgeGraphNode n) {\r
62       return outEdges.containsKey(n);\r
63     }\r
64 \r
65     protected boolean addOutEdge(EdgeGraphNode n, GraphEdge e) {\r
66       if (hasOutNeighbor(n)) {\r
67         return false;\r
68       } else {\r
69         outEdges.put(n, e);\r
70         return true;\r
71       }\r
72     }\r
73 \r
74     protected boolean removeOutEdge(EdgeGraphNode n) {\r
75       if (!hasOutNeighbor(n)) {\r
76         return false;\r
77       } else {\r
78         outEdges.remove(n);\r
79         return true;\r
80       }\r
81     }\r
82 \r
83     protected GraphEdge getOutEdge(EdgeGraphNode n) {\r
84       return (GraphEdge) outEdges.get(n);\r
85     }\r
86 \r
87     protected Iterator getOutEdges() {\r
88       return outEdges.iterator(1);\r
89     }\r
90 \r
91     protected final Iterator getOutNeighbors() {\r
92       return outEdges.iterator(0);\r
93     }\r
94 \r
95     // TODO someone check this for performance.\r
96     protected final Iterator getOutNeighborsCopy() {\r
97       LinkedList l = new LinkedList();\r
98       Iterator o = outEdges.iterator(0);\r
99       while (o.hasNext()) {\r
100         l.addLast(o);\r
101       }\r
102       return l.iterator();\r
103     }\r
104   }