| 1 21 package com.presumo.jms.selector; 22 23 import javax.jms.Message ; 24 25 30 final class JmsEquals extends JmsBinaryOperand 31 { 32 static 33 { 34 STRING_REP = " = "; } 36 37 static JmsEquals getInstance(JmsOperand lvalue, JmsOperand rvalue) 41 { 42 JmsEquals retval; 43 44 retval = (JmsEquals) getInstanceReflective(JmsOperand.JMS_EQUALS, lvalue, rvalue); 45 if (retval == null) 46 retval = new JmsEquals(lvalue, rvalue); 47 48 return retval; 49 } 50 51 protected JmsEquals(JmsOperand lvalue, JmsOperand rvalue) 55 { 56 super(lvalue, rvalue); 57 } 58 59 60 64 JmsOperand evaluate(Message msg) throws SelectorFalseException 65 { 66 67 try { 68 JmsDataType leftSide = (JmsDataType) lvalue.evaluateOnce(msg); 69 JmsDataType rightSide = (JmsDataType) rvalue.evaluateOnce(msg); 70 71 if (leftSide == null | rightSide == null) 72 return JmsBooleanLiteral.UNKNOWN; 73 else 74 return leftSide.eq(rightSide); 75 76 } catch (ClassCastException cce) { 77 throw SelectorFalseException.getInstance(); 78 } 79 80 } 81 82 short getType() { return JmsOperand.JMS_EQUALS; } 83 84 } 85 86 87 88 89 90 91 92 | Popular Tags |