Revision 44366

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/programming/GetattrFunction.java
5 5
import org.gvsig.expressionevaluator.Function;
6 6
import org.gvsig.expressionevaluator.Interpreter;
7 7
import org.gvsig.expressionevaluator.spi.AbstractFunction;
8
import org.gvsig.tools.dynobject.DynObject;
8 9

  
9 10
public class GetattrFunction extends AbstractFunction {
10 11

  
......
29 30
        if( obj==null ) {
30 31
            throw new NullPointerException("An object pointer was expected to access attribute "+attrname+" and a null was received");
31 32
        }
32
        Class<?> theClass = obj.getClass();
33
        Field field = theClass.getField(attrname);
34
        Object value = field.get(obj);
33
        Object value;
34
        if( obj instanceof DynObject ) {
35
            value = ((DynObject) obj).getDynValue(attrname);
36
        } else {
37
            Class<?> theClass = obj.getClass();
38
            Field field = theClass.getField(attrname);
39
            value = field.get(obj);
40
        }
35 41
        return value;
36 42
    }
37 43
    

Also available in: Unified diff