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.
  • Field Details

    • name

      protected String name
      Parameter name.
    • value

      protected Object 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 statement
      mapping - the mapping
      value - the value
      parameterName - Name of the parameter that this represents if any (as JDBC "?")
  • Method Details

    • 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 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