Cleanup + expanded CompileableTemplate with a lot public methods from BaseTemplateEngine
[core.git] / inc / classes / interfaces / template / class_CompileableTemplate.php
index d7dab7a2d51874cf381562a44b742530774cde82..d3f2f764cb2563ba31a72513f020b171c667695a 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2013 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.shipsimu.org
  *
@@ -189,6 +189,95 @@ interface CompileableTemplate extends FrameworkInterface {
         * @return      $compactedContent               The compacted content
         */
        function compactContent ($uncompactedContent);
+
+       /**
+        * Getter for given variable group
+        *
+        * @param       $variableGroup  Variable group to check
+        * @return      $varStack               Found variable group
+        */
+       function getVarStack ($variableGroup);
+
+       /**
+        * Settter for variable group
+        *
+        * @param       $groupName      Name of variable group
+        * @param       $add            Whether add this group
+        * @return      void
+        */
+       function setVariableGroup ($groupName, $add = TRUE);
+
+       /**
+        * Getter for template type
+        *
+        * @return      $templateType   The current template's type
+        */
+       function getTemplateType ();
+
+       /**
+        * Getter for base path
+        *
+        * @return      $templateBasePath       The relative base path for all templates
+        */
+       function getTemplateBasePath ();
+
+       /**
+        * Getter for generic base path
+        *
+        * @return      $templateBasePath       The relative base path for all templates
+        */
+       function getGenericBasePath ();
+
+       /**
+        * Getter for template extension
+        *
+        * @return      $templateExtension      The file extension for all uncompiled
+        *                                                      templates
+        */
+       function getRawTemplateExtension ();
+
+       /**
+        * Getter for code-template extension
+        *
+        * @return      $codeExtension          The file extension for all code-
+        *                                                      templates
+        */
+       function getCodeTemplateExtension ();
+
+       /**
+        * Getter for raw template data
+        *
+        * @return      $rawTemplateData        The raw data from the template
+        */
+       function getRawTemplateData ();
+
+       /**
+        * Load a specified web template into the engine
+        *
+        * @param       $template       The web template we shall load which is located in
+        *                                              'html' by default
+        * @return      void
+        */
+       function loadWebTemplate ($template);
+
+       /**
+        * Assigns a lot variables into the stack of currently loaded template.
+        * This method should only be used in very rare circumstances, e.g. when
+        * you have to copy a whole set of variables into the template engine.
+        * Before you use this method, please make sure you have considered all
+        * other possiblities.
+        *
+        * @param       $variables      An array with variables to be assigned
+        * @return      void
+        */
+       function assignMultipleVariables (array $variables);
+
+       /**
+        * Getter for variable group array
+        *
+        * @return      $variableGroups All variable groups
+        */
+       function getVariableGroups ();
 }
 
 // [EOF]