SPL-StandardPHPLibrary
Public Member Functions | Protected Member Functions | List of all members
ParentIterator Class Reference
Inheritance diagram for ParentIterator:
Inheritance graph
Collaboration diagram for ParentIterator:
Collaboration graph

Public Member Functions

 __call ($func, $params)
 
 accept ()
 
 current ()
 
 getChildren ()
 
 getInnerIterator ()
 
 hasChildren ()
 
 key ()
 
 next ()
 
 rewind ()
 
 valid ()
 

Protected Member Functions

 __clone ()
 
 fetch ()
 

Detailed Description

Iterator to filter parents.

Author
Marcus Boerger
Version
1.2
Since
PHP 5.1

This extended FilterIterator allows a recursive iteration using RecursiveIteratorIterator that only shows those elements which have children.

Definition at line 22 of file parentiterator.inc.

Member Function Documentation

FilterIterator::__call (   $func,
  $params 
)
inherited

Aggregate the inner iterator.

Parameters
funcName of method to invoke
paramsArray of parameters to pass to method

Definition at line 121 of file filteriterator.inc.

122  {
123  return call_user_func_array(array($this->it, $func), $params);
124  }
FilterIterator::__clone ( )
protectedinherited

hidden __clone

Definition at line 104 of file filteriterator.inc.

104  {
105  // disallow clone
106  }
ParentIterator::accept ( )
Returns
whetehr the current element has children

Definition at line 26 of file parentiterator.inc.

27  {
28  return $this->it->hasChildren();
29  }
FilterIterator::current ( )
inherited
Returns
The current value

Implements Iterator.

Definition at line 97 of file filteriterator.inc.

Referenced by RegexFindFile\accept(), and FindFile\accept().

97  {
98  return $this->it->current();
99  }
FilterIterator::fetch ( )
protectedinherited

Fetch next element and store it.

Returns
void

Definition at line 61 of file filteriterator.inc.

References FilterIterator\accept().

Referenced by FilterIterator\next(), and FilterIterator\rewind().

61  {
62  while ($this->it->valid()) {
63  if ($this->accept()) {
64  return;
65  }
66  $this->it->next();
67  };
68  }
accept()
Accept function to decide whether an element of the inner iterator should be accessible through the F...

Here is the call graph for this function:

RecursiveFilterIterator::getChildren ( )
inherited
Returns
an iterator for the current elements children
Note
the returned iterator will be of the same class as $this

Implements RecursiveIterator.

Definition at line 50 of file recursivefilteriterator.inc.

References FilterIterator\getInnerIterator().

51  {
52  if (empty($this->ref))
53  {
54  $this->ref = new ReflectionClass($this);
55  }
56  return $this->ref->newInstance($this->getInnerIterator()->getChildren());
57  }

Here is the call graph for this function:

FilterIterator::getInnerIterator ( )
inherited
RecursiveFilterIterator::hasChildren ( )
inherited
Returns
whether the current element has children

Implements RecursiveIterator.

Definition at line 41 of file recursivefilteriterator.inc.

References FilterIterator\getInnerIterator().

42  {
43  return $this->getInnerIterator()->hasChildren();
44  }

Here is the call graph for this function:

FilterIterator::key ( )
inherited
Returns
The current key

Implements Iterator.

Definition at line 90 of file filteriterator.inc.

Referenced by KeyFilter\accept().

90  {
91  return $this->it->key();
92  }
FilterIterator::next ( )
inherited

Move to next element.

Returns
void

Implements Iterator.

Definition at line 75 of file filteriterator.inc.

References FilterIterator\fetch().

75  {
76  $this->it->next();
77  $this->fetch();
78  }
fetch()
Fetch next element and store it.

Here is the call graph for this function:

FilterIterator::rewind ( )
inherited

Rewind the inner iterator.

Implements Iterator.

Definition at line 42 of file filteriterator.inc.

References FilterIterator\fetch().

42  {
43  $this->it->rewind();
44  $this->fetch();
45  }
fetch()
Fetch next element and store it.

Here is the call graph for this function:

FilterIterator::valid ( )
inherited
Returns
Whether more elements are available

Implements Iterator.

Definition at line 83 of file filteriterator.inc.

83  {
84  return $this->it->valid();
85  }

The documentation for this class was generated from the following file: