1 16 17 package org.apache.commons.jexl.parser; 18 19 import org.apache.commons.jexl.JexlContext; 20 import org.apache.commons.jexl.util.Coercion; 21 22 28 public class ASTBitwiseXorNode extends SimpleNode { 29 34 public ASTBitwiseXorNode(int id) { 35 super(id); 36 } 37 38 44 public ASTBitwiseXorNode(Parser p, int id) { 45 super(p, id); 46 } 47 48 51 public Object jjtAccept(ParserVisitor visitor, Object data) { 52 return visitor.visit(this, data); 53 } 54 55 58 public Object value(JexlContext context) throws Exception { 59 Object left = ((SimpleNode) jjtGetChild(0)).value(context); 60 Object right = ((SimpleNode) jjtGetChild(1)).value(context); 61 62 Long l = left == null ? new Long (0) : Coercion.coerceLong(left); 63 Long r = right == null ? new Long (0) : Coercion.coerceLong(right); 64 return new Long (l.longValue() ^ r.longValue()); 65 } 66 } 67 | Popular Tags |