scratch – Blame information for rev

Subversion Repositories:
Rev:
Rev Author Line No. Line
120 office 1 <?php
2  
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11  
12 namespace Symfony\Component\Finder\Iterator;
13  
14 /**
15 * DepthRangeFilterIterator limits the directory depth.
16 *
17 * @author Fabien Potencier <fabien@symfony.com>
18 */
19 class DepthRangeFilterIterator extends FilterIterator
20 {
21 private $minDepth = 0;
22  
23 /**
24 * Constructor.
25 *
26 * @param \RecursiveIteratorIterator $iterator The Iterator to filter
27 * @param int $minDepth The min depth
28 * @param int $maxDepth The max depth
29 */
30 public function __construct(\RecursiveIteratorIterator $iterator, $minDepth = 0, $maxDepth = PHP_INT_MAX)
31 {
32 $this->minDepth = $minDepth;
33 $iterator->setMaxDepth(PHP_INT_MAX === $maxDepth ? -1 : $maxDepth);
34  
35 parent::__construct($iterator);
36 }
37  
38 /**
39 * Filters the iterator values.
40 *
41 * @return bool true if the value should be kept, false otherwise
42 */
43 public function accept()
44 {
45 return $this->getInnerIterator()->getDepth() >= $this->minDepth;
46 }
47 }