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 / expressionevaluator / impl / javascripting / SymbolTableToBindingsAdapter.java @ 44389

History | View | Annotate | Download (2.41 KB)

1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.expressionevaluator.impl.javascripting;
7

    
8
import java.util.Collection;
9
import java.util.HashSet;
10
import java.util.Map;
11
import java.util.Set;
12
import javax.script.Bindings;
13
import org.gvsig.expressionevaluator.MutableSymbolTable;
14

    
15
/**
16
 *
17
 * @author jjdelcerro
18
 */
19
public class SymbolTableToBindingsAdapter implements Bindings
20
{
21
    private MutableSymbolTable symbolTable;
22
    
23
    public SymbolTableToBindingsAdapter(MutableSymbolTable symbolTable) {
24
        this.symbolTable = symbolTable;
25
    }
26

    
27
    public MutableSymbolTable getSymbolTable() {
28
        return symbolTable;
29
    }
30

    
31
    @Override
32
    public Object put(String name, Object value) {
33
        Object previous = this.symbolTable.value(name);
34
        this.symbolTable.setVar(name, value);
35
        return previous;
36
    }
37

    
38
    @Override
39
    public void putAll(Map<? extends String, ? extends Object> toMerge) {
40
        for (Entry<? extends String, ? extends Object> entry : toMerge.entrySet()) {
41
            String key = entry.getKey();
42
            Object value = entry.getValue();
43
            this.symbolTable.setVar(key, value);
44
        }
45
    }
46

    
47
    @Override
48
    public boolean containsKey(Object key) {
49
        return this.symbolTable.exists(key.toString());
50
    }
51

    
52
    @Override
53
    public Object get(Object key) {
54
        return this.symbolTable.value(key.toString());
55
    }
56

    
57
    @Override
58
    public Object remove(Object key) {
59
        Object previous = this.symbolTable.value(key.toString());
60
        this.symbolTable.removeVar(key.toString());
61
       return previous;
62
    }
63

    
64

    
65
    @Override
66
    public int size() {
67
        return this.symbolTable.variables().size();
68
    }
69

    
70
    @Override
71
    public boolean isEmpty() {
72
        return this.symbolTable.variables().isEmpty();
73
    }
74

    
75
    @Override
76
    public boolean containsValue(Object value) {
77
        return false; // FIXME
78
    }
79

    
80
    @Override
81
    public void clear() {
82
        // FIXME
83
    }
84

    
85
    @Override
86
    public Set<String> keySet() {
87
        Collection<String> vars = this.symbolTable.variables();
88
        return new HashSet<>(vars);
89
    }
90

    
91
    @Override
92
    public Collection<Object> values() {
93
        return null; // FIXME
94
    }
95

    
96
    @Override
97
    public Set<Entry<String, Object>> entrySet() {
98
        return null; // FIXME
99
    }
100
    
101
}