|                                                                                                              1
 10
 11  package com.triactive.jdo.store;
 12
 13  import java.math.BigInteger
  ; 14
 15
 16  class IntegerLiteral extends NumericExpression
 17  {
 18      private final BigInteger
  value; 19
 20      public IntegerLiteral(QueryStatement qs, BigInteger
  value) 21      {
 22          super(qs);
 23
 24          this.value = value;
 25          st.append(value);
 26      }
 27
 28      public BigInteger
  getValue() 29      {
 30          return value;
 31      }
 32
 33      public BooleanExpression eq(SQLExpression expr)
 34      {
 35          if (expr instanceof IntegerLiteral)
 36              return new BooleanLiteral(qs, value.compareTo(((IntegerLiteral)expr).value) == 0);
 37          else
 38              return super.eq(expr);
 39      }
 40
 41      public BooleanExpression noteq(SQLExpression expr)
 42      {
 43          if (expr instanceof IntegerLiteral)
 44              return new BooleanLiteral(qs, value.compareTo(((IntegerLiteral)expr).value) != 0);
 45          else
 46              return super.noteq(expr);
 47      }
 48
 49      public BooleanExpression lt(SQLExpression expr)
 50      {
 51          if (expr instanceof IntegerLiteral)
 52              return new BooleanLiteral(qs, value.compareTo(((IntegerLiteral)expr).value) < 0);
 53          else
 54              return super.lt(expr);
 55      }
 56
 57      public BooleanExpression lteq(SQLExpression expr)
 58      {
 59          if (expr instanceof IntegerLiteral)
 60              return new BooleanLiteral(qs, value.compareTo(((IntegerLiteral)expr).value) <= 0);
 61          else if (expr instanceof IndexOfExpression)
 62              return expr.gteq(this);
 63          else
 64              return super.lteq(expr);
 65      }
 66
 67      public BooleanExpression gt(SQLExpression expr)
 68      {
 69          if (expr instanceof IntegerLiteral)
 70              return new BooleanLiteral(qs, value.compareTo(((IntegerLiteral)expr).value) > 0);
 71          else
 72              return super.gt(expr);
 73      }
 74
 75      public BooleanExpression gteq(SQLExpression expr)
 76      {
 77          if (expr instanceof IntegerLiteral)
 78              return new BooleanLiteral(qs, value.compareTo(((IntegerLiteral)expr).value) >= 0);
 79          else
 80              return super.gteq(expr);
 81      }
 82
 83      public SQLExpression add(SQLExpression expr)
 84      {
 85          if (expr instanceof IntegerLiteral)
 86              return new IntegerLiteral(qs, value.add(((IntegerLiteral)expr).value));
 87          else
 88              return super.add(expr);
 89      }
 90
 91      public SQLExpression sub(SQLExpression expr)
 92      {
 93          if (expr instanceof IntegerLiteral)
 94              return new IntegerLiteral(qs, value.subtract(((IntegerLiteral)expr).value));
 95          else
 96              return super.sub(expr);
 97      }
 98
 99      public SQLExpression mul(SQLExpression expr)
 100     {
 101         if (expr instanceof IntegerLiteral)
 102             return new IntegerLiteral(qs, value.multiply(((IntegerLiteral)expr).value));
 103         else
 104             return super.mul(expr);
 105     }
 106
 107     public SQLExpression div(SQLExpression expr)
 108     {
 109         if (expr instanceof IntegerLiteral)
 110             return new IntegerLiteral(qs, value.divide(((IntegerLiteral)expr).value));
 111         else
 112             return super.div(expr);
 113     }
 114
 115     public SQLExpression mod(SQLExpression expr)
 116     {
 117         if (expr instanceof IntegerLiteral)
 118             return new IntegerLiteral(qs, value.mod(((IntegerLiteral)expr).value));
 119         else
 120             return super.mod(expr);
 121     }
 122
 123     public SQLExpression neg()
 124     {
 125         return new IntegerLiteral(qs, value.negate());
 126     }
 127 }
 128
                                                                                                                                                                                                             |                                                                       
 
 
 
 
 
                                                                                   Popular Tags                                                                                                                                                                                              |