Class: Doctrine_Node_NestedSet
Source Location: /Doctrine/Node/NestedSet.phpClass Doctrine_Node_NestedSet
Implements interfaces: Doctrine_Node_NestedSet Located in /Doctrine/Node/NestedSet.php [line 33] Doctrine_Node | --Doctrine_Node_NestedSetAuthor(s):
|
|
Inherited Properties | Inherited Methods | Inherited Constants |
---|---|---|
Inherited From Doctrine_Node |
Inherited From Doctrine_Node
|
void | addChild() | adds node as last child of record |
void | delete() | deletes node and it's descendants |
mixed | getAncestors() | gets ancestors for node |
mixed | getChildren() | gets children for node (direct descendants only) |
mixed | getDescendants() | gets descendants for node (direct descendants only) |
object Doctrine_Record | getFirstChild() | gets record of first child or empty record |
object Doctrine_Record | getLastChild() | gets record of last child or empty record |
int | getLeftValue() | gets record's left value |
int | getLevel() | gets level (depth) of node in the tree |
object Doctrine_Record | getNextSibling() | gets record of next sibling or empty record |
int | getNumberChildren() | gets number of children (direct descendants) |
int | getNumberDescendants() | gets number of descendants (children and their children) |
object Doctrine_Record | getParent() | gets record of parent or empty record |
string | getPath() | gets path to node from root, uses record::toString() method to get node names |
object Doctrine_Record | getPrevSibling() | gets record of prev sibling or empty record |
int | getRightValue() | gets record's right value |
void | getRootValue() | get records root id value |
array | getSiblings() | gets siblings for node |
bool | hasChildren() | test if node has children |
bool | hasNextSibling() | test if node has next sibling |
bool | hasParent() | test if node has parent |
bool | hasPrevSibling() | test if node has previous sibling |
bool | insertAsFirstChildOf() | inserts node as first child of dest record |
bool | insertAsLastChildOf() | inserts node as last child of dest record |
bool | insertAsNextSiblingOf() | inserts node as next sibling of dest record |
bool | insertAsParentOf() | inserts node as parent of dest record |
bool | insertAsPrevSiblingOf() | inserts node as previous sibling of dest record |
void | insertNode() | sets node's left and right values and save's it |
bool | isDescendantOf() | determines if node is child of subject node |
bool | isDescendantOfOrEqualTo() | determines if node is child of or sibling to subject node |
bool | isEqualTo() | determines if node is equal to subject node |
bool | isLeaf() | determines if node is leaf |
bool | isRoot() | determines if node is root |
bool | isValidNode() | determines if node is valid |
void | makeRoot() | Makes this node a root node. Only used in multiple-root trees. |
void | moveAsFirstChildOf() | moves node as first child of dest record |
void | moveAsLastChildOf() | moves node as last child of dest record |
void | moveAsNextSiblingOf() | moves node as next sibling of dest record |
void | moveAsPrevSiblingOf() | moves node as prev sibling of dest record |
void | setLeftValue() | sets record's left value |
void | setRightValue() | sets record's right value |
void | setRootValue() | sets records root id value |
void | shiftRlRange() | adds '$delta' to all Left and Right values that are >= '$first' and <= '$last'. |
void | shiftRlValues() | adds '$delta' to all Left and Right values that are >= '$first'. '$delta' can also be negative. |
void | updateNode() | move node's and its children to location $destLeft and updates rest of tree |
void | _moveBetweenTrees() | Accomplishes moving of nodes between different trees. |
|
adds node as last child of record
Parameters:Doctrine_Record | $record: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::addChild()
- adds node as last child of record
|
deletes node and it's descendants
API Tags:
Access: | public |
Information Tags:
Todo: | Delete more efficiently. Wrap in transaction if needed. |
- Doctrine_Node_Interface::delete()
- deletes node and it's descendants
|
gets ancestors for node
Parameters:integer | $deth: | The depth 'upstairs'. |
$depth: |
API Tags:
Return: | The ancestors of the node or FALSE if the node has no ancestors (this basically means it's a root node). |
Access: | public |
- Doctrine_Node_Interface::getAncestors()
- gets ancestors for node
|
gets children for node (direct descendants only)
API Tags:
Return: | The children of the node or FALSE if the node has no children. |
Access: | public |
- Doctrine_Node_Interface::getChildren()
- gets children for node (direct descendants only)
|
gets descendants for node (direct descendants only)
Parameters:$depth: | ||
$includeNode: |
API Tags:
Return: | The descendants of the node or FALSE if the node has no descendants. |
Access: | public |
Information Tags:
Todo: | Currently all descendants are fetched, no matter the depth. Maybe there is a better solution with less overhead. |
- Doctrine_Node_Interface::getDescendants()
- gets descendants for node (direct descendants only)
|
gets record of first child or empty record
API Tags:
Access: | public |
- Doctrine_Node_Interface::getFirstChild()
- gets record of first child or empty record
|
gets record of last child or empty record
API Tags:
Access: | public |
- Doctrine_Node_Interface::getLastChild()
- gets record of last child or empty record
|
gets record's left value
API Tags:
Access: | public |
|
gets level (depth) of node in the tree
API Tags:
Access: | public |
- Doctrine_Node_Interface::getLevel()
- gets level (depth) of node in the tree
|
gets record of next sibling or empty record
API Tags:
Access: | public |
- Doctrine_Node_Interface::getNextSibling()
- gets record of next sibling or empty record
|
gets number of children (direct descendants)
API Tags:
Access: | public |
- Doctrine_Node_Interface::getNumberChildren()
- gets number of children (direct descendants)
|
gets number of descendants (children and their children)
API Tags:
Access: | public |
- Doctrine_Node_Interface::getNumberDescendants()
- gets number of descendants (children and their children)
|
gets record of parent or empty record
API Tags:
Access: | public |
- Doctrine_Node_Interface::getParent()
- gets record of parent or empty record
|
gets path to node from root, uses record::toString() method to get node names
Parameters:string | $seperator: | path seperator |
bool | $includeNode: | whether or not to include node at end of path |
$includeRecord: |
API Tags:
Return: | string representation of path |
Access: | public |
- Doctrine_Node_Interface::getPath()
- gets path to node from root, uses record::toString() method to get node names
|
gets record of prev sibling or empty record
API Tags:
Access: | public |
- Doctrine_Node_Interface::getPrevSibling()
- gets record of prev sibling or empty record
|
gets record's right value
API Tags:
Access: | public |
|
get records root id value
API Tags:
Access: | public |
|
gets siblings for node
Parameters:$includeNode: |
API Tags:
Return: | array of sibling Doctrine_Record objects |
Access: | public |
- Doctrine_Node_Interface::getSiblings()
- gets siblings for node
|
test if node has children
API Tags:
Access: | public |
- Doctrine_Node_Interface::hasChildren()
- test if node has children
|
test if node has next sibling
API Tags:
Access: | public |
- Doctrine_Node_Interface::hasNextSibling()
- test if node has next sibling
|
test if node has parent
API Tags:
Access: | public |
- Doctrine_Node_Interface::hasParent()
- test if node has parent
|
test if node has previous sibling
API Tags:
Access: | public |
- Doctrine_Node_Interface::hasPrevSibling()
- test if node has previous sibling
|
inserts node as first child of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
Information Tags:
Todo: | Wrap in transaction |
- Doctrine_Node_Interface::insertAsFirstChildOf()
- inserts node as first child of dest record
|
inserts node as last child of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
Information Tags:
Todo: | Wrap in transaction |
- Doctrine_Node_Interface::insertAsLastChildOf()
- inserts node as first child of dest record
|
inserts node as next sibling of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
Information Tags:
Todo: | Wrap in transaction |
- Doctrine_Node_Interface::insertAsNextSiblingOf()
- inserts node as next sibling of dest record
|
inserts node as parent of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
Information Tags:
Todo: | Wrap in transaction |
- Doctrine_Node_Interface::insertAsParentOf()
- inserts node as parent of dest record
|
inserts node as previous sibling of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
Information Tags:
Todo: | Wrap in transaction |
- Doctrine_Node_Interface::insertAsPrevSiblingOf()
- inserts node as previous sibling of dest record
|
sets node's left and right values and save's it
Parameters:int | $destLeft: | node left value |
int | $destRight: | node right value |
$destRoot: |
API Tags:
Access: | private |
|
determines if node is child of subject node
Parameters:Doctrine_Record | $subj: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::isDescendantOf()
- determines if node is child of subject node
|
determines if node is child of or sibling to subject node
Parameters:Doctrine_Record | $subj: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::isDescendantOfOrEqualTo()
- determines if node is child of or sibling to subject node
|
determines if node is equal to subject node
Parameters:Doctrine_Record | $subj: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::isEqualTo()
- determines if node is equal to subject node
|
determines if node is leaf
API Tags:
Access: | public |
- Doctrine_Node_Interface::isLeaf()
- determines if node is leaf
|
determines if node is root
API Tags:
Access: | public |
- Doctrine_Node_Interface::isRoot()
- determines if node is root
|
determines if node is valid
Parameters:$record: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::isValidNode()
- determines if node is valid
|
Makes this node a root node. Only used in multiple-root trees.
Parameters:$newRootId: |
API Tags:
Access: | public |
Information Tags:
Todo: | Exception handling/wrapping |
|
moves node as first child of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::moveAsFirstChildOf()
- moves node as first child of dest record
|
moves node as last child of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::moveAsLastChildOf()
- moves node as last child of dest record
|
moves node as next sibling of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::moveAsNextSiblingOf()
- moves node as next sibling of dest record
|
moves node as prev sibling of dest record
Parameters:Doctrine_Record | $dest: |
API Tags:
Access: | public |
- Doctrine_Node_Interface::moveAsPrevSiblingOf()
- moves node as prev sibling of dest record
|
sets record's left value
Parameters:int | $lft: |
API Tags:
Access: | public |
|
sets record's right value
Parameters:int | $rgt: |
API Tags:
Access: | public |
|
sets records root id value
Parameters:int | $value: |
API Tags:
Access: | public |
|
adds '$delta' to all Left and Right values that are >= '$first' and <= '$last'.
'$delta' can also be negative.
Parameters:int | $first: | First node to be shifted (L value) |
int | $last: | Last node to be shifted (L value) |
int | $delta: | Value to be shifted by, can be negative |
$rootId: |
API Tags:
Access: | private |
|
adds '$delta' to all Left and Right values that are >= '$first'. '$delta' can also be negative.
Parameters:int | $first: | First node to be shifted |
int | $delta: | Value to be shifted by, can be negative |
$rootId: |
API Tags:
Access: | private |
|
move node's and its children to location $destLeft and updates rest of tree
Parameters:int | $destLeft: | destination left value |
$levelDiff: |
API Tags:
Access: | private |
Information Tags:
Todo: | Wrap in transaction |
|
Accomplishes moving of nodes between different trees.
Used by the move* methods if the root values of the two nodes are different.
Parameters:Doctrine_Record | $dest: | |
unknown_type | $newLeftValue: | |
unknown_type | $moveType: |
API Tags:
Access: | private |
Information Tags:
Todo: | Better exception handling/wrapping |