1 21 package com.presumo.jms.selector; 22 23 import javax.jms.Message ; 24 25 26 31 final class JmsBinaryAdd extends JmsBinaryOperand 32 { 33 34 static { 35 STRING_REP = "+"; } 37 38 39 static JmsBinaryAdd getInstance(JmsOperand lvalue, JmsOperand rvalue) 43 { 44 JmsBinaryAdd retval; 45 46 retval = (JmsBinaryAdd) getInstanceReflective(JmsOperand.JMS_BINARY_ADD, lvalue, rvalue); 47 if (retval == null) 48 retval = new JmsBinaryAdd(lvalue, rvalue); 49 50 return retval; 51 } 52 53 protected JmsBinaryAdd(JmsOperand lvalue, JmsOperand rvalue) { 57 super(lvalue, rvalue); 58 } 59 60 64 JmsOperand evaluate(Message msg) throws SelectorFalseException 65 { 66 67 try { 68 JmsNumericLiteral leftSide = (JmsNumericLiteral) lvalue.evaluateOnce(msg); 69 if (leftSide == null) 70 return JmsBooleanLiteral.UNKNOWN; 71 72 JmsNumericLiteral rightSide = (JmsNumericLiteral) rvalue.evaluateOnce(msg); 73 if (rightSide == null) 74 return JmsBooleanLiteral.UNKNOWN; 75 76 return leftSide.add(rightSide); 77 } catch (ClassCastException e) { 78 throw SelectorFalseException.getInstance(); 79 } 80 } 81 82 short getType() { return JmsOperand.JMS_BINARY_ADD; } 83 84 } | Popular Tags |