]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.graph/src/org/simantics/graph/store/IdRes.java
Check statement collisions
[simantics/platform.git] / bundles / org.simantics.graph / src / org / simantics / graph / store / IdRes.java
1 package org.simantics.graph.store;\r
2 \r
3 import org.simantics.graph.query.Res;\r
4 \r
5 /**\r
6  * A resource that exists only in one graph fragment. The resource\r
7  * is represented as a integer identifier.\r
8  * @author Hannu Niemistö\r
9  */\r
10 public class IdRes implements Res {\r
11         public final GraphStore fragment;\r
12         public final int id;\r
13         \r
14         public IdRes(GraphStore fragment, int id) {     \r
15                 this.fragment = fragment;\r
16                 this.id = id;\r
17         }\r
18 \r
19         @Override\r
20         public int hashCode() {\r
21                 return id * 31 + fragment.hashCode();\r
22         }\r
23 \r
24         @Override\r
25         public boolean equals(Object obj) {\r
26                 if (this == obj)\r
27                         return true;\r
28                 if (obj == null || getClass() != obj.getClass())\r
29                         return false;\r
30                 IdRes other = (IdRes) obj;\r
31                 return fragment == other.fragment && id == other.id;\r
32         }       \r
33         \r
34         @Override\r
35         public String toString() {\r
36                 return "#" + id;\r
37         }\r
38                 \r
39 }\r