More patterns added, part description changed to object description
[shipsimu.git] / inc / classes / main / template / class_TemplateEngine.php
index 2fff655b7c4b7a98362a024775e769953925f320..44f374fc9efc26fa6611c227e0f010eea7b6c36d 100644 (file)
@@ -71,11 +71,6 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
         */
        private $configVariables = array();
 
-       /**
-        * The language instance which should link to an object of LanguageSystem
-        */
-       private $langInstance = null;
-
        /**
         * Loaded templates for recursive protection and detection
         */
@@ -128,7 +123,7 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                parent::constructor(__CLASS__);
 
                // Set part description
-               $this->setPartDescr("Template-Engine");
+               $this->setObjectDescription("Template-Engine");
 
                // Create unique ID number
                $this->createUniqueID();
@@ -141,18 +136,18 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
        /**
         * Creates an instance of the class TemplateEngine and prepares it for usage
         *
-        * @param               $basePath               The local base path for all templates
-        * @param               $langInstance   An instance of LanguageSystem (default)
-        * @param               $ioInstance     An instance of FileIOHandler (default, middleware!)
+        * @param       $basePath               The local base path for all templates
+        * @param       $langInstance   An instance of LanguageSystem (default)
+        * @param       $ioInstance             An instance of FileIOHandler (default, middleware!)
         * @return      $tplInstance    An instance of TemplateEngine
         * @throws      BasePathIsEmptyException                If the provided $basePath is empty
         * @throws      InvalidBasePathStringException  If $basePath is no string
         * @throws      BasePathIsNoDirectoryException  If $basePath is no
-        *                                                                              directory or not found
+        *                                                                                      directory or not found
         * @throws      BasePathReadProtectedException  If $basePath is
-        *                                                                              read-protected
+        *                                                                                      read-protected
         */
-       public final static function createTemplateEngine ($basePath, $langInstance, $ioInstance) {
+       public final static function createTemplateEngine ($basePath, ManageableLanguage  $langInstance, FileIOHandler $ioInstance) {
                // Get a new instance
                $tplInstance = new TemplateEngine();
 
@@ -182,7 +177,7 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
 
                // Set the language and IO instances
                $tplInstance->setLanguageInstance($langInstance);
-               $tplInstance->setIOInstance($ioInstance);
+               $tplInstance->setFileIOInstance($ioInstance);
 
                // Set template extensions
                $tplInstance->setRawTemplateExtension($cfgInstance->readConfig("raw_template_extension"));
@@ -271,35 +266,6 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                $this->varStack = new FrameworkArrayObject();
        }
 
-       /**
-        * Setter for language instance which should be LanguageSystem
-        *
-        * @param               $langInstance           The language instance
-        * @return      void
-        */
-       public final function setLanguageInstance (ManageableLanguage $langInstance) {
-               $this->langInstance = $langInstance;
-       }
-
-       /**
-        * Setter for file I/O instance which should be FileIOHandler
-        *
-        * @param               $ioInstance             The file I/O instance
-        * @return      void
-        */
-       public final function setIOInstance (FileIOHandler $ioInstance) {
-               $this->ioInstance = $ioInstance;
-       }
-
-       /**
-        * Getter for file I/O instance which should be FileIOHandler
-        *
-        * @return      $ioInstance             The file I/O instance
-        */
-       public final function getIOInstance () {
-               return $this->ioInstance;
-       }
-
        /**
         * Setter for base path
         *
@@ -533,7 +499,7 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                // Construct the FQFN for the template by honoring the current language
                $fqfn = sprintf("%s%s/%s/%s%s",
                        $this->getBasePath(),
-                       $this->langInstance->getLanguageCode(),
+                       $this->getLanguageInstance()->getLanguageCode(),
                        $this->getTemplateType(),
                        $template,
                        $ext
@@ -562,7 +528,7 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                ));
 
                // Get a input/output instance from the middleware
-               $ioInstance = $this->getIOInstance();
+               $ioInstance = $this->getFileIOInstance();
 
                // Validate the instance
                if (is_null($ioInstance)) {
@@ -614,11 +580,11 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
        /**
         * Extract variables from a given raw data stream
         *
-        * @param               $rawData                The raw template data we shall analyze
+        * @param       $rawData        The raw template data we shall analyze
         * @return      void
         * @throws      InvalidTemplateVariableNameException    If a variable name
-        *                                                                                      in a template is
-        *                                                                                      invalid
+        *                                                                                                      in a template is
+        *                                                                                                      invalid
         */
        private function extractVariablesFromRawData ($rawData) {
                // Cast to string
@@ -810,6 +776,7 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                                $this->assignVariable($var, $varMatches[3][$key]);
                        } else {
                                // Non-string found so we need some deeper analysis...
+                               // @TODO Unfinished work or don't die here.
                                die("Deeper analysis not yet implemented!");
                        }