org.apache.velocity.runtime.parser.node
Class ASTEQNode

java.lang.Object
  extended by org.apache.velocity.runtime.parser.node.SimpleNode
      extended by org.apache.velocity.runtime.parser.node.ASTEQNode
All Implemented Interfaces:
Node

public class ASTEQNode
extends SimpleNode

Handles arg1 == arg2 This operator requires that the LHS and RHS are both of the same Class OR both are subclasses of java.lang.Number

Version:
$Id: ASTEQNode.java 151544 2005-02-06 05:07:21Z wglass $
Author:
Will Glass-Husain, Peter Romianowski

Field Summary
 
Fields inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
children, first, id, info, invalid, last, parent, parser, rsvc, state
 
Constructor Summary
ASTEQNode(int id)
           
ASTEQNode(Parser p, int id)
           
 
Method Summary
 boolean evaluate(InternalContextAdapter context)
          Calculates the value of the logical expression arg1 == arg2 All class types are supported.
 Object jjtAccept(ParserVisitor visitor, Object data)
          Accept the visitor.
 Object value(InternalContextAdapter context)
           
 
Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
childrenAccept, dump, execute, getColumn, getFirstToken, getInfo, getLastToken, getLine, getLocation, getLocation, getType, init, isInvalid, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, literal, render, setFirstToken, setInfo, setInvalid, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ASTEQNode

public ASTEQNode(int id)

ASTEQNode

public ASTEQNode(Parser p,
                 int 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

evaluate

public boolean evaluate(InternalContextAdapter context)
                 throws MethodInvocationException
Calculates the value of the logical expression arg1 == arg2 All class types are supported. Uses equals() to determine equivalence. This should work as we represent with the types we already support, and anything else that implements equals() to mean more than identical references.

Specified by:
evaluate in interface Node
Overrides:
evaluate in class SimpleNode
Parameters:
context - internal context used to evaluate the LHS and RHS
Returns:
true if equivalent, false if not equivalent, false if not compatible arguments, or false if either LHS or RHS is null
Throws:
MethodInvocationException

value

public Object value(InternalContextAdapter context)
             throws MethodInvocationException
Specified by:
value in interface Node
Overrides:
value in class SimpleNode
Throws:
MethodInvocationException


Copyright © 2002 Apache Software Foundation. All Rights Reserved.