Class ParameterLiteral
java.lang.Object
org.datanucleus.store.rdbms.sql.expression.SQLExpression
org.datanucleus.store.rdbms.sql.expression.ParameterLiteral
- All Implemented Interfaces:
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
FieldsFields inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
lowestOperator, mapping, parameterName, st, stmt, subExprs, table
-
Constructor Summary
ConstructorsConstructorDescriptionParameterLiteral
(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName) Constructor for an integer literal with a value. -
Method Summary
Modifier and TypeMethodDescriptionadd
(SQLExpression expr) Additive Operator.eq
(SQLExpression expr) Equality operator (equals to)ge
(SQLExpression expr) Relational operator (greater than or equals)getName()
getValue()
Accessor to the literal valuegt
(SQLExpression expr) Relational operator (greater than)le
(SQLExpression expr) Relational operator (lower than or equals)lt
(SQLExpression expr) Relational operator (lower than)ne
(SQLExpression expr) Not equality operator (not equals to)void
void
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
-
Field Details
-
name
Parameter name. -
value
-
-
Constructor Details
-
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 Details
-
setName
-
getName
-
getValue
Description copied from interface:SQLLiteral
Accessor to the literal value- Specified by:
getValue
in interfaceSQLLiteral
- Returns:
- the value of the literal
-
add
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
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
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
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
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
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
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
-