]> gerrit.simantics Code Review - simantics/r.git/blob - org.simantics.r.scl/src/org/simantics/r/scl/variable/RGlobalVariableNode.java
Share project "org.simantics.r.feature" into "https://www.simantics.org/svn/simantics"
[simantics/r.git] / org.simantics.r.scl / src / org / simantics / r / scl / variable / RGlobalVariableNode.java
1 package org.simantics.r.scl.variable;\r
2 \r
3 import org.rosuda.REngine.REXP;\r
4 \r
5 public class RGlobalVariableNode implements RVariableNode {\r
6         private RNodeManager manager;\r
7         private REXP expression;\r
8         private String name;\r
9         \r
10         public RGlobalVariableNode(RNodeManager manager, String name) {\r
11                 super();\r
12                 \r
13                 this.manager = manager;\r
14                 this.name = name;\r
15                 this.expression = null;\r
16         }\r
17 \r
18         public RGlobalVariableNode(RNodeManager manager, String name, REXP expression) {\r
19                 super();\r
20                 \r
21                 this.manager = manager;\r
22                 this.name = name;\r
23                 this.expression = expression;\r
24         }\r
25 \r
26         @Override\r
27         public REXP getValue() {\r
28                 if (expression == null)\r
29                         expression = manager.getGlobalValue(name); \r
30                 return expression;\r
31         }\r
32 \r
33         @Override\r
34         public String getName() {\r
35                 return name;\r
36         }\r
37 \r
38         @Override\r
39         public RVariableNode getParent() {\r
40                 return manager;\r
41         }\r
42 }\r