org.datanucleus.store.rdbms.sql.expression
Class ParameterLiteral

java.lang.Object
  extended by org.datanucleus.store.rdbms.sql.expression.SQLExpression
      extended by org.datanucleus.store.rdbms.sql.expression.ParameterLiteral
All Implemented Interfaces:
SQLLiteral

public class ParameterLiteral
extends SQLExpression
implements SQLLiteral

Representation of a literal representing a parameter where we don't know the type of the parameter yet. This literal doesn't have a long lifetime, being replaced during the process of conversion to SQL using the compared expression to define the mapping (and hence which literal type) to use.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
SQLExpression.ColumnExpressionList
 
Field Summary
protected  java.lang.String name
          Parameter name.
protected  java.lang.Object value
           
 
Fields inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
isParameter, LOCALISER, lowestOperator, mapping, st, stmt, subExprs, table
 
Constructor Summary
ParameterLiteral(SQLStatement stmt, org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping, java.lang.Object value, boolean parameter)
          Constructor for an integer literal with a value.
 
Method Summary
 SQLExpression add(SQLExpression expr)
          Additive Operator.
 BooleanExpression eq(SQLExpression expr)
          Equality operator (equals to)
 BooleanExpression ge(SQLExpression expr)
          Relational operator (greater than or equals)
 java.lang.String getName()
           
 java.lang.Object getValue()
          Accessor to the literal value
 BooleanExpression gt(SQLExpression expr)
          Relational operator (greater than)
 BooleanExpression le(SQLExpression expr)
          Relational operator (lower than or equals)
 BooleanExpression lt(SQLExpression expr)
          Relational operator (lower than)
 BooleanExpression ne(SQLExpression expr)
          Not equality operator (not equals to)
 void setName(java.lang.String name)
           
 void setNotParameter()
          Method to set this literal as not being a parameter.
 
Methods inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
and, cast, checkForAndCorrectParameterComparison, com, div, encloseInParentheses, eor, getJavaTypeMapping, getNumberOfSubExpressions, getSQLStatement, getSQLTable, in, invoke, ior, is, isParameter, mod, mul, neg, not, sub, toSQLText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name
Parameter name.


value

protected java.lang.Object value
Constructor Detail

ParameterLiteral

public ParameterLiteral(SQLStatement stmt,
                        org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping,
                        java.lang.Object value,
                        boolean parameter)
Constructor for an integer literal with a value.

Parameters:
stmt - the SQL statement
mapping - the mapping
value - the value
parameter - Whether this is a parameter (JDBC "?")
Method Detail

setName

public void setName(java.lang.String name)

getName

public java.lang.String getName()

getValue

public java.lang.Object getValue()
Description copied from interface: SQLLiteral
Accessor to the literal value

Specified by:
getValue in interface SQLLiteral
Returns:
the value of the literal

add

public SQLExpression add(SQLExpression expr)
Description copied from class: SQLExpression
Additive Operator. The binary + operator performs addition when applied to two operands of numeric type, producing the sum of the operands. If the type of either operand of a + operator is String, then the operation is string concatenation.

Overrides:
add in class SQLExpression
Parameters:
expr - the right-hand operand
Returns:
If one of the operands is String, the returned value is the string concatenation; The sum of two operands of numeric type. The left-hand operand is the minuend and the right-hand operand is the subtrahend;

eq

public BooleanExpression eq(SQLExpression expr)
Description copied from class: SQLExpression
Equality operator (equals to)

Overrides:
eq in class SQLExpression
Parameters:
expr - the right-hand operand
Returns:
The type of an equality expression is a boolean

ge

public BooleanExpression ge(SQLExpression expr)
Description copied from class: SQLExpression
Relational operator (greater than or equals)

Overrides:
ge in class SQLExpression
Parameters:
expr - the right-hand operand
Returns:
true if the value of the left-hand operand is greater than or equal the value of the right-hand operand, and otherwise is false.

gt

public BooleanExpression gt(SQLExpression expr)
Description copied from class: SQLExpression
Relational operator (greater than)

Overrides:
gt in class SQLExpression
Parameters:
expr - the right-hand operand
Returns:
true if the value of the left-hand operand is greater than the value of the right-hand operand, and otherwise is false.

le

public BooleanExpression le(SQLExpression expr)
Description copied from class: SQLExpression
Relational operator (lower than or equals)

Overrides:
le in class SQLExpression
Parameters:
expr - the right-hand operand
Returns:
true if the value of the left-hand operand is less than or equal to the value of the right-hand operand, and otherwise is false.

lt

public BooleanExpression lt(SQLExpression expr)
Description copied from class: SQLExpression
Relational operator (lower than)

Overrides:
lt in class SQLExpression
Parameters:
expr - the right-hand operand
Returns:
true if the value of the left-hand operand is less than the value of the right-hand operand, and otherwise is false.

ne

public BooleanExpression ne(SQLExpression expr)
Description copied from class: SQLExpression
Not equality operator (not equals to)

Overrides:
ne in class SQLExpression
Parameters:
expr - the right-hand operand
Returns:
The type of an equality expression is a boolean

setNotParameter

public void setNotParameter()
Description copied from interface: SQLLiteral
Method to set this literal as not being a parameter. If the literal if not currently a parameter then does nothing. Updates any underlying SQL to have the value.

Specified by:
setNotParameter in interface SQLLiteral


Copyright © 2009. All Rights Reserved.