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 / BindingsToSymbolTableAdapter.java @ 44389

History | View | Annotate | Download (1.42 KB)

1
package org.gvsig.expressionevaluator.impl.javascripting;
2

    
3
import java.util.Collection;
4
import javax.script.Bindings;
5
import org.gvsig.expressionevaluator.MutableSymbolTable;
6
import org.gvsig.expressionevaluator.impl.DefaultSymbolTable;
7

    
8
/**
9
 *
10
 * @author jjdelcerro
11
 */
12
public class BindingsToSymbolTableAdapter 
13
        extends DefaultSymbolTable
14
        implements MutableSymbolTable 
15
    {
16
    
17
    private final Bindings bindings;
18

    
19
    public BindingsToSymbolTableAdapter(Bindings bindings) {
20
        this.bindings = bindings;
21
    }
22
    @Override
23
    public void setVar(String name, Object value) {
24
        this.bindings.put(name, value);
25
    }
26

    
27
    @Override
28
    public void removeVar(String name) {
29
        this.bindings.remove(name);
30
    }
31

    
32
    @Override
33
    @SuppressWarnings("CloneDoesntCallSuperClone")
34
    public MutableSymbolTable clone() throws CloneNotSupportedException {
35
        throw new CloneNotSupportedException();
36
    }
37

    
38
    @Override
39
    public String getName() {
40
        return "Anonimous";
41
    }
42

    
43
    @Override
44
    public boolean exists(String name) {
45
        return this.bindings.containsKey(name);
46
    }
47

    
48
    @Override
49
    public Object value(String name) {
50
        return this.bindings.get(name);
51
    }
52

    
53
    @Override
54
    public Collection<String> variables() {
55
        return this.bindings.keySet();
56
    }
57

    
58
    @Override
59
    public Collection<String> localvariables() {
60
        return this.bindings.keySet();
61
    }
62

    
63
    
64
}