sintonia/airtime_mvc/library/propel/runtime/lib/util/NodePeer.php

370 lines
11 KiB
PHP

<?php
/**
* This file is part of the Propel package.
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @license MIT License
*/
/**
* This is a utility interface for all generated NodePeer classes in the system.
*
* @author Heltem <heltem@o2php.com> (Propel)
* @version $Revision: 1612 $
* @package propel.runtime.util
*/
interface NodePeer
{
/**
* Creates the supplied node as the root node.
*
* @param object $node Propel object for model
* @return object Inserted propel object for model
*/
public static function createRoot(NodeObject $node);
/**
* Returns the root node for a given scope id
*
* @param int $scopeId Scope id to determine which root node to return
* @param PropelPDO $con Connection to use.
* @return object Propel object for root node
*/
public static function retrieveRoot($scopeId = 1, PropelPDO $con = null);
/**
* Inserts $child as first child of destination node $parent
*
* @param object $child Propel object for child node
* @param object $parent Propel object for parent node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function insertAsFirstChildOf(NodeObject $child, NodeObject $parent, PropelPDO $con = null);
/**
* Inserts $child as last child of destination node $parent
*
* @param object $child Propel object for child node
* @param object $parent Propel object for parent node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function insertAsLastChildOf(NodeObject $child, NodeObject $parent, PropelPDO $con = null);
/**
* Inserts $sibling as previous sibling to destination node $node
*
* @param object $node Propel object for destination node
* @param object $sibling Propel object for source node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function insertAsPrevSiblingOf(NodeObject $node, NodeObject $sibling, PropelPDO $con = null);
/**
* Inserts $sibling as next sibling to destination node $node
*
* @param object $node Propel object for destination node
* @param object $sibling Propel object for source node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function insertAsNextSiblingOf(NodeObject $node, NodeObject $sibling, PropelPDO $con = null);
/**
* Inserts $parent as parent of given $node.
*
* @param object $parent Propel object for given parent node
* @param object $node Propel object for given destination node
* @param PropelPDO $con Connection to use.
* @return void
* @throws Exception When trying to insert node as parent of a root node
*/
public static function insertAsParentOf(NodeObject $parent, NodeObject $node, PropelPDO $con = null);
/**
* Inserts $node as root node
*
* @param object $node Propel object as root node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function insertRoot(NodeObject $node, PropelPDO $con = null);
/**
* Delete root node
*
* @param int $scopeId Scope id to determine which root node to delete
* @param PropelPDO $con Connection to use.
* @return boolean Deletion status
*/
public static function deleteRoot($scopeId = 1, PropelPDO $con = null);
/**
* Delete $dest node
*
* @param object $dest Propel object node to delete
* @param PropelPDO $con Connection to use.
* @return boolean Deletion status
*/
public static function deleteNode(NodeObject $dest, PropelPDO $con = null);
/**
* Moves $child to be first child of $parent
*
* @param object $parent Propel object for parent node
* @param object $child Propel object for child node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function moveToFirstChildOf(NodeObject $parent, NodeObject $child, PropelPDO $con = null);
/**
* Moves $node to be last child of $dest
*
* @param object $dest Propel object for destination node
* @param object $node Propel object for source node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function moveToLastChildOf(NodeObject $dest, NodeObject $node, PropelPDO $con = null);
/**
* Moves $node to be prev sibling to $dest
*
* @param object $dest Propel object for destination node
* @param object $node Propel object for source node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function moveToPrevSiblingOf(NodeObject $dest, NodeObject $node, PropelPDO $con = null);
/**
* Moves $node to be next sibling to $dest
*
* @param object $dest Propel object for destination node
* @param object $node Propel object for source node
* @param PropelPDO $con Connection to use.
* @return void
*/
public static function moveToNextSiblingOf(NodeObject $dest, NodeObject $node, PropelPDO $con = null);
/**
* Gets first child for the given node if it exists
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
* @return mixed Propel object if exists else false
*/
public static function retrieveFirstChild(NodeObject $node, PropelPDO $con = null);
/**
* Gets last child for the given node if it exists
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
* @return mixed Propel object if exists else false
*/
public static function retrieveLastChild(NodeObject $node, PropelPDO $con = null);
/**
* Gets prev sibling for the given node if it exists
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
* @return mixed Propel object if exists else false
*/
public static function retrievePrevSibling(NodeObject $node, PropelPDO $con = null);
/**
* Gets next sibling for the given node if it exists
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
* @return mixed Propel object if exists else false
*/
public static function retrieveNextSibling(NodeObject $node, PropelPDO $con = null);
/**
* Retrieves the entire tree from root
*
* @param int $scopeId Scope id to determine which scope tree to return
* @param PropelPDO $con Connection to use.
*/
public static function retrieveTree($scopeId = 1, PropelPDO $con = null);
/**
* Retrieves the entire tree from parent $node
*
* @param PropelPDO $con Connection to use.
*/
public static function retrieveBranch(NodeObject $node, PropelPDO $con = null);
/**
* Gets direct children for the node
*
* @param object $node Propel object for parent node
* @param PropelPDO $con Connection to use.
*/
public static function retrieveChildren(NodeObject $node, PropelPDO $con = null);
/**
* Gets all descendants for the node
*
* @param object $node Propel object for parent node
* @param PropelPDO $con Connection to use.
*/
public static function retrieveDescendants(NodeObject $node, PropelPDO $con = null);
/**
* Gets all siblings for the node
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
*/
public static function retrieveSiblings(NodeObject $node, PropelPDO $con = null);
/**
* Gets ancestor for the given node if it exists
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
* @return mixed Propel object if exists else false
*/
public static function retrieveParent(NodeObject $node, PropelPDO $con = null);
/**
* Gets level for the given node
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
* @return int Level for the given node
*/
public static function getLevel(NodeObject $node, PropelPDO $con = null);
/**
* Gets number of direct children for given node
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
* @return int Level for the given node
*/
public static function getNumberOfChildren(NodeObject $node, PropelPDO $con = null);
/**
* Gets number of descendants for given node
*
* @param object $node Propel object for src node
* @param PropelPDO $con Connection to use.
* @return int Level for the given node
*/
public static function getNumberOfDescendants(NodeObject $node, PropelPDO $con = null);
/**
* Returns path to a specific node as an array, useful to create breadcrumbs
*
* @param object $node Propel object of node to create path to
* @param PropelPDO $con Connection to use.
* @return array Array in order of heirarchy
*/
public static function getPath(NodeObject $node, PropelPDO $con = null);
/**
* Tests if node is valid
*
* @param object $node Propel object for src node
* @return bool
*/
public static function isValid(NodeObject $node = null);
/**
* Tests if node is a root
*
* @param object $node Propel object for src node
* @return bool
*/
public static function isRoot(NodeObject $node);
/**
* Tests if node is a leaf
*
* @param object $node Propel object for src node
* @return bool
*/
public static function isLeaf(NodeObject $node);
/**
* Tests if $child is a child of $parent
*
* @param object $child Propel object for node
* @param object $parent Propel object for node
* @return bool
*/
public static function isChildOf(NodeObject $child, NodeObject $parent);
/**
* Tests if $node1 is equal to $node2
*
* @param object $node1 Propel object for node
* @param object $node2 Propel object for node
* @return bool
*/
public static function isEqualTo(NodeObject $node1, NodeObject $node2);
/**
* Tests if $node has an ancestor
*
* @param object $node Propel object for node
* @param PropelPDO $con Connection to use.
* @return bool
*/
public static function hasParent(NodeObject $node, PropelPDO $con = null);
/**
* Tests if $node has prev sibling
*
* @param object $node Propel object for node
* @param PropelPDO $con Connection to use.
* @return bool
*/
public static function hasPrevSibling(NodeObject $node, PropelPDO $con = null);
/**
* Tests if $node has next sibling
*
* @param object $node Propel object for node
* @param PropelPDO $con Connection to use.
* @return bool
*/
public static function hasNextSibling(NodeObject $node, PropelPDO $con = null);
/**
* Tests if $node has children
*
* @param object $node Propel object for node
* @return bool
*/
public static function hasChildren(NodeObject $node);
/**
* Deletes $node and all of its descendants
*
* @param object $node Propel object for source node
* @param PropelPDO $con Connection to use.
*/
public static function deleteDescendants(NodeObject $node, PropelPDO $con = null);
/**
* Returns a node given its primary key or the node itself
*
* @param int/object $node Primary key/instance of required node
* @param PropelPDO $con Connection to use.
* @return object Propel object for model
*/
public static function getNode($node, PropelPDO $con = null);
} // NodePeer