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 / InmutableSymbolTable.java @ 44622

History | View | Annotate | Download (1.07 KB)

1 44446 jjdelcerro
package org.gvsig.expressionevaluator.impl;
2
3
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
4
import org.gvsig.expressionevaluator.SymbolTable;
5
import org.gvsig.expressionevaluator.spi.AbstractSymbolTable;
6
7
/**
8
 *
9
 * @author jjdelcerro
10
 */
11
public class InmutableSymbolTable
12
        extends AbstractSymbolTable
13
        implements SymbolTable {
14
15
    private boolean locked;
16
    public InmutableSymbolTable() {
17
        this.locked = false;
18
        this.init();
19
    }
20
21
    private void init() {
22
        DefaultExpressionEvaluatorManager manager = (DefaultExpressionEvaluatorManager) ExpressionEvaluatorLocator.getManager();
23
        manager.populateSymbolTable(this);
24
        this.locked = true;
25
    }
26
27
    @Override
28
    public boolean addSymbolTable(SymbolTable symbolTable) {
29
        if( this.locked ) {
30
            throw new UnsupportedOperationException();
31
        }
32
        return super.addSymbolTable(symbolTable);
33
    }
34
35
    @Override
36
    public boolean removeSymbolTable(SymbolTable symbolTable) {
37
        throw new UnsupportedOperationException();
38
    }
39
40
41
}