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 / symboltable / SQLSymbolTable.java @ 46047

History | View | Annotate | Download (12.1 KB)

1
package org.gvsig.expressionevaluator.impl.symboltable;
2

    
3
import org.gvsig.expressionevaluator.Function;
4
import org.gvsig.expressionevaluator.impl.function.date.CurrentDateFunction;
5
import org.gvsig.expressionevaluator.impl.function.date.CurrentTimeFunction;
6
import org.gvsig.expressionevaluator.impl.function.date.DateAddFunction;
7
import org.gvsig.expressionevaluator.impl.function.date.DateDiffFunction;
8
import org.gvsig.expressionevaluator.impl.function.date.ToDateFunction;
9
import org.gvsig.expressionevaluator.impl.function.date.CurrentTimestampFunction;
10
import org.gvsig.expressionevaluator.impl.function.date.DateFunction;
11
import org.gvsig.expressionevaluator.impl.function.date.ExtractFunction;
12
import org.gvsig.expressionevaluator.impl.function.date.TimeFunction;
13
import org.gvsig.expressionevaluator.impl.function.date.TimestampFunction;
14
import org.gvsig.expressionevaluator.impl.function.date.ToTimestampFunction;
15
import org.gvsig.expressionevaluator.impl.function.numeric.ACosFunction;
16
import org.gvsig.expressionevaluator.impl.function.numeric.ASinFunction;
17
import org.gvsig.expressionevaluator.impl.function.numeric.ATanFunction;
18
import org.gvsig.expressionevaluator.impl.function.numeric.AbsFunction;
19
import org.gvsig.expressionevaluator.impl.function.numeric.BitAndFunction;
20
import org.gvsig.expressionevaluator.impl.function.numeric.BitGetFunction;
21
import org.gvsig.expressionevaluator.impl.function.numeric.BitOrFunction;
22
import org.gvsig.expressionevaluator.impl.function.numeric.BitXorFunction;
23
import org.gvsig.expressionevaluator.impl.function.numeric.CeilFunction;
24
import org.gvsig.expressionevaluator.impl.function.numeric.CosFunction;
25
import org.gvsig.expressionevaluator.impl.function.numeric.CoshFunction;
26
import org.gvsig.expressionevaluator.impl.function.numeric.CotFunction;
27
import org.gvsig.expressionevaluator.impl.function.numeric.DegreesFunction;
28
import org.gvsig.expressionevaluator.impl.function.numeric.ExpFunction;
29
import org.gvsig.expressionevaluator.impl.function.numeric.FloorFunction;
30
import org.gvsig.expressionevaluator.impl.function.numeric.Log10Function;
31
import org.gvsig.expressionevaluator.impl.function.numeric.LogFunction;
32
import org.gvsig.expressionevaluator.impl.function.numeric.ModFunction;
33
import org.gvsig.expressionevaluator.impl.function.numeric.PiFunction;
34
import org.gvsig.expressionevaluator.impl.function.numeric.PowFunction;
35
import org.gvsig.expressionevaluator.impl.function.numeric.RadiansFunction;
36
import org.gvsig.expressionevaluator.impl.function.numeric.RandFunction;
37
import org.gvsig.expressionevaluator.impl.function.numeric.RoundFunction;
38
import org.gvsig.expressionevaluator.impl.function.numeric.SignFunction;
39
import org.gvsig.expressionevaluator.impl.function.numeric.SinFunction;
40
import org.gvsig.expressionevaluator.impl.function.numeric.SinhFunction;
41
import org.gvsig.expressionevaluator.impl.function.numeric.SqrtFunction;
42
import org.gvsig.expressionevaluator.impl.function.numeric.TanFunction;
43
import org.gvsig.expressionevaluator.impl.function.numeric.TanhFunction;
44
import org.gvsig.expressionevaluator.impl.function.numeric.ZeroFunction;
45
import org.gvsig.expressionevaluator.impl.function.programming.IFNULLFunction;
46
import org.gvsig.expressionevaluator.impl.function.programming.IIFFunction;
47
import org.gvsig.expressionevaluator.impl.function.operator.AddOperator;
48
import org.gvsig.expressionevaluator.impl.function.operator.AndOperator;
49
import org.gvsig.expressionevaluator.impl.function.operator.ConcatOperator;
50
import org.gvsig.expressionevaluator.impl.function.operator.DivOperator;
51
import org.gvsig.expressionevaluator.impl.function.operator.EqOperator;
52
import org.gvsig.expressionevaluator.impl.function.operator.GeOperator;
53
import org.gvsig.expressionevaluator.impl.function.operator.GtOperator;
54
import org.gvsig.expressionevaluator.impl.function.operator.IsOperator;
55
import org.gvsig.expressionevaluator.impl.function.operator.LeOperator;
56
import org.gvsig.expressionevaluator.impl.function.operator.LtOperator;
57
import org.gvsig.expressionevaluator.impl.function.operator.MulOperator;
58
import org.gvsig.expressionevaluator.impl.function.operator.NeOperator;
59
import org.gvsig.expressionevaluator.impl.function.operator.NegOperator;
60
import org.gvsig.expressionevaluator.impl.function.operator.NotOperator;
61
import org.gvsig.expressionevaluator.impl.function.operator.OrOperator;
62
import org.gvsig.expressionevaluator.impl.function.operator.RegExpOperator;
63
import org.gvsig.expressionevaluator.impl.function.operator.SubstOperator;
64
import org.gvsig.expressionevaluator.impl.function.predicate.IlikeOperator;
65
import org.gvsig.expressionevaluator.impl.function.predicate.LikeOperator;
66
import org.gvsig.expressionevaluator.impl.function.programming.IFFunction;
67
import org.gvsig.expressionevaluator.impl.function.string.AsciiFunction;
68
import org.gvsig.expressionevaluator.impl.function.string.CharFunction;
69
import org.gvsig.expressionevaluator.impl.function.string.ConcatFunction;
70
import org.gvsig.expressionevaluator.impl.function.typeconversion.DecodeFunction;
71
import org.gvsig.expressionevaluator.impl.function.typeconversion.JsonValueFunction;
72
import org.gvsig.expressionevaluator.impl.function.string.FormatFunction;
73
import org.gvsig.expressionevaluator.impl.function.string.InstrFunction;
74
import org.gvsig.expressionevaluator.impl.function.string.LTrimFunction;
75
import org.gvsig.expressionevaluator.impl.function.string.LeftFunction;
76
import org.gvsig.expressionevaluator.impl.function.string.LengthFunction;
77
import org.gvsig.expressionevaluator.impl.function.string.LocateFunction;
78
import org.gvsig.expressionevaluator.impl.function.string.LowerFunction;
79
import org.gvsig.expressionevaluator.impl.function.string.LpadFunction;
80
import org.gvsig.expressionevaluator.impl.function.string.MidFunction;
81
import org.gvsig.expressionevaluator.impl.function.string.RTrimFunction;
82
import org.gvsig.expressionevaluator.impl.function.string.RepeatFunction;
83
import org.gvsig.expressionevaluator.impl.function.string.ReplaceFunction;
84
import org.gvsig.expressionevaluator.impl.function.string.ReverseFunction;
85
import org.gvsig.expressionevaluator.impl.function.string.ReverseInStrFunction;
86
import org.gvsig.expressionevaluator.impl.function.string.RightFunction;
87
import org.gvsig.expressionevaluator.impl.function.string.RpadFunction;
88
import org.gvsig.expressionevaluator.impl.function.string.SpaceFunction;
89
import org.gvsig.expressionevaluator.impl.function.string.SubstringFunction;
90
import org.gvsig.expressionevaluator.impl.function.string.TrimFunction;
91
import org.gvsig.expressionevaluator.impl.function.string.UUIDFunction;
92
import org.gvsig.expressionevaluator.impl.function.string.UpperFunction;
93
import org.gvsig.expressionevaluator.impl.function.typeconversion.CastFunction;
94
import org.gvsig.expressionevaluator.impl.function.typeconversion.EncodeFunction;
95
import org.gvsig.expressionevaluator.impl.function.typeconversion.ToDoubleFunction;
96
import org.gvsig.expressionevaluator.impl.function.typeconversion.ToFloatFunction;
97
import org.gvsig.expressionevaluator.impl.function.typeconversion.ToIntegerFunction;
98
import org.gvsig.expressionevaluator.impl.function.typeconversion.ToJsonFunction;
99
import org.gvsig.expressionevaluator.impl.function.typeconversion.ToLongFunction;
100
import org.gvsig.expressionevaluator.impl.function.typeconversion.ToStrFunction;
101
import org.gvsig.expressionevaluator.spi.AbstractSymbolTable;
102

    
103
/**
104
 *
105
 * @author jjdelcerro
106
 */
