]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop.mapping/src/org/simantics/interop/mapping/data/ObjectIdentifiable.java
Replace log4j with slf4j
[simantics/interop.git] / org.simantics.interop.mapping / src / org / simantics / interop / mapping / data / ObjectIdentifiable.java
1 package org.simantics.interop.mapping.data;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Collection;\r
5 \r
6 \r
7 public class ObjectIdentifiable implements Identifiable {\r
8 \r
9         private Object obj;\r
10         \r
11         public ObjectIdentifiable(Object obj) {\r
12                 this.obj = obj;\r
13         }\r
14         \r
15         public Object getObject() {\r
16                 return obj;\r
17         }\r
18         \r
19         @SuppressWarnings("unchecked")\r
20         @Override\r
21         public <T> T getAdapter(Class<T> clazz) {\r
22                 if (clazz == String.class)\r
23                         return (T)obj.toString();\r
24                 return null;\r
25         }\r
26         \r
27         @Override\r
28         public int hashCode() {\r
29                 return obj.hashCode();\r
30         }\r
31         \r
32         @Override\r
33         public boolean equals(Object arg0) {\r
34                 if (arg0 == null)\r
35                         return false;\r
36                 if (this.getClass() != arg0.getClass())\r
37                         return false;\r
38                 ObjectIdentifiable other = (ObjectIdentifiable)arg0;\r
39                 return obj.equals(other.obj);\r
40         }\r
41         \r
42         @Override\r
43         public Identifiable merge(Identifiable other) {\r
44                 if (other instanceof ObjectIdentifiable) {\r
45                         ObjectSetIdentifiable i = new ObjectSetIdentifiable(this.obj,((ObjectIdentifiable)other).obj);\r
46                         return i;\r
47                 } else if (other instanceof ObjectSetIdentifiable) {\r
48                         Collection<Object> coll = new ArrayList<Object>();\r
49                         coll.add(this.obj);\r
50                         coll.addAll(((ObjectSetIdentifiable)other).getObjects());\r
51                         ObjectSetIdentifiable i = new ObjectSetIdentifiable(coll);\r
52                         return i;\r
53                 }\r
54                 return null;\r
55         }\r
56         \r
57 }\r