]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.reflection/src/org/simantics/scl/reflection/functions/FieldAccessorFunction.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.scl.reflection / src / org / simantics / scl / reflection / functions / FieldAccessorFunction.java
1 package org.simantics.scl.reflection.functions;\r
2 \r
3 import java.lang.reflect.Field;\r
4 \r
5 import org.simantics.scl.runtime.function.FunctionImpl1;\r
6 \r
7 public class FieldAccessorFunction extends FunctionImpl1 {\r
8     Field field;\r
9 \r
10     public FieldAccessorFunction(Field field) {\r
11         this.field = field;\r
12     }\r
13 \r
14     public Field getField() {\r
15         return field;\r
16     }\r
17     \r
18     @Override\r
19     public Object apply(Object p0) {\r
20         try {\r
21             return field.get(p0);\r
22         } catch (IllegalArgumentException e) {\r
23             throw new RuntimeException(e);\r
24         } catch (IllegalAccessException e) {\r
25             throw new RuntimeException(e);\r
26         }\r
27     }\r
28     \r
29     @Override\r
30     public String toString() {\r
31         return field.getName();\r
32     }\r
33 }\r