]> git.mxchange.org Git - core.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Fri, 22 Aug 2025 01:37:08 +0000 (03:37 +0200)
committerRoland Häder <roland@mxchange.org>
Fri, 22 Aug 2025 01:37:08 +0000 (03:37 +0200)
- introduced method isIteratorInstanceSet()

framework/main/classes/lists/class_BaseList.php
framework/main/traits/iterator/class_IteratorTrait.php

index 608c6ecb050746b9a9bbbc3373a0bce045fa62ef..0052f379f1f443cbfc4dd38641fdd42b97b75315 100644 (file)
@@ -87,16 +87,16 @@ abstract class BaseList extends BaseFrameworkSystem implements IteratorAggregate
         * @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
index 84295a9bb28ab0ba9536531674488302452f8588..5e38645bf0bf12908d28963bcc4aa420130cc335 100644 (file)
@@ -52,4 +52,13 @@ trait IteratorTrait {
                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);
+       }
+
 }