PassiveProjectionTree Class Reference

Class for the passive projection tree. More...

#include <passiveprojectiontree.h>

Collaboration diagram for PassiveProjectionTree:

Collaboration graph
[legend]

List of all members.

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.
PassiveProjectionTreeNodegetRootNode ()
 Returns the root node of the PassiveProjectionTree.
PathEnvironmentgetPathEnv ()
 Returns the path environment.

Private Attributes

PassiveProjectionTreeNoderoot
 The root node of the tree.
PathEnvironmentpenv
 The path environment.


Detailed Description

Class for the passive projection tree.

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.

Author:
Michael Schmidt

Gunnar Jehl

Version:
2.1
License:
Software License Agreement (BSD License)

Definition at line 52 of file passiveprojectiontree.h.


Constructor & Destructor Documentation

PassiveProjectionTree::PassiveProjectionTree ( PathEnvironment _penv  ) 

Constructor.

Constructs - creating object for a PathEnvironment.

Parameters:
[in] _penv Pointer to the PathEnvironment object.

Definition at line 37 of file passiveprojectiontree.cpp.

PassiveProjectionTree::~PassiveProjectionTree (  )  [virtual]

Destructor.

Definition at line 41 of file passiveprojectiontree.cpp.

References root.


Member Function Documentation

PathEnvironment * PassiveProjectionTree::getPathEnv (  )  [inline]

Returns the path environment.

The path environment stores variable-to-path mappings.

Return values:
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.

Return values:
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.

Parameters:
[in] dos Reference to the (debug) OutputStream.
Return values:
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.

Parameters:
[in] path The path to be registered.
Return values:
void 

Definition at line 45 of file passiveprojectiontree.cpp.

References PathExpression::isEmptyPath(), PassiveProjectionTreeNode::registerPath(), and root.

Referenced by ProjectionTreeNode::registerToPassiveProjectionTree(), and DependencyTuple::registerToPassiveProjectionTree().


Member Data Documentation

The path environment.

The path environment stores variable-to-path mappings.

Definition at line 113 of file passiveprojectiontree.h.

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().


Generated on Sun May 24 20:20:27 2009 for G(arbage) C(ollected) X(Query) Engine by  doxygen 1.5.9