]> gerrit.simantics Code Review - simantics/r.git/blob - org.simantics.r.scl/src/org/simantics/r/scl/variable/RAttributeNode.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 / RAttributeNode.java
1 package org.simantics.r.scl.variable;\r
2 \r
3 import org.rosuda.REngine.REXP;\r
4 \r
5 public class RAttributeNode implements RVariableNode {\r
6         private String name;\r
7         private RVariableNode parent;\r
8 \r
9         public RAttributeNode(RVariableNode parent, String name) {\r
10                 this.name = name;\r
11                 this.parent = parent;\r
12         }\r
13 \r
14         @Override\r
15         public REXP getValue() {\r
16                 REXP parentValue = parent.getValue();\r
17                 if (parentValue == null)\r
18                         return null;\r
19                 \r
20                 return parentValue.getAttribute(name);\r
21         }\r
22 \r
23         @Override\r
24         public String getName() {\r
25                 return RNodeManager.ATTRIBUTE_NAME_PREFIX + name;\r
26         }\r
27 \r
28         @Override\r
29         public RVariableNode getParent() {\r
30                 return parent;\r
31         }\r
32 }\r