Class ParameterLiteral
- java.lang.Object
-
- org.datanucleus.store.rdbms.sql.expression.SQLExpression
-
- 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
Fields Modifier and Type Field Description protected String
name
Parameter name.protected Object
value
-
Fields inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
lowestOperator, mapping, parameterName, st, stmt, subExprs, table
-
-
Constructor Summary
Constructors Constructor Description ParameterLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName)
Constructor for an integer literal with a value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SQLExpression
add(SQLExpression expr)
Additive Operator.BooleanExpression
eq(SQLExpression expr)
Equality operator (equals to)BooleanExpression
ge(SQLExpression expr)
Relational operator (greater than or equals)String
getName()
Object
getValue()
Accessor to the literal valueBooleanExpression
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(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, bitAnd, bitOr, cast, com, distinct, div, encloseInParentheses, eor, getJavaTypeMapping, getLowestOperator, getNumberOfSubExpressions, getParameterName, getSQLStatement, getSQLTable, getSubExpression, in, invoke, ior, is, isParameter, mod, mul, neg, not, setJavaTypeMapping, sub, toSQLText, unDistinct
-
-
-
-
Constructor Detail
-
ParameterLiteral
public ParameterLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName)
Constructor for an integer literal with a value.- Parameters:
stmt
- the SQL statementmapping
- the mappingvalue
- the valueparameterName
- Name of the parameter that this represents if any (as JDBC "?")
-
-
Method Detail
-
setName
public void setName(String name)
-
getName
public String getName()
-
getValue
public Object getValue()
Description copied from interface:SQLLiteral
Accessor to the literal value- Specified by:
getValue
in interfaceSQLLiteral
- 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 classSQLExpression
- 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 classSQLExpression
- 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 classSQLExpression
- 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 classSQLExpression
- 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 classSQLExpression
- 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 classSQLExpression
- 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 classSQLExpression
- 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 interfaceSQLLiteral
-
-