Add IObjectTreeNode::getParentNode()
authorMatthias Schmidt <gravatronics@live.com>
Fri, 21 Jun 2019 11:18:33 +0000 (13:18 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Fri, 21 Jun 2019 11:18:33 +0000 (13:18 +0200)
See #2938

wcfsetup/install/files/lib/data/IObjectTreeNode.class.php
wcfsetup/install/files/lib/data/TObjectTreeNode.class.php

index 4d6b15af988d3a819f5fd5a595c4e77f90204a07..b8e6e3dfaaa3d545f7230507dde0f0a21abb4002 100644 (file)
@@ -35,6 +35,13 @@ interface IObjectTreeNode extends \Countable, IIDObject, \RecursiveIterator {
         */
        public function getOpenParentNodes();
        
+       /**
+        * Retruns the parent node of this node.
+        * 
+        * @return      static          parent node
+        */
+       public function getParentNode();
+       
        /**
         * Returns `true` if this node is the last sibling and `false` otherwise.
         * 
index 3a05e1ece25775c20dca178e1bda147fc4e6cf68..6756babc443951db69af05f0d5e32548a0d9b170 100644 (file)
@@ -14,7 +14,7 @@ use wcf\util\ClassUtil;
 trait TObjectTreeNode {
        /**
         * child nodes
-        * @var TObjectTreeNode[]
+        * @var static[]
         */
        protected $children = [];
        
@@ -26,7 +26,7 @@ trait TObjectTreeNode {
        
        /**
         * parent node object
-        * @var TObjectTreeNode
+        * @var static
         */
        protected $parentNode = null;
        
@@ -58,7 +58,7 @@ trait TObjectTreeNode {
        /**
         * Return the currently iterated child node.
         * 
-        * @return      IObjectTreeNode
+        * @return      static
         */
        public function current() {
                return $this->children[$this->index];
@@ -67,7 +67,7 @@ trait TObjectTreeNode {
        /**
         * Returns an iterator for the currently iterated child node by returning the node itself.
         * 
-        * @return      IObjectTreeNode
+        * @return      static
         */
        public function getChildren() {
                return $this->children[$this->index];
@@ -109,6 +109,15 @@ trait TObjectTreeNode {
                return $i;
        }
 
+       /**
+        * Retruns the parent node of this node.
+        * 
+        * @return      static          parent node
+        */
+       public function getParentNode() {
+               return $this->parentNode;
+       }
+       
        /**
         * Returns `true` if the node as any children and return `false` otherwise.
         *