Statistics
| Revision:

svn-gvsig-desktop / 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 / integration / EvaluatorDataAdapter.java @ 43521

History | View | Annotate | Download (1.44 KB)

1

    
2
package org.gvsig.integration;
3

    
4
import java.util.Iterator;
5
import org.gvsig.expressionevaluator.Function;
6
import org.gvsig.expressionevaluator.SymbolTable;
7
import org.gvsig.tools.evaluator.EvaluatorData;
8

    
9

    
10
public class EvaluatorDataAdapter implements SymbolTable {
11

    
12
    private EvaluatorData data;
13
    private final SymbolTable symbolTable;
14

    
15
    EvaluatorDataAdapter(SymbolTable symbolTable) {
16
        this.symbolTable = symbolTable;
17
    }
18

    
19
    public void setData(EvaluatorData data) {
20
        this.data = data;
21
    }
22

    
23
    @Override
24
    public Function function(String name) {
25
        return symbolTable.function(name);
26
    }
27

    
28
    @Override
29
    public boolean exists(String name) {
30
        if( data.hasDataValue(name) ) {
31
            return true;
32
        }
33
        if( data.hasContextValue(name) ) {
34
            return true;
35
        }
36
        return symbolTable.exists(name);
37
    }
38

    
39
    @Override
40
    public Object value(String name) {
41
        if( data.hasDataValue(name) ) {
42
            return data.getDataValue(name);
43
        }
44
        if( data.hasContextValue(name) ) {
45
            return data.getContextValue(name);
46
        }
47
        return symbolTable.value(name);
48
    }
49

    
50
    @Override
51
    public Iterator<String> itervars() {
52
        return null;
53
    }
54

    
55
    @Override
56
    public Iterator<Function> iterfuncs() {
57
        return symbolTable.iterfuncs();
58
    }
59

    
60
    @Override
61
    public Iterator<Function> iterator() {
62
        return symbolTable.iterfuncs();
63
    }
64

    
65
}