org.apache.jdo.impl.jdoql
Class MemoryQuery

java.lang.Object
  extended by org.apache.jdo.jdoql.tree.AbstractNodeVisitor
      extended by org.apache.jdo.impl.jdoql.MemoryQuery
All Implemented Interfaces:
NodeVisitor

public class MemoryQuery
extends AbstractNodeVisitor

An instance of this class is used to evaluate a query tree in memory. For this purpose this class keeps references to a parameter/variable table and to the current object corresponding with a ThisExpression. It extends AbstractNodeVisitor. To evaluate a query tree, you need to pass the query tree instance and an instance of this class to method walk of a tree walker instance.

Author:
Michael Watzek

Constructor Summary
MemoryQuery(ParameterTable parameters, VariableTable variables)
          Constructs an instance of this class for the specified paramter table and variable table.
MemoryQuery(org.apache.jdo.pm.PersistenceManagerInternal pm, ParameterTable parameters, VariableTable variables)
          Constructs an instance of this class for the specified paramter table and variable table.
 
Method Summary
 java.lang.Object leave(AndExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(CastExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(ComplementExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(ConditionalAndExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(ConditionalOrExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(ConstantExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(ContainsCallExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(DivideExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(EndsWithCallExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(EqualsExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(FieldAccessExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(GreaterThanEqualsExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(GreaterThanExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(IsEmptyCallExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(LessThanEqualsExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(LessThanExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(MinusExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(NotEqualsExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(NotExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(OrderingExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(OrExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(ParameterAccessExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(PlusExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(StartsWithCallExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(StaticFieldAccessExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(ThisExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(TimesExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(UnaryMinusExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(UnaryPlusExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 java.lang.Object leave(VariableAccessExpression node, java.lang.Object[] results)
          Returns the result evaluated for the argument node.
 void setCurrent(java.lang.Object current)
          Sets the instance returned by leaving an instance if ThisExpression.
 boolean walkNextChild(AndExpression node, java.lang.Object resultOfPreviousChild, int indexOfNextChild)
          Returns false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0.
 boolean walkNextChild(ConditionalAndExpression node, java.lang.Object resultOfPreviousChild, int indexOfNextChild)
          Returns false if the argument resultOfPreviousChild is null, undefined or false and the argument indexOfNextChild is greater than 0.
 boolean walkNextChild(ConditionalOrExpression node, java.lang.Object resultOfPreviousChild, int indexOfNextChild)
          Returns false if the argument resultOfPreviousChild is null, undefined or true and the argument indexOfNextChild is greater than 0.
 boolean walkNextChild(ContainsCallExpression node, java.lang.Object resultOfPreviousChild, int indexOfNextChild)
          Returns false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0.
 boolean walkNextChild(OrExpression node, java.lang.Object resultOfPreviousChild, int indexOfNextChild)
          Returns false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0.
 
Methods inherited from class org.apache.jdo.jdoql.tree.AbstractNodeVisitor
arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, arrive, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild, walkNextChild
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MemoryQuery

public MemoryQuery(ParameterTable parameters,
                   VariableTable variables)
Constructs an instance of this class for the specified paramter table and variable table. This query evaluator uses reflection for field accesses.

Parameters:
parameters - the parameter table
variables - the variable table

MemoryQuery

public MemoryQuery(org.apache.jdo.pm.PersistenceManagerInternal pm,
                   ParameterTable parameters,
                   VariableTable variables)
Constructs an instance of this class for the specified paramter table and variable table.

Parameters:
pm - the persistence manager
parameters - the parameter table
variables - the variable table
Method Detail

setCurrent

public void setCurrent(java.lang.Object current)
Sets the instance returned by leaving an instance if ThisExpression.

Parameters:
current - the instance to set

leave

public java.lang.Object leave(AndExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non boolean types

leave

public java.lang.Object leave(CastExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the result evaluated by the child of the argument node. The result returned by this method is the same as the result evaluated by the child of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the result evaluated by the node's child
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the result evaluated by the node's child is not an instance of the type to cast to

leave

public java.lang.Object leave(ComplementExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the result evaluated by the child of the argument node. The result returned by this method is based on the result evaluated by the child of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the result evaluated by the node's child
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the result evaluated by the node's child is not a boolean or integral type.

leave

public java.lang.Object leave(ConditionalAndExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non boolean types

leave

public java.lang.Object leave(ConditionalOrExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non boolean types

leave

public java.lang.Object leave(ConstantExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results is null as the argument node does not have any children. The result returned by this method is the object wrapped by the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - null
Returns:
the object wrapped by node

leave

public java.lang.Object leave(ContainsCallExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node

leave

public java.lang.Object leave(DivideExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(EndsWithCallExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node

leave

public java.lang.Object leave(EqualsExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node

leave

public java.lang.Object leave(FieldAccessExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children is undefined

leave

public java.lang.Object leave(GreaterThanEqualsExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(GreaterThanExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(IsEmptyCallExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node

leave

public java.lang.Object leave(LessThanEqualsExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(LessThanExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(MinusExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(NotEqualsExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(NotExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the result evaluated by the child of the argument node. The result returned by this method is based on the result evaluated by the child of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the result evaluated by child of node
Returns:
the result evaluated for node

leave

public java.lang.Object leave(OrderingExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the result evaluated by the child of the argument node. The result returned by this method is based on the result evaluated by the child of the argument node.

Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the result evaluated by child of node
Returns:
the result evaluated for node

leave

public java.lang.Object leave(OrExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non boolean types

leave

public java.lang.Object leave(ParameterAccessExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results is null as the argument node does not have any children. The result returned by this method is the instance obtained by the parameter table for for the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - null
Returns:
the instance obtained by the parameter table for node

leave

public java.lang.Object leave(PlusExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(StartsWithCallExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node

leave

public java.lang.Object leave(StaticFieldAccessExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node

leave

public java.lang.Object leave(ThisExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results is null as the argument node does not have any children. The result returned by this method is the current instance stored in this node visitor by method setCurrent.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - null
Returns:
the current instance stored in this node visitor by method setCurrent

leave

public java.lang.Object leave(TimesExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the results evaluated by the children of the argument node. The result returned by this method is based on the results evaluated by the children of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the results evaluated by children of node
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the results evaluated by the node's children are non integral types

leave

public java.lang.Object leave(UnaryMinusExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the result evaluated by the child of the argument node. The result returned by this method is based on the result evaluated by the child of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the result evaluated by the node's child
Returns:
the result evaluated for node
Throws:
JDOQueryException - if the result evaluated by the node's child is not an integral type.

leave

public java.lang.Object leave(UnaryPlusExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results contains the result evaluated by the child of the argument node. The result returned by this method is the same as the result evaluated by the child of the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - the result evaluated by the node's child
Returns:
the result evaluated for node

leave

public java.lang.Object leave(VariableAccessExpression node,
                              java.lang.Object[] results)
Returns the result evaluated for the argument node. The argument results is null as the argument node does not have any children. The result returned by this method is the instance obtained by the variable table for for the argument node.

Specified by:
leave in interface NodeVisitor
Overrides:
leave in class AbstractNodeVisitor
Parameters:
node - the node to be evaluated
results - null
Returns:
the instance obtained by the variable table for node

walkNextChild

public boolean walkNextChild(AndExpression node,
                             java.lang.Object resultOfPreviousChild,
                             int indexOfNextChild)
Returns false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0.

Specified by:
walkNextChild in interface NodeVisitor
Overrides:
walkNextChild in class AbstractNodeVisitor
Parameters:
node - the parent node of the children currently evaluated
resultOfPreviousChild - an array of null instances
indexOfNextChild - the index of the next child to be dumped
Returns:
false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0

walkNextChild

public boolean walkNextChild(ConditionalAndExpression node,
                             java.lang.Object resultOfPreviousChild,
                             int indexOfNextChild)
Returns false if the argument resultOfPreviousChild is null, undefined or false and the argument indexOfNextChild is greater than 0.

Specified by:
walkNextChild in interface NodeVisitor
Overrides:
walkNextChild in class AbstractNodeVisitor
Parameters:
node - the parent node of the children currently evaluated
resultOfPreviousChild - an array of null instances
indexOfNextChild - the index of the next child to be dumped
Returns:
false if the argument resultOfPreviousChild is null, undefined or false and the argument indexOfNextChild is greater than 0

walkNextChild

public boolean walkNextChild(ConditionalOrExpression node,
                             java.lang.Object resultOfPreviousChild,
                             int indexOfNextChild)
Returns false if the argument resultOfPreviousChild is null, undefined or true and the argument indexOfNextChild is greater than 0.

Specified by:
walkNextChild in interface NodeVisitor
Overrides:
walkNextChild in class AbstractNodeVisitor
Parameters:
node - the parent node of the children currently evaluated
resultOfPreviousChild - an array of null instances
indexOfNextChild - the index of the next child to be dumped
Returns:
false if the argument resultOfPreviousChild is null, undefined or true and the argument indexOfNextChild is greater than 0

walkNextChild

public boolean walkNextChild(ContainsCallExpression node,
                             java.lang.Object resultOfPreviousChild,
                             int indexOfNextChild)
Returns false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0.

Specified by:
walkNextChild in interface NodeVisitor
Overrides:
walkNextChild in class AbstractNodeVisitor
Parameters:
node - the parent node of the children currently evaluated
resultOfPreviousChild - an array of null instances
indexOfNextChild - the index of the next child to be dumped
Returns:
false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0

walkNextChild

public boolean walkNextChild(OrExpression node,
                             java.lang.Object resultOfPreviousChild,
                             int indexOfNextChild)
Returns false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0.

Specified by:
walkNextChild in interface NodeVisitor
Overrides:
walkNextChild in class AbstractNodeVisitor
Parameters:
node - the parent node of the children currently evaluated
resultOfPreviousChild - an array of null instances
indexOfNextChild - the index of the next child to be dumped
Returns:
false if the argument resultOfPreviousChild is undefined and the argument indexOfNextChild is greater than 0


Copyright © 2005-2012 Apache Software Foundation. All Rights Reserved.