1 46 package org.mr.api.jms.selector.syntax; 47 48 49 53 final class MantaDouble extends MantaNumber { 54 55 58 private final double value; 59 60 63 public MantaDouble() { 64 value = 0; 65 } 67 68 73 public MantaDouble(final double value) { 74 this.value = value; 75 } 77 78 84 public MantaNumber add(final MantaNumber number) { 85 return new MantaDouble(value + number.getDouble()); 86 } 88 89 95 public MantaNumber subtract(final MantaNumber number) { 96 return new MantaDouble(value - number.getDouble()); 97 } 99 100 106 public MantaNumber multiply(final MantaNumber number) { 107 return new MantaDouble(value * number.getDouble()); 108 } 110 111 117 public MantaNumber divide(final MantaNumber number) { 118 MantaNumber result = null; 119 120 try { 121 result = new MantaDouble(value / number.getDouble()); 122 } catch (ArithmeticException ignore) { 124 } return result; 126 } 128 129 134 public long getLong() { 135 return (long) value; 136 } 138 139 144 public double getDouble() { 145 return value; 146 } 148 149 154 public Object getObject() { 155 return new Double (value); 156 } 158 159 166 public MantaBoolean equal(final MantaObject obj) { 167 MantaBoolean result = MantaBoolean.FALSE; 168 double rhs = ((MantaNumber) obj).getDouble(); 169 if (value == rhs) { 170 result = MantaBoolean.TRUE; 171 } return result; 173 } 175 176 183 public MantaBoolean less(final MantaObject obj) { 184 MantaBoolean result = MantaBoolean.FALSE; 185 double rightHand = ((MantaNumber) obj).getDouble(); 186 187 if (value < rightHand) { 188 result = MantaBoolean.TRUE; 189 } return result; 191 } 193 194 201 public MantaBoolean greater(final MantaObject obj) { 202 MantaBoolean result = MantaBoolean.FALSE; 203 double rightHand = ((MantaNumber) obj).getDouble(); 204 205 if (value > rightHand) { 206 result = MantaBoolean.TRUE; 207 } return result; 209 }} | Popular Tags |