KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jacorb > notification > filter > etcl > NotOperator


1 /*
2  * JacORB - a free Java ORB
3  *
4  * Copyright (C) 1999-2004 Gerald Brose
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the Free
18  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19  *
20  */

21 package org.jacorb.notification.filter.etcl;
22
23 import org.jacorb.notification.filter.EvaluationContext;
24 import org.jacorb.notification.filter.EvaluationException;
25 import org.jacorb.notification.filter.EvaluationResult;
26
27 import antlr.Token;
28
29 /** A simple node to represent NOT operation */
30 public class NotOperator extends UnaryOperator
31 {
32     public NotOperator(Token tok)
33     {
34         super(tok);
35         setName(NAME);
36     }
37
38     public String JavaDoc toString()
39     {
40         return " not";
41     }
42     
43     public EvaluationResult evaluate(EvaluationContext context, EvaluationResult left)
44             throws EvaluationException
45     {
46
47         boolean _b = left.getBool();
48
49         return (_b ? EvaluationResult.BOOL_FALSE : EvaluationResult.BOOL_TRUE);
50     }
51
52     static final String JavaDoc NAME = "NotOperator";
53
54     
55
56     public void acceptInOrder(AbstractTCLVisitor visitor) throws VisitorException
57     {
58         left().acceptInOrder(visitor);
59         visitor.visitNot(this);
60     }
61
62     public void acceptPreOrder(AbstractTCLVisitor visitor) throws VisitorException
63     {
64         visitor.visitNot(this);
65         left().acceptPreOrder(visitor);
66     }
67
68     public void acceptPostOrder(AbstractTCLVisitor visitor) throws VisitorException
69     {
70         left().acceptInOrder(visitor);
71         visitor.visitNot(this);
72     }
73 }
Popular Tags