svn-gvsig-desktop / trunk / libraries / libGDBMS / src / com / hardcode / gdbms / engine / instruction / AbstractExpression.java @ 466
History | View | Annotate | Download (793 Bytes)
1 |
package com.hardcode.gdbms.engine.instruction; |
---|---|
2 |
|
3 |
import com.hardcode.gdbms.engine.data.DriverException; |
4 |
import com.hardcode.gdbms.engine.values.Value; |
5 |
|
6 |
|
7 |
/**
|
8 |
* Adaptador
|
9 |
*
|
10 |
* @author Fernando Gonz?lez Cort?s
|
11 |
*/
|
12 |
public abstract class AbstractExpression extends Adapter implements Expression { |
13 |
protected boolean literal; |
14 |
private Value value;
|
15 |
|
16 |
/**
|
17 |
* @see com.hardcode.gdbms.engine.instruction.Expression#evaluateExpression(long)
|
18 |
*/
|
19 |
public Value evaluateExpression(long row) |
20 |
throws SemanticException, DriverException {
|
21 |
if (!isLiteral()) {
|
22 |
return evaluate(row);
|
23 |
} else {
|
24 |
if (value == null) { |
25 |
return (value = evaluate(row));
|
26 |
} else {
|
27 |
return value;
|
28 |
} |
29 |
} |
30 |
} |
31 |
} |