Revision 44366
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