|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.datanucleus.store.rdbms.sql.expression.SQLExpression
public abstract class SQLExpression
Base expression for SQL. The principle here is that any expression (be it a field, literal, parameter, variable etc) has a type and so needs a JavaTypeMapping to control reading/writing of that type. An expression will typically have an SQLTable (in the overall statement) that it refers to. A literal will not have an SQLTable since it represents a value. The actual SQL for the expression is embodied in the SQLText field. Construction typically sets the SQL for the respective expression.
| Nested Class Summary | |
|---|---|
static class |
SQLExpression.ColumnExpressionList
|
| Field Summary | |
|---|---|
protected static org.datanucleus.util.Localiser |
LOCALISER
Localiser for messages |
protected org.datanucleus.query.expression.Expression.Operator |
lowestOperator
|
protected org.datanucleus.store.mapped.mapping.JavaTypeMapping |
mapping
Mapping for this expression, defining how it is get/set. |
protected String |
parameterName
Parameter name that this represents (if this is a parameter, "?" in JDBC). |
protected SQLText |
st
The Statement Text representing the SQL for this expression. |
protected SQLStatement |
stmt
The SQL statement that this is part of. |
protected SQLExpression.ColumnExpressionList |
subExprs
Sub-expressions, where we have a field with multiple columns for example. |
protected SQLTable |
table
Table in the SQL statement that this mapping applies to. |
| Constructor Summary | |
|---|---|
protected |
SQLExpression(org.datanucleus.query.expression.Expression.MonadicOperator op,
SQLExpression expr1)
Perform an operation "op" on expression "expr1". |
protected |
SQLExpression(SQLExpression expr1,
org.datanucleus.query.expression.Expression.DyadicOperator op,
SQLExpression expr2)
Perform an operation "op" between "expr1" and "expr2". |
protected |
SQLExpression(SQLStatement stmt,
org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping,
String functionName,
List<SQLExpression> args,
List types)
Generates statement as "FUNCTION_NAME(arg [AS type] [,argN [AS typeN]])". |
protected |
SQLExpression(SQLStatement stmt,
SQLTable table,
org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping)
Constructor for an SQL expression for a (field) mapping in a specified table. |
| Method Summary | |
|---|---|
SQLExpression |
add(SQLExpression expr)
Additive Operator. |
BooleanExpression |
and(SQLExpression expr)
Conditional And. |
SQLExpression |
cast(SQLExpression expr)
A cast expression converts, at run time, a value of one type to a similar value of another type; or confirms, at compile time, that the type of an expression is boolean; or checks, at run time, that a reference value refers to an object whose class is compatible with a specified reference type. |
SQLExpression |
com()
Bitwise Complement Operator |
SQLExpression |
distinct()
Distinct operator. |
SQLExpression |
div(SQLExpression expr)
Division Operator. |
SQLExpression |
encloseInParentheses()
Method to request the enclosure of this expression within parentheses. |
BooleanExpression |
eor(SQLExpression expr)
Exclusive OR |
BooleanExpression |
eq(SQLExpression expr)
Equality operator (equals to) |
BooleanExpression |
ge(SQLExpression expr)
Relational operator (greater than or equals) |
org.datanucleus.store.mapped.mapping.JavaTypeMapping |
getJavaTypeMapping()
|
org.datanucleus.query.expression.Expression.Operator |
getLowestOperator()
|
int |
getNumberOfSubExpressions()
|
String |
getParameterName()
|
SQLStatement |
getSQLStatement()
|
SQLTable |
getSQLTable()
|
ColumnExpression |
getSubExpression(int index)
|
BooleanExpression |
gt(SQLExpression expr)
Relational operator (greater than) |
BooleanExpression |
in(SQLExpression expr,
boolean not)
In expression. |
SQLExpression |
invoke(String methodName,
List args)
Invocation of a method on this expression. |
BooleanExpression |
ior(SQLExpression expr)
Conditional OR. |
BooleanExpression |
is(SQLExpression expr,
boolean not)
An "is" (instanceOf) expression, providing a BooleanExpression whether this expression is an instanceof the provided type. |
boolean |
isParameter()
|
BooleanExpression |
le(SQLExpression expr)
Relational operator (lower than or equals) |
BooleanExpression |
lt(SQLExpression expr)
Relational operator (lower than) |
SQLExpression |
mod(SQLExpression expr)
Remainder Operator. |
SQLExpression |
mul(SQLExpression expr)
Multiplication Operator |
BooleanExpression |
ne(SQLExpression expr)
Not equality operator (not equals to) |
SQLExpression |
neg()
Unary Minus Operator |
BooleanExpression |
not()
Logical complement |
void |
setJavaTypeMapping(org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping)
|
SQLExpression |
sub(SQLExpression expr)
Additive Operator. |
SQLText |
toSQLText()
Method to return the SQL form of this expression. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final org.datanucleus.util.Localiser LOCALISER
protected SQLStatement stmt
protected SQLTable table
protected org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping
protected final SQLText st
protected org.datanucleus.query.expression.Expression.Operator lowestOperator
protected SQLExpression.ColumnExpressionList subExprs
protected String parameterName
| Constructor Detail |
|---|
protected SQLExpression(SQLStatement stmt,
SQLTable table,
org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping)
stmt - The statementtable - The table in the statementmapping - The mapping for the field
protected SQLExpression(org.datanucleus.query.expression.Expression.MonadicOperator op,
SQLExpression expr1)
op - operatorexpr1 - operand
protected SQLExpression(SQLExpression expr1,
org.datanucleus.query.expression.Expression.DyadicOperator op,
SQLExpression expr2)
expr1 - the first expressionop - the operator between operandsexpr2 - the second expression
protected SQLExpression(SQLStatement stmt,
org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping,
String functionName,
List<SQLExpression> args,
List types)
stmt - The statement to use for this expressionmapping - Mapping to usefunctionName - Name of functionargs - SQLExpression listtypes - List of String/SQLExpression for the types of arguments| Method Detail |
|---|
public org.datanucleus.query.expression.Expression.Operator getLowestOperator()
public int getNumberOfSubExpressions()
public ColumnExpression getSubExpression(int index)
public SQLStatement getSQLStatement()
public boolean isParameter()
public String getParameterName()
public org.datanucleus.store.mapped.mapping.JavaTypeMapping getJavaTypeMapping()
public void setJavaTypeMapping(org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping)
public SQLTable getSQLTable()
public SQLText toSQLText()
public SQLExpression encloseInParentheses()
public BooleanExpression and(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression eor(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression ior(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression not()
public BooleanExpression eq(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression ne(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression lt(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression le(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression gt(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression ge(SQLExpression expr)
expr - the right-hand operand
public BooleanExpression in(SQLExpression expr,
boolean not)
expr
expr - the right-hand expressionnot - Whether we really want "not in"
public SQLExpression add(SQLExpression expr)
expr - the right-hand operand
public SQLExpression sub(SQLExpression expr)
expr - the right-hand operand
public SQLExpression mul(SQLExpression expr)
expr - the right-hand operator
public SQLExpression div(SQLExpression expr)
expr - the right-hand operator
public SQLExpression mod(SQLExpression expr)
expr - the right-hand operator
public SQLExpression neg()
public SQLExpression com()
public SQLExpression distinct()
public SQLExpression cast(SQLExpression expr)
expr - expression representing the type to cast to
public BooleanExpression is(SQLExpression expr,
boolean not)
expr - the expression representing the typenot - Whether we really want "!instanceof"
public SQLExpression invoke(String methodName,
List args)
methodName - name of the method to invokeargs - Args to this method (if any)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||