107
public class SQLSymbolTable extends AbstractSymbolTable {
108
    static final String NAME = "SQL";
109
    
110
    @SuppressWarnings("OverridableMethodCallInConstructor")
111
    public SQLSymbolTable() {
112
        super(NAME);
113
        
114
        this.addOperator(new AndOperator());
115
        this.addOperator(new AddOperator());
116
        this.addOperator(new DivOperator());
117
        this.addOperator(new EqOperator());
118
        this.addOperator(new IsOperator());
119
        this.addOperator(new GeOperator());
120
        this.addOperator(new GtOperator());
121
        this.addOperator(new LeOperator());
122
        this.addOperator(new LtOperator());
123
        this.addOperator(new NeOperator());
124
        this.addOperator(new MulOperator());
125
        this.addOperator(new NeOperator());
126
        this.addOperator(new NotOperator());
127
        this.addOperator(new OrOperator());
128
        this.addOperator(new SubstOperator());
129
        this.addOperator(new ConcatOperator());
130
        
131
        this.addOperator(new IlikeOperator());
132
        this.addOperator(new LikeOperator());
133
        this.addOperator(new RegExpOperator());
134
        this.addOperator(new NegOperator());
135
        
136
        this.addFunction(new ACosFunction());
137
        this.addFunction(new ASinFunction());
138
        this.addFunction(new ATanFunction());
139
        this.addFunction(new AbsFunction());
140
        this.addFunction(new BitAndFunction());
141
        this.addFunction(new BitOrFunction());
142
        this.addFunction(new BitXorFunction());
143
        this.addFunction(new BitGetFunction());
144
        this.addFunction(new CeilFunction());
145
        this.addFunction(new CosFunction());
146
        this.addFunction(new CoshFunction());
147
        this.addFunction(new CotFunction());
148
        this.addFunction(new DegreesFunction());
149
        this.addFunction(new ExpFunction());
150
        this.addFunction(new FloorFunction());
151
        this.addFunction(new Log10Function());
152
        this.addFunction(new LogFunction());
153
        this.addFunction(new PiFunction());
154
        this.addFunction(new PowFunction());
155
        this.addFunction(new RadiansFunction());
156
        this.addFunction(new RandFunction());
157
        this.addFunction(new RoundFunction());
158
        this.addFunction(new SignFunction());
159
        this.addFunction(new SinFunction());
160
        this.addFunction(new SinhFunction());
161
        this.addFunction(new SqrtFunction());
162
        this.addFunction(new TanFunction());
163
        this.addFunction(new TanhFunction());
164
        this.addFunction(new ZeroFunction());
165
        
166
        this.addFunction(new AsciiFunction());
167
        this.addFunction(new CharFunction());
168
        this.addFunction(new ConcatFunction());
169
        this.addFunction(new InstrFunction());
170
        this.addFunction(new LTrimFunction());
171
        this.addFunction(new LeftFunction());
172
        this.addFunction(new LengthFunction());
173
        this.addFunction(new LocateFunction());
174
        this.addFunction(new LowerFunction());
175
        this.addFunction(new LpadFunction());
176
        this.addFunction(new RTrimFunction());
177
        this.addFunction(new RepeatFunction());
178
        this.addFunction(new ReplaceFunction());
179
        this.addFunction(new RightFunction());
180
        this.addFunction(new RpadFunction());
181
        this.addFunction(new SpaceFunction());
182
        this.addFunction(new SubstringFunction());
183
        this.addFunction(new TrimFunction());
184
        this.addFunction(new UpperFunction());
185
        this.addFunction(new MidFunction());
186
        this.addFunction(new ReverseInStrFunction());
187
        this.addFunction(new ReverseFunction());
188
        
189
        this.addFunction(new CurrentTimestampFunction());
190
        this.addFunction(new CurrentTimeFunction());
191
        this.addFunction(new CurrentDateFunction());
192
        this.addFunction(new ToDateFunction());
193
        this.addFunction(new ToTimestampFunction());
194
        this.addFunction(new DateDiffFunction());
195
        this.addFunction(new DateAddFunction());
196
        this.addFunction(new DateFunction());
197
        this.addFunction(new TimeFunction());
198
        this.addFunction(new TimestampFunction());
199
        this.addFunction(new ExtractFunction());
200

    
201
        this.addFunction(new IIFFunction());
202
        this.addFunction(new IFFunction());
203
        this.addFunction(new IFNULLFunction());
204
        this.addFunction(new FormatFunction());
205

    
206
        this.addFunction(new CastFunction());
207
        this.addFunction(new DecodeFunction());
208
        this.addFunction(new EncodeFunction());
209
        this.addFunction(new JsonValueFunction());
210
        this.addFunction(new ToStrFunction());
211
        this.addFunction(new ToDoubleFunction());
212
        this.addFunction(new ToFloatFunction());
213
        this.addFunction(new ToIntegerFunction());
214
        this.addFunction(new ToLongFunction());
215
        
216
        this.addFunction(new ModFunction());
217
        
218
        this.addFunction(new ToJsonFunction());
219
        this.addFunction(new UUIDFunction());
220
    }
221

    
222
    private void addOperator(Function operator) {
223
        this.addFunction(operator);
224
    }
225
    
226
}