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