1 21 package com.presumo.jms.selector; 22 23 import javax.jms.Message ; 24 25 30 final class JmsBinarySub extends JmsBinaryOperand 31 { 32 static 33 { 34 STRING_REP = " - "; } 36 40 static JmsBinarySub getInstance(JmsOperand lvalue, JmsOperand rvalue) 41 { 42 JmsBinarySub retval; 43 44 retval = (JmsBinarySub) getInstanceNonReflective(JmsOperand.JMS_BINARY_SUB, lvalue, rvalue); 45 if (retval == null) 46 retval = new JmsBinarySub(lvalue, rvalue); 47 48 return retval; 49 } 50 51 protected JmsBinarySub(JmsOperand lvalue, JmsOperand rvalue) 55 { 56 super(lvalue, rvalue); 57 } 58 59 63 JmsOperand evaluate(Message msg) throws SelectorFalseException 64 { 65 66 try { 67 JmsNumericLiteral leftSide = (JmsNumericLiteral) lvalue.evaluateOnce(msg); 68 if (leftSide == null) 69 return JmsBooleanLiteral.UNKNOWN; 70 71 JmsNumericLiteral rightSide = (JmsNumericLiteral) rvalue.evaluateOnce(msg); 72 if (rightSide == null) 73 return JmsBooleanLiteral.UNKNOWN; 74 75 return leftSide.sub(rightSide); 76 } catch (ClassCastException e) { 77 throw SelectorFalseException.getInstance(); 78 } 79 } 80 81 short getType() { return JmsOperand.JMS_BINARY_SUB; } 82 83 } 84 | Popular Tags |