]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling/src/org/simantics/modeling/VariableStructuralContext.java
Sync git svn branch with SVN repository r33366.
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / VariableStructuralContext.java
1 package org.simantics.modeling;\r
2 \r
3 import org.simantics.databoard.adapter.AdaptException;\r
4 import org.simantics.databoard.binding.Binding;\r
5 import org.simantics.db.ReadGraph;\r
6 import org.simantics.db.Resource;\r
7 import org.simantics.db.exception.DatabaseException;\r
8 import org.simantics.db.layer0.variable.Variable;\r
9 \r
10 public class VariableStructuralContext extends org.simantics.structural2.scl.VariableStructuralContext {\r
11 \r
12         final private Variable selfVariable;\r
13         \r
14         public VariableStructuralContext(ReadGraph graph, Variable selfVariable) throws DatabaseException {\r
15                 super(graph, selfVariable);\r
16                 this.selfVariable = selfVariable;\r
17         }\r
18 \r
19     public VariableStructuralContext(Variable selfVariable, Variable variable) throws DatabaseException {\r
20         super(variable);\r
21         this.selfVariable = selfVariable;\r
22     }\r
23 \r
24         @Override\r
25         public Object getValue(ReadGraph g, Resource attribute, Binding binding) throws DatabaseException, AdaptException {\r
26                 ModelingResources MOD = ModelingResources.getInstance(g);\r
27                 if(MOD.self.equals(attribute)) return selfVariable;\r
28                 return super.getValue(g, attribute, binding);\r
29         }\r
30 \r
31 }\r