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