1 package org.jacorb.notification.filter.etcl; 2 3 23 24 import org.jacorb.notification.filter.EvaluationContext; 25 import org.jacorb.notification.filter.EvaluationException; 26 import org.jacorb.notification.filter.EvaluationResult; 27 28 import antlr.Token; 29 30 35 36 public class OrOperator extends UnaryOperator 37 { 38 private static final String NAME = "OrOperator"; 39 40 private static final String OR = "or"; 41 42 public OrOperator(Token tok) 43 { 44 super(tok); 45 setName(NAME); 46 } 47 48 public String toString() 49 { 50 return OR; 51 } 52 53 public EvaluationResult evaluate(EvaluationContext context, EvaluationResult left) 54 throws EvaluationException 55 { 56 if (left.getBool()) 57 { 58 return EvaluationResult.BOOL_TRUE; 59 } 60 61 if (right().evaluate(context).getBool()) 62 { 63 return EvaluationResult.BOOL_TRUE; 64 } 65 66 return EvaluationResult.BOOL_FALSE; 67 } 68 69 public void acceptInOrder(AbstractTCLVisitor visitor) throws VisitorException 70 { 71 left().acceptInOrder(visitor); 72 visitor.visitOr(this); 73 right().acceptInOrder(visitor); 74 } 75 76 public void acceptPreOrder(AbstractTCLVisitor visitor) throws VisitorException 77 { 78 visitor.visitOr(this); 79 left().acceptPreOrder(visitor); 80 right().acceptPreOrder(visitor); 81 } 82 83 public void acceptPostOrder(AbstractTCLVisitor visitor) throws VisitorException 84 { 85 left().acceptPostOrder(visitor); 86 right().acceptPostOrder(visitor); 87 visitor.visitOr(this); 88 } 89 } | Popular Tags |