]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/template/objects/class_XmlObjectRegistryTemplateEngine.php
Introduced new factory for object type registries, added a very simple way to get...
[hub.git] / application / hub / main / template / objects / class_XmlObjectRegistryTemplateEngine.php
index 8a2e198ad17862715977e427f1352911375d3194..c9eb4468fec1be98953ad58ab1bce3a34335c6fe 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 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
  * @todo               This template engine does not make use of setTemplateType()
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements CompileableTemplate, Registerable {
+       // Constants
+       const OBJECT_TYPE_DATA_NAME                 = 'object-name';
+       const OBJECT_TYPE_DATA_RECIPIENT_LIMITATION = 'object-recipient-limitation';
+       const OBJECT_TYPE_DATA_MAX_SPREAD           = 'object-max-spread';
+       const OBJECT_TYPE_DATA_PROTOCOL             = 'object-protocol';
+       const OBJECT_TYPE_DATA_RECIPIENT_TYPE       = 'object-recipient-type';
+
        /**
         * Instance for the object registry
         */
-       private $objectRegistryInstance = null;
+       private $objectRegistryInstance = NULL;
 
        /**
         * Main nodes in the XML tree
@@ -41,11 +48,11 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
        private $subNodes = array(
                'object-list',
                'object-list-entry',
-               'object-name',
-               'object-recipient-limitation',
-               'object-max-spread',
-               'object-protocol',
-               'object-recipient-type'
+               self::OBJECT_TYPE_DATA_NAME,
+               self::OBJECT_TYPE_DATA_RECIPIENT_LIMITATION,
+               self::OBJECT_TYPE_DATA_MAX_SPREAD,
+               self::OBJECT_TYPE_DATA_PROTOCOL,
+               self::OBJECT_TYPE_DATA_RECIPIENT_TYPE
        );
 
        /**
@@ -68,7 +75,7 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
                parent::__construct(__CLASS__);
 
                // Init object type registry instance
-               $this->objectRegistryInstance = ObjectFactory::createObjectByConfiguredName('node_object_type_registry_class');
+               $this->objectRegistryInstance = ObjectTypeRegistryFactory::createObjectTypeRegistryInstance();
        }
 
        /**
@@ -263,10 +270,10 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
                // Get current XML node name as an array index
                $nodeName = $this->getStackerInstance()->getNamed('object_registry');
 
-               // Is the node name 'object-name'?
-               if ($nodeName == 'object-name') {
+               // Is the node name self::OBJECT_TYPE_DATA_NAME?
+               if ($nodeName == self::OBJECT_TYPE_DATA_NAME) {
                        // Output debug message
-                       $this->debugOutput('TAGS: Adding object type ' . $characters . ' to registry.');
+                       self::createDebugInstance(__CLASS__)->debugOutput('TAGS: Adding object type ' . $characters . ' to registry.');
                } // END - if
 
                // Add it to the registry
@@ -319,9 +326,11 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
        /**
         * Starts the object-list
         *
+        * @param       $objectCount    Count of all objects
         * @return      void
+        * @todo        Handle $objectCount
         */
-       private function startObjectList () {
+       private function startObjectList ($objectCount) {
                // Push the node name on the stacker
                $this->getStackerInstance()->pushNamed('object_registry', 'object-list');
        }
@@ -343,7 +352,7 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
         */
        private function startObjectName () {
                // Push the node name on the stacker
-               $this->getStackerInstance()->pushNamed('object_registry', 'object-name');
+               $this->getStackerInstance()->pushNamed('object_registry', self::OBJECT_TYPE_DATA_NAME);
        }
 
        /**
@@ -353,7 +362,7 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
         */
        private function startObjectRecipientLimitation () {
                // Push the node name on the stacker
-               $this->getStackerInstance()->pushNamed('object_registry', 'object-recipient-limitation');
+               $this->getStackerInstance()->pushNamed('object_registry', self::OBJECT_TYPE_DATA_RECIPIENT_LIMITATION);
        }
 
        /**
@@ -363,7 +372,7 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
         */
        private function startObjectMaxSpread () {
                // Push the node name on the stacker
-               $this->getStackerInstance()->pushNamed('object_registry', 'object-max-spread');
+               $this->getStackerInstance()->pushNamed('object_registry', self::OBJECT_TYPE_DATA_MAX_SPREAD);
        }
 
        /**
@@ -373,7 +382,7 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
         */
        private function startObjectProtocol () {
                // Push the node name on the stacker
-               $this->getStackerInstance()->pushNamed('object_registry', 'object-protocol');
+               $this->getStackerInstance()->pushNamed('object_registry', self::OBJECT_TYPE_DATA_PROTOCOL);
        }
 
        /**
@@ -383,7 +392,7 @@ class XmlObjectRegistryTemplateEngine extends BaseTemplateEngine implements Comp
         */
        private function startObjectRecipientType () {
                // Push the node name on the stacker
-               $this->getStackerInstance()->pushNamed('object_registry', 'object-recipient-type');
+               $this->getStackerInstance()->pushNamed('object_registry', self::OBJECT_TYPE_DATA_RECIPIENT_TYPE);
        }
 
        /**