Revision 44750 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
GetattrFunction.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.lang.reflect.Field; |
4 | 4 |
import org.apache.commons.lang3.Range; |
5 |
import org.gvsig.expressionevaluator.AttributeHandler; |
|
5 | 6 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.FUNCTION_GETATTR; |
6 | 7 |
import org.gvsig.expressionevaluator.Function; |
7 | 8 |
import org.gvsig.expressionevaluator.Interpreter; |
... | ... | |
11 | 12 |
public class GetattrFunction extends AbstractFunction { |
12 | 13 |
|
13 | 14 |
public GetattrFunction() { |
14 |
super(Function.GROUP_PROGRAMMING, FUNCTION_GETATTR, Range.is(2)); |
|
15 |
super( |
|
16 |
Function.GROUP_PROGRAMMING, |
|
17 |
FUNCTION_GETATTR, |
|
18 |
Range.is(2), |
|
19 |
null, |
|
20 |
null, |
|
21 |
null, |
|
22 |
null, |
|
23 |
true |
|
24 |
); |
|
15 | 25 |
} |
16 | 26 |
|
17 | 27 |
@Override |
... | ... | |
32 | 42 |
Object value; |
33 | 43 |
if( obj instanceof DynObject ) { |
34 | 44 |
value = ((DynObject) obj).getDynValue(attrname); |
45 |
} else if( obj instanceof AttributeHandler ) { |
|
46 |
value = ((AttributeHandler) obj).get(attrname); |
|
35 | 47 |
} else { |
36 | 48 |
Class<?> theClass = obj.getClass(); |
37 | 49 |
Field field = theClass.getField(attrname); |
Also available in: Unified diff