SproutCMS

This is the code documentation for the SproutCMS project

source of /sprout/Helpers/TreenodeMatcher.php

  1. <?php
  2. /*
  3.  * Copyright (C) 2017 Karmabunny Pty Ltd.
  4.  *
  5.  * This file is a part of SproutCMS.
  6.  *
  7.  * SproutCMS is free software: you can redistribute it and/or modify it under the terms
  8.  * of the GNU General Public License as published by the Free Software Foundation, either
  9.  * version 2 of the License, or (at your option) any later version.
  10.  *
  11.  * For more information, visit <http://getsproutcms.com>.
  12.  */
  13.  
  14. namespace Sprout\Helpers;
  15.  
  16. /**
  17. * @package Tree
  18. **/
  19.  
  20. /**
  21. * Interface for matching nodes in the treenode
  22. **/
  23. interface TreenodeMatcher {
  24.  
  25. /**
  26.   * Returns true if this node matches the matcher, false if the node does not match.
  27.   *
  28.   * @param TreeNode $node The treenode to do matching against
  29.   * @return True if the node matches, false otherwise
  30.   **/
  31. public function match ($node);
  32.  
  33. /**
  34.   * Returns true if the children of the specified node should be searched, false otherwise.
  35.   *
  36.   * @param TreeNode $node The treenode which is about to be descended into
  37.   * @return True descending should proceed, false otherwise
  38.   **/
  39. public function descend ($node);
  40.  
  41. /**
  42.   * Called after children have been processed. No return value.
  43.   *
  44.   * @param TreeNode $node The treenode which has just ascended.
  45.   **/
  46. public function ascend ($node);
  47. }
  48.  
  49.  
  50.