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 31 32 public class AndOperator extends UnaryOperator 33 { 34 35 public AndOperator(Token tok) 36 { 37 super(tok); 38 setName(NAME); 39 } 40 41 public String toString() 42 { 43 return "and"; 44 } 45 46 public EvaluationResult evaluate(EvaluationContext context, EvaluationResult left) 47 throws EvaluationException 48 { 49 50 boolean _l, _r; 51 52 _l = left.getBool(); 53 54 if (!_l) 55 { 56 return EvaluationResult.BOOL_FALSE; 57 } 58 59 _r = right().evaluate(context).getBool(); 60 61 return (_r ? EvaluationResult.BOOL_TRUE : EvaluationResult.BOOL_FALSE); 62 } 63 64 public boolean isStatic() 65 { 66 return (left().isStatic() && right().isStatic()); 67 } 68 69 public void acceptInOrder(AbstractTCLVisitor visitor) throws VisitorException 70 { 71 left().acceptInOrder(visitor); 72 visitor.visitAnd(this); 73 right().acceptInOrder(visitor); 74 } 75 76 public void acceptPreOrder(AbstractTCLVisitor visitor) throws VisitorException 77 { 78 visitor.visitAnd(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.visitAnd(this); 88 } 89 90 static final String NAME = "AndOperator"; 91 } | Popular Tags |