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