1 46 package org.mr.api.jms.selector.syntax; 47 48 import javax.jms.Message ; 49 50 51 55 class Or extends LogicalOperator { 56 57 60 private static final String CONTEXT = "or operator"; 61 62 63 69 public Or(final Expression leftHand, final Expression rightHand) { 70 super("or", leftHand, rightHand); 71 } 73 80 public MantaObject evaluate(final Message msg) throws TypeMismatchException { 81 MantaBoolean result = null; 82 MantaBoolean leftHand = TypeCaster.castToBool(left().evaluate(msg), CONTEXT); 83 84 if (leftHand != null) { 85 if (leftHand.value()) { 86 result = MantaBoolean.TRUE; 87 } else { 89 MantaBoolean rightHand = TypeCaster.castToBool(right().evaluate(msg), CONTEXT); 90 result = leftHand.or(rightHand); 91 } } else { 94 MantaBoolean rightHand = TypeCaster.castToBool(right().evaluate(msg), CONTEXT); 95 if (rightHand!= null) { 96 result = rightHand.or(leftHand); 97 } } return result; 100 }} | Popular Tags |