1 21 package com.presumo.jms.selector; 22 23 import javax.jms.Message ; 24 25 33 final class JmsLess extends JmsBinaryOperand 34 { 35 static 36 { 37 STRING_REP = " < "; } 39 40 44 static JmsLess getInstance(JmsOperand lvalue, JmsOperand rvalue) 45 { 46 JmsLess retval; 47 48 retval = (JmsLess) getInstanceNonReflective(JmsOperand.JMS_LESS, lvalue, rvalue); 49 if (retval == null) 50 retval = new JmsLess(lvalue, rvalue); 51 52 return retval; 53 } 54 55 protected JmsLess(JmsOperand lvalue, JmsOperand rvalue) 59 { 60 super(lvalue, rvalue); 61 } 62 63 64 65 69 JmsOperand evaluate(Message msg) throws SelectorFalseException 70 { 71 72 try { 73 JmsNumericLiteral leftSide = (JmsNumericLiteral) lvalue.evaluateOnce(msg); 74 JmsNumericLiteral rightSide = (JmsNumericLiteral) rvalue.evaluateOnce(msg); 75 76 if (leftSide == null || rightSide == null) 77 return JmsBooleanLiteral.UNKNOWN; 78 79 return leftSide.lt(rightSide); 80 } catch (ClassCastException e) { 81 throw SelectorFalseException.getInstance(); 82 } 83 } 84 85 short getType() { return JmsOperand.JMS_LESS; } 86 87 } 88 89 90 91 92 | Popular Tags |