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 @ 44446

History | View | Annotate | Download (1.07 KB)

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