net.sf.joost.grammar.tree
Class ChildTree

java.lang.Object
  extended by net.sf.joost.grammar.Tree
      extended by net.sf.joost.grammar.ReversableTree
          extended by net.sf.joost.grammar.tree.ChildTree
All Implemented Interfaces:
Cloneable

public final class ChildTree
extends ReversableTree

Objects of ChildTree represent a child step on the ancestor stack in the syntax tree of a pattern or an STXPath expression.

Version:
$Revision: 1.2 $ $Date: 2007/05/20 18:00:44 $
Author:
Oliver Becker

Field Summary
 
Fields inherited from class net.sf.joost.grammar.Tree
ADD, AND, ATTR, ATTR_LOCAL_WILDCARD, ATTR_URI_WILDCARD, ATTR_WILDCARD, AVT, CDATA_TEST, CHILD, COMMENT_TEST, DDOT, DESC, DIV, DOT, EQ, FUNCTION, GE, GT, LE, left, LIST, lName, LOCAL_WILDCARD, LT, MOD, MULT, NAME_TEST, NE, NODE_TEST, NUMBER, OR, PI_TEST, PREDICATE, right, ROOT, SEQ, STRING, SUB, TEXT_TEST, type, UNION, uri, URI_WILDCARD, value, VALUE, VAR, WILDCARD
 
Constructor Summary
ChildTree(Tree left, Tree right)
           
 
Method Summary
 Value evaluate(Context context, int top)
          Evaluates the current Tree if it represents an expression.
 boolean isConstant()
           
 boolean matches(Context context, int top, boolean setPosition)
          Determines if the event stack matches the pattern represented by this Tree object.
 
Methods inherited from class net.sf.joost.grammar.ReversableTree
reverseAssociativity
 
Methods inherited from class net.sf.joost.grammar.Tree
deepCopy, evaluate, getPriority, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ChildTree

public ChildTree(Tree left,
                 Tree right)
Method Detail

matches

public boolean matches(Context context,
                       int top,
                       boolean setPosition)
                throws SAXException
Description copied from class: Tree
Determines if the event stack matches the pattern represented by this Tree object.

Overrides:
matches in class Tree
Parameters:
context - the Context object
top - the part of the stack to be considered while matching (the upper most element is at position top-1)
setPosition - true if the context position (Context.position) should be set in case the event stack matches this pattern
Returns:
true if the stack matches the pattern represented by this Tree.
Throws:
SAXException

evaluate

public Value evaluate(Context context,
                      int top)
               throws SAXException
Description copied from class: Tree
Evaluates the current Tree if it represents an expression.

Overrides:
evaluate in class Tree
Parameters:
context - the current Context
top - the part of the stack to be considered for the evaluation (the upper most element is at position top-1)
Returns:
a new computed Value object containing the result
Throws:
SAXException

isConstant

public boolean isConstant()
Overrides:
isConstant in class Tree
Returns:
whether the expression represented by this tree is constant