* @return $iteratorInstance An instance of a Iterator class
*/
public function getIterator (): Traversable {
- // Get iterator from here
- $iteratorInstance = $this->getIteratorInstance();
-
// Is the instance set?
- if (is_null($iteratorInstance)) {
+ if (!$this->isIteratorInstanceSet()) {
// Prepare a default iterator
$iteratorInstance = ObjectFactory::createObjectByConfiguredName('default_iterator_class', [$this]);
// Set it here
$this->setIteratorInstance($iteratorInstance);
+ } else {
+ // Get iterator instance
+ $iteratorInstance = $this->getIteratorInstance();
}
// And return it
return $this->iteratorInstance;
}
+ /**
+ * Checks whether an iterator instance can be found
+ *
+ * @return $isset Whether an iterator instance can be found
+ */
+ public final function isIteratorInstanceSet (): bool {
+ return ($this->iteratorInstance instanceof Iterator);
+ }
+
}