Class NumericExpression

java.lang.Object
org.datanucleus.store.rdbms.sql.expression.SQLExpression
org.datanucleus.store.rdbms.sql.expression.NumericExpression
Direct Known Subclasses:
AggregateNumericExpression, ByteExpression, ByteLiteral, CaseNumericExpression, FloatingPointLiteral, IntegerLiteral, NumericSubqueryExpression

public class NumericExpression extends SQLExpression
Representation of a Numeric expression in an SQL statement.
  • Constructor Details

    • NumericExpression

      public NumericExpression(SQLStatement stmt, JavaTypeMapping mapping, String sql)
      Constructor for a numeric expression for the specified mapping using the specified SQL text.
      Parameters:
      stmt - The statement
      mapping - the mapping associated to this expression
      sql - The SQL text that will return a numeric
    • NumericExpression

      public NumericExpression(SQLStatement stmt, SQLTable table, JavaTypeMapping mapping)
      Constructor for a numeric expression for the mapping in the specified table.
      Parameters:
      stmt - the SQLStatement
      table - the table where this expression refers to
      mapping - the mapping associated to this expression
    • NumericExpression

      public NumericExpression(org.datanucleus.store.query.expression.Expression.MonadicOperator op, SQLExpression expr1)
      Perform an operation
      op
      on expression
      expr1
      .
      Parameters:
      op - operator
      expr1 - operand
    • NumericExpression

      public NumericExpression(SQLExpression expr1, org.datanucleus.store.query.expression.Expression.DyadicOperator op, SQLExpression expr2)
      Perform an operation
      op
      between
      expr1
      and
      expr2
      .
      Parameters:
      expr1 - the first expression
      op - the operator between operands
      expr2 - the second expression
    • NumericExpression

      public NumericExpression(SQLStatement stmt, JavaTypeMapping mapping, String functionName, List<SQLExpression> args)
      Generates statement as "FUNCTION_NAME(arg [,argN])".
      Parameters:
      stmt - The statement
      mapping - Mapping to use
      functionName - Name of function
      args - SQLExpression list
    • NumericExpression

      public NumericExpression(SQLStatement stmt, JavaTypeMapping mapping, String functionName, List<SQLExpression> args, List types)
      Generates statement as "FUNCTION_NAME(arg [AS type] [,argN [AS typeN]])".
      Parameters:
      stmt - The statement
      mapping - Mapping to use
      functionName - Name of function
      args - SQLExpression list
      types - Optional String/SQLExpression list of types for the args
  • Method Details

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

      public BooleanExpression in(SQLExpression expr, boolean not)
      Description copied from class: SQLExpression
      In expression. Return true if this is contained by expr
      Overrides:
      in in class SQLExpression
      Parameters:
      expr - the right-hand expression
      not - Whether we really want "not in"
      Returns:
      true if the left-hand expression is contained by the right-hand expression. Otherwise the result is false.
    • 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;
    • sub

      public SQLExpression sub(SQLExpression expr)
      Description copied from class: SQLExpression
      Additive Operator. The binary - operator subtracts right-hand operand from left-hand operand.
      Overrides:
      sub in class SQLExpression
      Parameters:
      expr - the right-hand operand
      Returns:
      The binary - operator performs subtraction when applied to two operands of numeric type producing the difference of its operands; the left-hand operand is the minuend and the right-hand operand is the subtrahend.
    • mul

      public SQLExpression mul(SQLExpression expr)
      Description copied from class: SQLExpression
      Multiplication Operator
      Overrides:
      mul in class SQLExpression
      Parameters:
      expr - the right-hand operator
      Returns:
      The binary * operator performs multiplication, producing the product of its operands.
    • div

      public SQLExpression div(SQLExpression expr)
      Description copied from class: SQLExpression
      Division Operator. The left-hand operand is the dividend and the right-hand operand is the divisor.
      Overrides:
      div in class SQLExpression
      Parameters:
      expr - the right-hand operator
      Returns:
      The binary / operator performs division, producing the quotient of its operands
    • mod

      public SQLExpression mod(SQLExpression expr)
      Method to return a modulus expression.
      Overrides:
      mod in class SQLExpression
      Parameters:
      expr - The expression to modulus against
      Returns:
      The modulus expression
    • neg

      public SQLExpression neg()
      Description copied from class: SQLExpression
      Unary Minus Operator
      Overrides:
      neg in class SQLExpression
      Returns:
      the type of the unary minus expression is the promoted type of the operand.
    • com

      public SQLExpression com()
      Description copied from class: SQLExpression
      Bitwise Complement Operator
      Overrides:
      com in class SQLExpression
      Returns:
      the type of the unary bitwise complement expression is the promoted type of the operand.
    • bitAnd

      public SQLExpression bitAnd(SQLExpression expr)
      Description copied from class: SQLExpression
      BITWISE AND operation.
      Overrides:
      bitAnd in class SQLExpression
      Parameters:
      expr - expression representing the bitset
      Returns:
      the bitwise AND expression
    • bitOr

      public SQLExpression bitOr(SQLExpression expr)
      Description copied from class: SQLExpression
      BITWISE OR operation.
      Overrides:
      bitOr in class SQLExpression
      Parameters:
      expr - expression representing the bitset
      Returns:
      the bitwise OR expression