#include <passiveprojectiontree.h>
Public Member Functions | |
PassiveProjectionTree (PathEnvironment *_penv) | |
Constructor. | |
virtual | ~PassiveProjectionTree () |
void | registerPath (PathExpression *path) |
Adds a path to the passive projection tree. | |
void | print (OutputStream &dos) |
Prints ths passive projection tree node. | |
PassiveProjectionTreeNode * | getRootNode () |
Returns the root node of the PassiveProjectionTree. | |
PathEnvironment * | getPathEnv () |
Returns the path environment. | |
Private Attributes | |
PassiveProjectionTreeNode * | root |
The root node of the tree. | |
PathEnvironment * | penv |
The path environment. |
The passive projection tree is kept up to avoid the interleaving of path steps that have been optimized away. Basically, each node represents a single path step, and each path from the root describes a complete path. Nodes matched on this path during preprojection must not be interleaved.
Definition at line 52 of file passiveprojectiontree.h.
PassiveProjectionTree::PassiveProjectionTree | ( | PathEnvironment * | _penv | ) |
Constructor.
Constructs - creating object for a PathEnvironment.
[in] | _penv | Pointer to the PathEnvironment object. |
Definition at line 37 of file passiveprojectiontree.cpp.
PassiveProjectionTree::~PassiveProjectionTree | ( | ) | [virtual] |
PathEnvironment * PassiveProjectionTree::getPathEnv | ( | ) | [inline] |
Returns the path environment.
The path environment stores variable-to-path mappings.
PathEnvironment* | Pointer to the PathEnvironment object. |
Definition at line 97 of file passiveprojectiontree.h.
Referenced by DependencyTuple::registerToPassiveProjectionTree().
PassiveProjectionTreeNode * PassiveProjectionTree::getRootNode | ( | ) | [inline] |
Returns the root node of the PassiveProjectionTree.
The root node of the PassiveProjectionTree corresponds to the virtual XML document root node.
PassiveProjectionTreeNode* | Pointer to the root node of PassiveProjectionTree. |
Definition at line 90 of file passiveprojectiontree.h.
References root.
Referenced by PassiveProjectionTreeConfiguration::PassiveProjectionTreeConfiguration().
void PassiveProjectionTree::print | ( | OutputStream & | dos | ) |
Prints ths passive projection tree node.
This method is for debug purposes only.
[in] | dos | Reference to the (debug) OutputStream. |
void |
Definition at line 51 of file passiveprojectiontree.cpp.
References PassiveProjectionTreeNode::print(), and root.
Referenced by Executor::buildProjectionTree().
void PassiveProjectionTree::registerPath | ( | PathExpression * | path | ) |
Adds a path to the passive projection tree.
The nodes of the path are inserted at the correct positions.
[in] | path | The path to be registered. |
void |
Definition at line 45 of file passiveprojectiontree.cpp.
References PathExpression::isEmptyPath(), PassiveProjectionTreeNode::registerPath(), and root.
Referenced by ProjectionTreeNode::registerToPassiveProjectionTree(), and DependencyTuple::registerToPassiveProjectionTree().
PathEnvironment * PassiveProjectionTree::penv [private] |
The path environment.
The path environment stores variable-to-path mappings.
Definition at line 113 of file passiveprojectiontree.h.
PassiveProjectionTreeNode * PassiveProjectionTree::root [private] |
The root node of the tree.
The root node of the PassiveProjectionTree corresponds to the virtual XML document root node.
Definition at line 107 of file passiveprojectiontree.h.
Referenced by getRootNode(), print(), registerPath(), and ~PassiveProjectionTree().