org.apache.commons.jexl.parser
Class ASTEQNode

java.lang.Object
  |
  +--org.apache.commons.jexl.parser.SimpleNode
        |
        +--org.apache.commons.jexl.parser.ASTEQNode
All Implemented Interfaces:
Node

public class ASTEQNode
extends SimpleNode

Represents equality between values. If the values are of the same class, .equals() is used. If either value is a Float or Double (but both are not the same class), the values are coerced to Doubles before comparing. If either value is a Number or Character (but both are not the same class), the values are coerced to Longs before comparing. If either value is a Boolean (but both are not the same class), the values are coerced to Booleans before comparing. If either value is a String (but both are not the same class), toString() is called on both before comparing. Otherwise left.equals(right) is returned.

Version:
$Id: ASTEQNode.java 398190 2006-04-29 16:04:10Z dion $

Field Summary
 
Fields inherited from class org.apache.commons.jexl.parser.SimpleNode
children, id, parent, parser
 
Constructor Summary
ASTEQNode(int id)
          Create the node given an id.
ASTEQNode(Parser p, int id)
          Create a node with the given parser and id.
 
Method Summary
 Object jjtAccept(ParserVisitor visitor, Object data)
          Accept the visitor.
 Object value(JexlContext pc)
          Gets the value of this node.
 
Methods inherited from class org.apache.commons.jexl.parser.SimpleNode
childrenAccept, dump, execute, interpret, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, setValue, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ASTEQNode

public ASTEQNode(int id)
Create the node given an id.

Parameters:
id - node id.

ASTEQNode

public ASTEQNode(Parser p,
                 int id)
Create a node with the given parser and id.

Parameters:
p - a parser.
id - node id.
Method Detail

jjtAccept

public Object jjtAccept(ParserVisitor visitor,
                        Object data)
Accept the visitor.

Specified by:
jjtAccept in interface Node
Overrides:
jjtAccept in class SimpleNode
Parameters:
visitor - a ParserVisitor.
data - data to be passed along to the visitor.
Returns:
the value from visiting.
See Also:
ParserVisitor.visit(org.apache.commons.jexl.parser.SimpleNode, java.lang.Object)

value

public Object value(JexlContext pc)
             throws Exception
Gets the value of this node.

Overrides:
value in class SimpleNode
Parameters:
pc - the context to retrieve values from.
Returns:
the value of the node.
Throws:
Exception - when evaluating the operands fails.


Copyright © 2003-2006 The Apache Software Foundation. All Rights Reserved.