org.datanucleus.store.mapped.expression
Class NumericExpression

java.lang.Object
  extended by org.datanucleus.store.mapped.expression.ScalarExpression
      extended by org.datanucleus.store.mapped.expression.NumericExpression
Direct Known Subclasses:
AggregateExpression, ByteExpression, ByteLiteral, FloatingPointLiteral, IntegerLiteral

public class NumericExpression
extends ScalarExpression

Representation of a Numeric expression in a Query.

Version:
$Revision: 1.20 $

Nested Class Summary
 
Nested classes/interfaces inherited from class org.datanucleus.store.mapped.expression.ScalarExpression
ScalarExpression.DatastoreFieldExpression, ScalarExpression.DyadicOperator, ScalarExpression.ExpressionList, ScalarExpression.IllegalArgumentTypeException, ScalarExpression.IllegalOperationException, ScalarExpression.MethodInvocationException, ScalarExpression.MonadicOperator, ScalarExpression.Operator
 
Field Summary
 
Fields inherited from class org.datanucleus.store.mapped.expression.ScalarExpression
aliasIdentifier, checkForTypeAssignability, expressionList, FILTER, LOCALISER, lowestOperator, mapping, OP_ADD, OP_AND, OP_BETWEEN, OP_COM, OP_CONCAT, OP_DIV, OP_EQ, OP_GT, OP_GTEQ, OP_IN, OP_IS, OP_ISNOT, OP_LIKE, OP_LT, OP_LTEQ, OP_MOD, OP_MUL, OP_NEG, OP_NOT, OP_NOTEQ, OP_NOTIN, OP_NOTLIKE, OP_OR, OP_SUB, parameterName, PROJECTION, qs, st, te
 
Constructor Summary
protected NumericExpression(QueryExpression qs)
          Constructor
  NumericExpression(QueryExpression qs, JavaTypeMapping mapping, LogicSetExpression te)
           
  NumericExpression(ScalarExpression.MonadicOperator op, ScalarExpression operand)
          Perform a function op on operand
  NumericExpression(ScalarExpression operand1, ScalarExpression.DyadicOperator op, ScalarExpression operand2)
          Performs a function on two arguments.
  NumericExpression(java.lang.String functionName, java.util.List args)
          Generates statement as e.g.
  NumericExpression(java.lang.String functionName, java.util.List args, java.util.List types)
          Generates statement as e.g.
 
Method Summary
 ScalarExpression add(ScalarExpression expr)
          Additive Operator.
 ScalarExpression com()
          Bitwise Complement Operator
 ScalarExpression div(ScalarExpression expr)
          Division Operator.
 BooleanExpression eq(ScalarExpression expr)
          Equality operator (equals to)
 BooleanExpression gt(ScalarExpression expr)
          Relational operator (greater than)
 BooleanExpression gteq(ScalarExpression expr)
          Relational operator (greater than or equals)
 BooleanExpression in(ScalarExpression expr)
          In expression.
 BooleanExpression lt(ScalarExpression expr)
          Relational operator (lower than)
 BooleanExpression lteq(ScalarExpression expr)
          Relational operator (lower than or equals)
 ScalarExpression mod(ScalarExpression expr)
          Method to return a modulus expression.
 ScalarExpression mul(ScalarExpression expr)
          Multiplication Operator
 ScalarExpression neg()
          Unary Minus Operator
 BooleanExpression noteq(ScalarExpression expr)
          Equality operator (not equals to)
 ScalarExpression sub(ScalarExpression expr)
          Additive Operator.
 
Methods inherited from class org.datanucleus.store.mapped.expression.ScalarExpression
accessField, and, as, assertValidTypeForParameterComparison, callMethod, cast, checkForTypeAssignability, encloseWithInParentheses, eor, equals, getAlias, getConsistentTypeForParameterComparison, getExpressionList, getLogicSetExpression, getMapping, getNonAliasExpression, getQueryExpression, instanceOf, ior, not, setParameterName, toStatementText, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NumericExpression

protected NumericExpression(QueryExpression qs)
Constructor

Parameters:
qs - the QueryExpression

NumericExpression

public NumericExpression(QueryExpression qs,
                         JavaTypeMapping mapping,
                         LogicSetExpression te)
Parameters:
qs - the QueryExpression
mapping - the mapping associated to this expression
te - the TableExpression where this expression refers to

