Renamed endElement() to finishElement(), see the final implementation in BaseXmlTempl...
[core.git] / inc / classes / main / decorator / template / class_XmlRewriterTemplateDecorator.php
index 90126f8fd02a264ad204806ff4de84cf6e1301eb..fe3a437cb278c9262d58b31843826331bbb6cc83 100644 (file)
@@ -5,7 +5,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.ship-simu.org
  *
@@ -39,7 +39,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @param       $innerTemplateInstance  A CompileableTemplate instance
         * @return      $templateInstance       An instance of TemplateEngine
         */
-       public final static function createXmlRewriterTemplateDecorator (CompileableTemplate $innerTemplateInstance) {
+       public static final function createXmlRewriterTemplateDecorator (CompileableTemplate $innerTemplateInstance) {
                // Get a new instance
                $templateInstance = new XmlRewriterTemplateDecorator();
 
@@ -54,10 +54,10 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * Settter for variable group
         *
         * @param       $groupName      Name of variable group
-        * @param       $add            Wether add this group
+        * @param       $add            Whether add this group
         * @return      void
         */
-       public function setVariableGroup ($groupName, $add = true) {
+       public function setVariableGroup ($groupName, $add = TRUE) {
                // Call the inner class' method
                $this->getTemplateInstance()->setVariableGroup($groupName, $add);
        }
@@ -184,12 +184,13 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
        /**
         * Removes a given variable
         *
-        * @param       $var    The variable we are looking for
+        * @param       $variableName   The variable we are looking for
+        * @param       $variableGroup  Name of variable group (default: 'general')
         * @return      void
         */
-       public final function removeVariable ($var) {
+       public final function removeVariable ($variableName, $variableGroup = 'general') {
                // Call the inner class' method
-               $this->getTemplateInstance()->removeVariable($var);
+               $this->getTemplateInstance()->removeVariable($variableName, $variableGroup);
        }
 
        /**
@@ -217,12 +218,12 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
        /**
         * Assign a given congfiguration variable with a value
         *
-        * @param       $var    The configuration variable we want to assign
+        * @param       $variableName   The configuration variable we want to assign
         * @return      void
         */
-       public function assignConfigVariable ($var) {
+       public function assignConfigVariable ($variableName) {
                // Call the inner class' method
-               $this->getTemplateInstance()->assignConfigVariable($var);
+               $this->getTemplateInstance()->assignConfigVariable($variableName);
        }
 
        /**
@@ -295,12 +296,12 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
        /**
         * Assigns all the application data with template variables
         *
-        * @param       $appInstance    A manageable application instance
+        * @param       $applicationInstance    A manageable application instance
         * @return      void
         */
-       public function assignApplicationData (ManageableApplication $appInstance) {
+       public function assignApplicationData (ManageableApplication $applicationInstance) {
                // Call the inner class' method
-               $this->getTemplateInstance()->assignApplicationData($appInstance);
+               $this->getTemplateInstance()->assignApplicationData($applicationInstance);
        }
 
        /**
@@ -343,7 +344,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @return      void
         * @throws      XmlParserException      If an XML error was found
         */
-       public function renderXmlContent ($content = null) {
+       public function renderXmlContent ($content = NULL) {
                // Call the inner class' method
                $this->getTemplateInstance()->renderXmlContent($content);
        }
@@ -354,15 +355,15 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @param       $languageSupport        New language support setting
         * @return      void
         */
-       public final function enableLanguageSupport ($languageSupport = true) {
+       public final function enableLanguageSupport ($languageSupport = TRUE) {
                // Call the inner class' method
                $this->getTemplateInstance()->enableLanguageSupport($languageSupport);
        }
 
        /**
-        * Checks wether language support is enabled
+        * Checks whether language support is enabled
         *
-        * @return      $languageSupport        Wether language support is enabled or disabled
+        * @return      $languageSupport        Whether language support is enabled or disabled
         */
        public final function isLanguageSupportEnabled () {
                // Call the inner class' method
@@ -375,20 +376,74 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @param       $xmlCompacting  New XML compacting setting
         * @return      void
         */
-       public final function enableXmlCompacting ($xmlCompacting = true) {
+       public final function enableXmlCompacting ($xmlCompacting = TRUE) {
                // Call the inner class' method
                $this->getTemplateInstance()->enableXmlCompacting($xmlCompacting);
        }
 
        /**
-        * Checks wether XML compacting is enabled
+        * Checks whether XML compacting is enabled
         *
-        * @return      $xmlCompacting  Wether XML compacting is enabled or disabled
+        * @return      $xmlCompacting  Whether XML compacting is enabled or disabled
         */
        public final function isXmlCompactingEnabled () {
                // Call the inner class' method
                return $this->getTemplateInstance()->isXmlCompactingEnabled();
        }
+
+       /**
+        * Handles the start element of an XML resource
+        *
+        * @param       $resource               XML parser resource (currently ignored)
+        * @param       $element                The element we shall handle
+        * @param       $attributes             All attributes
+        * @return      void
+        * @throws      InvalidXmlNodeException         If an unknown/invalid XML node name was found
+        */
+       public function startElement ($resource, $element, array $attributes) {
+               // Call the inner class' method
+               $this->getTemplateInstance()->startElement($resource, $element, $attributes);
+       }
+
+       /**
+        * Ends the main or sub node by sending out the gathered data
+        *
+        * @param       $resource       An XML resource pointer (currently ignored)
+        * @param       $nodeName       Name of the node we want to finish
+        * @return      void
+        * @throws      XmlNodeMismatchException        If current main node mismatches the closing one
+        */
+       public function finishElement ($resource, $nodeName) {
+               // Call the inner class' method
+               $this->getTemplateInstance()->finishElement($resource, $nodeName);
+       }
+
+       /**
+        * Currently not used
+        *
+        * @param       $resource               XML parser resource (currently ignored)
+        * @param       $characters             Characters to handle
+        * @return      void
+        * @todo        Find something useful with this!
+        */
+       public function characterHandler ($resource, $characters) {
+               // Call the inner class' method but trim the characters before
+               $this->getTemplateInstance()->characterHandler($resource, trim($characters));
+       }
+
+       /**
+        * Removes all comments, tabs and new-line charcters to compact the content
+        *
+        * @param       $uncompactedContent             The uncompacted content
+        * @return      $compactedContent               The compacted content
+        */
+       public function compactContent ($uncompactedContent) {
+               // Compact it ...
+               $compactedContent = $this->getTemplateInstance()->compactContent($uncompactedContent);
+
+               // ... and return it
+               return $compactedContent;
+       }
 }
 
 // [EOF]