]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/ge/VariableInstanceOfTest.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / ge / VariableInstanceOfTest.java
1 package org.simantics.document.linking.ge;\r
2 \r
3 import org.simantics.browsing.ui.model.tests.Test;\r
4 import org.simantics.db.ReadGraph;\r
5 import org.simantics.db.Resource;\r
6 import org.simantics.db.exception.DatabaseException;\r
7 import org.simantics.db.layer0.variable.Variable;\r
8 \r
9 public class VariableInstanceOfTest  implements Test  {\r
10         Resource type;\r
11         \r
12         public VariableInstanceOfTest(Resource type) {\r
13                 this.type = type;\r
14         }\r
15         \r
16         \r
17         @Override\r
18         public boolean isCompatible(Class<?> contentType) {\r
19                 return contentType == Variable.class;\r
20         }\r
21         \r
22         @Override\r
23         public boolean test(ReadGraph graph, Object content)\r
24                         throws DatabaseException {\r
25                 Variable variable = (Variable)content;\r
26                 Resource res = variable.getPossibleRepresents(graph);\r
27                 if (res == null)\r
28                         return false;\r
29                 return graph.isInstanceOf(res, type);\r
30         }\r
31         \r
32 \r
33 }\r