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 StringnameParameter name.protected Objectvalue-
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 SQLExpressionadd(SQLExpression expr)Additive Operator.BooleanExpressioneq(SQLExpression expr)Equality operator (equals to)BooleanExpressionge(SQLExpression expr)Relational operator (greater than or equals)StringgetName()ObjectgetValue()Accessor to the literal valueBooleanExpressiongt(SQLExpression expr)Relational operator (greater than)BooleanExpressionle(SQLExpression expr)Relational operator (lower than or equals)BooleanExpressionlt(SQLExpression expr)Relational operator (lower than)BooleanExpressionne(SQLExpression expr)Not equality operator (not equals to)voidsetName(String name)voidsetNotParameter()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:SQLLiteralAccessor to the literal value- Specified by:
getValuein interfaceSQLLiteral- Returns:
- the value of the literal
-
add
public SQLExpression add(SQLExpression expr)
Description copied from class:SQLExpressionAdditive 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:
addin 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:SQLExpressionEquality operator (equals to)- Overrides:
eqin 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:SQLExpressionRelational operator (greater than or equals)- Overrides:
gein 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:SQLExpressionRelational operator (greater than)- Overrides:
gtin 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:SQLExpressionRelational operator (lower than or equals)- Overrides:
lein 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:SQLExpressionRelational operator (lower than)- Overrides:
ltin 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:SQLExpressionNot equality operator (not equals to)- Overrides:
nein 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:SQLLiteralMethod 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:
setNotParameterin interfaceSQLLiteral
-
-