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 / ExpressionEvaluatorImplLibrary.java @ 44759

History | View | Annotate | Download (3.3 KB)

1
package org.gvsig.expressionevaluator.impl;
2

    
3
import org.gvsig.expressionevaluator.DataTypes;
4
import org.gvsig.expressionevaluator.ExpressionEvaluatorLibrary;
5
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
6
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
7
import org.gvsig.expressionevaluator.impl.coercion.CoerceToExpression;
8
import org.gvsig.expressionevaluator.impl.coercion.CoerceToString;
9
import org.gvsig.expressionevaluator.impl.grammars.BasicGrammarFactory;
10
import org.gvsig.expressionevaluator.impl.repr.ReprBoolean;
11
import org.gvsig.expressionevaluator.impl.repr.ReprCharSequence;
12
import org.gvsig.expressionevaluator.impl.repr.ReprDate;
13
import org.gvsig.expressionevaluator.impl.repr.ReprNumber;
14
import org.gvsig.expressionevaluator.impl.repr.ReprSQLDate;
15
import org.gvsig.expressionevaluator.impl.repr.ReprSQLTime;
16
import org.gvsig.expressionevaluator.impl.repr.ReprSQLTimestamp;
17
import org.gvsig.expressionevaluator.impl.symboltable.AggregateSymbolTableFactory;
18
import org.gvsig.expressionevaluator.impl.symboltable.BasicImageSymbolTableFactory;
19
import org.gvsig.expressionevaluator.impl.symboltable.FoldersSymbolTableFactory;
20
import org.gvsig.expressionevaluator.impl.symboltable.ProgrammingSymbolTableFactory;
21
import org.gvsig.expressionevaluator.impl.symboltable.SQLSymbolTableFactory;
22
import org.gvsig.expressionevaluator.impl.symboltable.UtilsSymbolTableFactory;
23
import org.gvsig.tools.ToolsLibrary;
24
import org.gvsig.tools.ToolsLocator;
25
import org.gvsig.tools.dataTypes.DataTypesManager;
26
import org.gvsig.tools.library.AbstractLibrary;
27
import org.gvsig.tools.library.LibraryException;
28

    
29
public class ExpressionEvaluatorImplLibrary extends AbstractLibrary {
30

    
31
    @Override
32
    public void doRegistration() {
33
        registerAsImplementationOf(ExpressionEvaluatorLibrary.class);
34
        require(ToolsLibrary.class);
35
    }
36

    
37
    @Override
38
    protected void doInitialize() throws LibraryException {
39
        ExpressionEvaluatorLocator.registerManager(DefaultExpressionEvaluatorManager.class);
40
    }
41

    
42
    @Override
43
    protected void doPostInitialize() throws LibraryException {
44
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
45
        
46
        manager.registerSymbolTable(new SQLSymbolTableFactory());
47
        manager.registerSymbolTable(new UtilsSymbolTableFactory());
48
        manager.registerSymbolTable(new BasicImageSymbolTableFactory());
49
        manager.registerSymbolTable(new ProgrammingSymbolTableFactory());
50
        manager.registerSymbolTable(new FoldersSymbolTableFactory());
51
        manager.registerSymbolTable(new AggregateSymbolTableFactory());
52

    
53
        manager.registerGrammar(new BasicGrammarFactory());
54
        
55
        DefaultExpression.registerPersistence();
56

    
57
        DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager();
58

    
59
        dataTypesManager.addCoercion(DataTypes.EXPRESSION, new CoerceToExpression());
60
        dataTypesManager.addCoercion(DataTypes.STRING,new CoerceToString());
61
        
62
        ToolsLocator.registerScriptManager(DefaultExpressionEvaluatorManager.class);
63
        
64
        ReprBoolean.selfRegister();
65
        ReprCharSequence.selfRegister();
66
        ReprNumber.selfRegister();
67
        ReprDate.selfRegister();
68
        ReprSQLDate.selfRegister();
69
        ReprSQLTime.selfRegister();
70
        ReprSQLTimestamp.selfRegister();
71
        
72
    }
73
}
74