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