调用getter和setter的字符串评估

时间:2016-06-24 16:32:07

标签: java evaluation

我试图评估一个java路径对象表达式,以便调用getter或setter。 例如,以下表达式 object1.object2.attribute1 应该执行这样的代码obj.getObject2().getAttribute1();

为此,我有一个像这样的配置文件:

<grid_configuration>
    <injection>
        <cell>
            <position_X>1</position_X>
            <position_Y>2</position_Y>
            <type>Double</type>
            <expression>object1.attribute1</expression>
        </cell>
        <cell>
            <position_X>1</position_X>
            <position_Y>2</position_Y>
            <type>Double</type>
            <expression>object1.object2.attribute1</expression>
        </cell>
    </injection>
<grid_configuration>

这样的服务:

 <T> void injectData(GridConfiguration conf, T obj, Grid out);

Grid对象有一个方法void setValue(int x, int y, String value);

我的实施

<T> void injectData(GridConfiguration conf, T obj, Grid out) {
    for(Cell c : conf.getCells()) {
        int x = c.getPositionX();
        int y = c.getPositionY();
        String value = evaluateExpression(obj, c.getExpression());

        out.setValue(x, y, value);
    }
}

问题是:

是否有java函数,库或其他可帮助我构建方法的内容<T> String evaluateExpression(T obj, String expression);

否则,我需要对这个对象进行反省......但我并不特别容易相处。

提前致谢

0 个答案:

没有答案