1 16 package org.apache.commons.jexl.parser; 17 18 import org.apache.commons.jexl.JexlContext; 19 import org.apache.commons.jexl.util.Coercion; 20 21 27 28 public class ASTNotNode extends SimpleNode { 29 34 public ASTNotNode(int id) { 35 super(id); 36 } 37 38 44 public ASTNotNode(Parser p, int id) { 45 super(p, id); 46 } 47 48 49 public Object jjtAccept(ParserVisitor visitor, Object data) { 50 return visitor.visit(this, data); 51 } 52 53 54 public Object value(JexlContext jc) throws Exception { 55 Object val = ((SimpleNode) jjtGetChild(0)).value(jc); 56 57 60 61 Boolean b = Coercion.coerceBoolean(val); 62 63 if (b != null) { 64 return b.booleanValue() ? Boolean.FALSE : Boolean.TRUE; 65 } 66 67 throw new Exception ("expression not boolean valued"); 68 } 69 70 } 71 | Popular Tags |