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 |
} |