NumericExpression

public NumericExpression(java.lang.String functionName,
                         java.util.List args)
Generates statement as e.g. FUNCTION_NAME(arg[,argN]). The function returns a numeric value

Parameters:
functionName -
args - ScalarExpression list

NumericExpression

public NumericExpression(java.lang.String functionName,
                         java.util.List args,
                         java.util.List types)
Generates statement as e.g. FUNCTION_NAME(arg AS type[,argN as typeN])

Parameters:
functionName - Name of function
args - ScalarExpression list
types - String or ScalarExpression list

NumericExpression

public NumericExpression(ScalarExpression.MonadicOperator op,
                         ScalarExpression operand)
Perform a function op on operand

Parameters:
op - operator
operand - operand

NumericExpression

public NumericExpression(ScalarExpression operand1,
                         ScalarExpression.DyadicOperator op,
                         ScalarExpression operand2)
Performs a function on two arguments. op(operand1,operand2) operand1 op operand2

Parameters:
operand1 - the first expression
op - the operator between operands
operand2 - the second expression
Method Detail

eq

public BooleanExpression eq(ScalarExpression expr)
Description copied from class: ScalarExpression
Equality operator (equals to)

Overrides:
eq in class ScalarExpression
Parameters:
expr - the right-hand operand
Returns:
The type of an equality expression is a boolean

noteq

public BooleanExpression noteq(ScalarExpression expr)
Description copied from class: ScalarExpression
Equality operator (not equals to)

Overrides:
noteq in class ScalarExpression
Parameters:
expr - the right-hand operand
Returns:
The type of an equality expression is a boolean

lt

public BooleanExpression lt(ScalarExpression expr)
Description copied from class: ScalarExpression
Relational operator (lower than)

Overrides:
lt in class ScalarExpression
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.

lteq

public BooleanExpression lteq(ScalarExpression expr)
Description copied from class: ScalarExpression
Relational operator (lower than or equals)

Overrides:
lteq in class ScalarExpression
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(ScalarExpression expr)
Description copied from class: ScalarExpression
Relational operator (greater than)

Overrides:
gt in class ScalarExpression
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.

gteq

public BooleanExpression gteq(ScalarExpression expr)
Description copied from class: ScalarExpression
Relational operator (greater than or equals)

Overrides:
gteq in class ScalarExpression
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(ScalarExpression expr)
Description copied from class: ScalarExpression
In expression. Return true if this is contained by expr

Overrides:
in in class ScalarExpression
Parameters:
expr - the right-hand expression
Returns:
true if the left-hand expression is contained by the right-hand expression. Otherwise the result is false.

add

public ScalarExpression add(ScalarExpression expr)
Description copied from class: ScalarExpression
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 ScalarExpression
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 ScalarExpression sub(ScalarExpression expr)
Description copied from class: ScalarExpression
Additive Operator. The binary - operator subtracts right-hand operand from left-hand operand.

Overrides:
sub in class ScalarExpression
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 ScalarExpression mul(ScalarExpression expr)
Description copied from class: ScalarExpression
Multiplication Operator

Overrides:
mul in class ScalarExpression
Parameters:
expr - the right-hand operator
Returns:
The binary * operator performs multiplication, producing the product of its operands.

div

public ScalarExpression div(ScalarExpression expr)
Description copied from class: ScalarExpression
Division Operator. The left-hand operand is the dividend and the right-hand operand is the divisor.

Overrides:
div in class ScalarExpression
Parameters:
expr - the right-hand operator
Returns:
The binary / operator performs division, producing the quotient of its operands

mod

public ScalarExpression mod(ScalarExpression expr)
Method to return a modulus expression.

Overrides:
mod in class ScalarExpression
Parameters:
expr - The expression to modulus against
Returns:
The modulus expression

neg

public ScalarExpression neg()
Description copied from class: ScalarExpression
Unary Minus Operator

Overrides:
neg in class ScalarExpression
Returns:
the type of the unary minus expression is the promoted type of the operand.

com

public ScalarExpression com()
Description copied from class: ScalarExpression
Bitwise Complement Operator

Overrides:
com in class ScalarExpression
Returns:
the type of the unary bitwise complement expression is the promoted type of the operand.


Copyright © 2010. All Rights Reserved.