popNamed() does also now return the current stacker's value.
authorRoland Häder <roland@mxchange.org>
Thu, 28 Apr 2011 14:34:37 +0000 (14:34 +0000)
committerRoland Häder <roland@mxchange.org>
Thu, 28 Apr 2011 14:34:37 +0000 (14:34 +0000)
inc/classes/interfaces/stacker/class_Stackable.php
inc/classes/main/stacker/fifo/class_FiFoStacker.php
inc/classes/main/stacker/filo/class_FiLoStacker.php

index f8ef7fe..34b6cf1 100644 (file)
@@ -33,17 +33,17 @@ interface Stackable extends FrameworkInterface {
        function pushNamed ($stackerName, $value);
 
        /**
-        * 'Pops' a value from a named stacker
+        * 'Pops' a value from a named stacker and returns it's value
         *
         * @param       $stackerName    Name of the stacker
-        * @return      void
+        * @return      $value                  Value of the current stack entry
         * @throws      NoStackerException      If the named stacker was not found
         * @throws      EmptyStackerException   If the named stacker is empty
         */
        function popNamed ($stackerName);
 
        /**
-        * Get value from named stacker
+        * Get value from named stacker but don't "pop" it
         *
         * @param       $stackerName    Name of the stacker
         * @return      $value                  Value of last added value
index 5b036a4..7b33cd9 100644 (file)
@@ -62,16 +62,22 @@ class FiFoStacker extends BaseStacker implements Stackable {
        }
 
        /**
-        * 'Pops' a value from a named stacker
+        * 'Pops' a value from a named stacker and returns it's value
         *
         * @param       $stackerName    Name of the stack
-        * @return      void
+        * @return      $value                  Value of the current stack entry
         * @throws      NoStackerException      If the named stacker was not found
         * @throws      EmptyStackerException   If the named stacker is empty
         */
        public function popNamed ($stackerName) {
+               // Get the value
+               $value = $this->getNamed($stackerName();
+
                // Call the protected method
                parent::popFirst($stackerName);
+
+               // Return the value
+               return $value;
        }
 
        /**
index 1d2d94a..8160494 100644 (file)
@@ -62,16 +62,22 @@ class FiLoStacker extends BaseStacker implements Stackable {
        }
 
        /**
-        * 'Pops' a value from a named stacker
+        * 'Pops' a value from a named stacker and returns it's value
         *
         * @param       $stackerName    Name of the stack
-        * @return      void
+        * @return      $value                  Value of the current stack entry
         * @throws      NoStackerException      If the named stacker was not found
         * @throws      EmptyStackerException   If the named stacker is empty
         */
        public function popNamed ($stackerName) {
+               // Get the value
+               $value = $this->getNamed($stackerName();
+
                // Call the protected method
                parent::popLast($stackerName);
+
+               // Return the value
+               return $value;
        }
 
        /**