--- /dev/null
+package org.simantics.document.linking.ge;\r
+\r
+import org.simantics.browsing.ui.model.tests.Test;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.layer0.variable.Variable;\r
+\r
+public class VariableInstanceOfTest implements Test {\r
+ Resource type;\r
+ \r
+ public VariableInstanceOfTest(Resource type) {\r
+ this.type = type;\r
+ }\r
+ \r
+ \r
+ @Override\r
+ public boolean isCompatible(Class<?> contentType) {\r
+ return contentType == Variable.class;\r
+ }\r
+ \r
+ @Override\r
+ public boolean test(ReadGraph graph, Object content)\r
+ throws DatabaseException {\r
+ Variable variable = (Variable)content;\r
+ Resource res = variable.getPossibleRepresents(graph);\r
+ if (res == null)\r
+ return false;\r
+ return graph.isInstanceOf(res, type);\r
+ }\r
+ \r
+\r
+}\r