Renamed initStack() -> initFileStack() in BaseFileStack + added initStack()
[core.git] / inc / classes / main / stacker / file_stack / class_BaseFileStack.php
index 0e91c7884a39ce6814e680df786552e601da9ae2..911b92e5db5c45a145d8898985b88555fc333677 100644 (file)
@@ -34,12 +34,12 @@ class BaseFileStack extends BaseStacker {
        }
 
        /**
-        * Initializes this stack.
+        * Initializes this file-based stack.
         *
         * @param       $fileName       File name of this stack
         * @return      void
         */
-       protected function initStack ($fileName) {
+       protected function initFileStack ($fileName) {
                // Get a file i/o pointer instance
                $pointerInstance = ObjectFactory::createObjectByConfiguredName('file_raw_input_output_class', array($fileName));
 
@@ -53,6 +53,25 @@ class BaseFileStack extends BaseStacker {
                $this->setIteratorInstance($iteratorInstance);
        }
 
+       /**
+        * Initializes given stacker
+        *
+        * @param       $stackerName    Name of the stack
+        * @param       $forceReInit    Force re-initialization
+        * @return      void
+        * @throws      AlreadyInitializedStackerException      If the stack is already initialized
+        */
+       public function initStack ($stackerName, $forceReInit = FALSE) {
+               // Is the stack already initialized?
+               if (($forceReInit === FALSE) && ($this->isStackInitialized($stackerName))) {
+                       // Then throw the exception
+                       throw new AlreadyInitializedStackerException(array($this, $stackerName, $forceReInit), self::EXCEPTION_STACKER_ALREADY_INITIALIZED);
+               } // END - if
+
+               // Initialize the given stack
+               $this->partialStub('stackerName=' . $stackerName . ',forceReInit=' . intval($forceReInit));
+       }
+
        /**
         * Checks whether the given stack is initialized (set in array $stackers)
         *