--- /dev/null
+package org.simantics.modeling;\r
+\r
+import org.simantics.databoard.adapter.AdaptException;\r
+import org.simantics.databoard.binding.Binding;\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 VariableStructuralContext extends org.simantics.structural2.scl.VariableStructuralContext {\r
+\r
+ final private Variable selfVariable;\r
+ \r
+ public VariableStructuralContext(ReadGraph graph, Variable selfVariable) throws DatabaseException {\r
+ super(graph, selfVariable);\r
+ this.selfVariable = selfVariable;\r
+ }\r
+\r
+ public VariableStructuralContext(Variable selfVariable, Variable variable) throws DatabaseException {\r
+ super(variable);\r
+ this.selfVariable = selfVariable;\r
+ }\r
+\r
+ @Override\r
+ public Object getValue(ReadGraph g, Resource attribute, Binding binding) throws DatabaseException, AdaptException {\r
+ ModelingResources MOD = ModelingResources.getInstance(g);\r
+ if(MOD.self.equals(attribute)) return selfVariable;\r
+ return super.getValue(g, attribute, binding);\r
+ }\r
+\r
+}\r