org.datanucleus.store.mapped.expression
Class IntegerLiteral

java.lang.Object
  extended by org.datanucleus.store.mapped.expression.ScalarExpression
      extended by org.datanucleus.store.mapped.expression.NumericExpression
          extended by org.datanucleus.store.mapped.expression.IntegerLiteral
All Implemented Interfaces:
Literal

public class IntegerLiteral
extends NumericExpression
implements Literal

Representation of an Integer literal.

Version:
$Revision: 1.17 $

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
IntegerLiteral(QueryExpression qs, JavaTypeMapping mapping, java.lang.Number value)
          Creates a integer literal
IntegerLiteral(QueryExpression qs, JavaTypeMapping mapping, java.lang.Number value, boolean useParameter)
          Creates a integer literal.
 
Method Summary
 ScalarExpression add(ScalarExpression expr)
          If both operands are instances of IntegerLiteral, the operation results in BigInteger type.
 ScalarExpression div(ScalarExpression expr)
          If both operands are instances of IntegerLiteral, the operation results in BigInteger type.
 BooleanExpression eq(ScalarExpression expr)
          Equality operator (equals to)
 java.lang.Object getRawValue()
          Accessor for the "raw" value that this literal represents.
 java.lang.Object getValue()
          Accessor to the literal value
 BooleanExpression gt(ScalarExpression expr)
          Relational operator (greater than)
 BooleanExpression gteq(ScalarExpression expr)
          Relational operator (greater than or equals)
 BooleanExpression lt(ScalarExpression expr)
          Relational operator (lower than)
 BooleanExpression lteq(ScalarExpression expr)
          Relational operator (lower than or equals)
 ScalarExpression mod(ScalarExpression expr)
          If both operands are instances of IntegerLiteral, the operation results in BigInteger type.
 ScalarExpression mul(ScalarExpression expr)
          If both operands are instances of IntegerLiteral, the operation results in BigInteger type.
 ScalarExpression neg()
          Operation results in BigInteger type.
 BooleanExpression noteq(ScalarExpression expr)
          Equality operator (not equals to)
 void setRawValue(java.lang.Object val)
          Method to save a "raw" value that this literal represents.
 ScalarExpression sub(ScalarExpression expr)
          If both operands are instances of IntegerLiteral, the operation results in BigInteger type.
 StatementText toStatementText(int mode)
          StatementText representation of this expression.
 
Methods inherited from class org.datanucleus.store.mapped.expression.NumericExpression
com, in
 
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, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IntegerLiteral

public IntegerLiteral(QueryExpression qs,
                      JavaTypeMapping mapping,
                      java.lang.Number value)
Creates a integer literal

Parameters:
qs - the QueryExpression
mapping - the mapping
value - the integer value

IntegerLiteral

public IntegerLiteral(QueryExpression qs,
                      JavaTypeMapping mapping,
                      java.lang.Number value,
                      boolean useParameter)
Creates a integer literal. This constructor should only be used when the value will not change if the Query is run several times.

Parameters:
qs - the QueryExpression
mapping - the mapping
value - the integer value
useParameter - whether to use parameter or a literal in the expression when preparing the statement
Method Detail

getValue

public java.lang.Object getValue()
Description copied from interface: Literal
Accessor to the literal value

Specified by:
getValue in interface Literal
Returns:
the value of the literal

eq

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

Overrides:
eq in class NumericExpression
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 NumericExpression
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 NumericExpression
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 NumericExpression
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 NumericExpression
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 NumericExpression
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.

add

public ScalarExpression add(ScalarExpression expr)
If both operands are instances of IntegerLiteral, the operation results in BigInteger type. TODO fix this to follow JVM type conversions

Overrides:
add in class NumericExpression
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)
If both operands are instances of IntegerLiteral, the operation results in BigInteger type. TODO fix this to follow JVM type conversions

Overrides:
sub in class NumericExpression
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)
If both operands are instances of IntegerLiteral, the operation results in BigInteger type. TODO fix this to follow JVM type conversions

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

div

public ScalarExpression div(ScalarExpression expr)
If both operands are instances of IntegerLiteral, the operation results in BigInteger type. TODO fix this to follow JVM type conversions

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

mod

public ScalarExpression mod(ScalarExpression expr)
If both operands are instances of IntegerLiteral, the operation results in BigInteger type. TODO fix this to follow JVM type conversions

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

neg

public ScalarExpression neg()
Operation results in BigInteger type. TODO fix this to follow JVM type conversions

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

toStatementText

public StatementText toStatementText(int mode)
Description copied from class: ScalarExpression
StatementText representation of this expression. I.E. A Boolean field may be stored in boolean format like 0 or 1, and it can also be stored in other formats, like Y or N, TRUE or FALSE, and so on. The projection mode for the boolean field is the real content of the value stored, (e.g. Y or N), and opposed to that the filter mode for the boolean field is always represented by a boolean expression (e.g. Y=Y or N=N) In SQL, the projection can be exemplified as "SELECT BOOLEAN_FIELD ... " and the filter as "SELECT COLUMNS ... WHERE BOOLEAN_FIELD ='Y'"

Overrides:
toStatementText in class ScalarExpression
Parameters:
mode - (0=PROJECTION;1=FILTER)
Returns:
the StatementText

setRawValue

public void setRawValue(java.lang.Object val)
Method to save a "raw" value that this literal represents. This value differs from the literal value since that is of the same type as this literal.

Specified by:
setRawValue in interface Literal
Parameters:
val - The raw value

getRawValue

public java.lang.Object getRawValue()
Accessor for the "raw" value that this literal represents. This value differs from the literal value since that is of the same type as this literal.

Specified by:
getRawValue in interface Literal
Returns:
The raw value


Copyright © 2010. All Rights Reserved.