1 21 package com.presumo.jms.selector; 22 23 import javax.jms.Message ; 24 25 30 class JmsBinaryMult extends JmsBinaryOperand 31 { 32 static { 33 STRING_REP = " * "; } 35 36 static JmsBinaryMult getInstance(JmsOperand lvalue, JmsOperand rvalue) 40 { 41 JmsBinaryMult retval; 42 43 retval = (JmsBinaryMult) getInstanceReflective(JmsOperand.JMS_BINARY_MULT, lvalue, rvalue); 44 if (retval == null) 45 retval = new JmsBinaryMult(lvalue, rvalue); 46 47 return retval; 48 } 49 50 protected JmsBinaryMult(JmsOperand lvalue, JmsOperand rvalue) 54 { 55 super(lvalue, rvalue); 56 } 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.mult(rightSide); 76 } catch (ClassCastException e) { 77 throw SelectorFalseException.getInstance(); 78 } 79 } 80 81 short getType() { return JmsOperand.JMS_BINARY_MULT; } 82 83 } 84 85 | Popular Tags |