Updated 'core' + renamed 'main' -> 'classes'.
[hub.git] / application / hub / classes / template / answer / class_BaseXmlAnswerTemplateEngine.php
1 <?php
2 /**
3  * An generic answer template engine class for XML templates
4  *
5  * @author              Roland Haeder <webmaster@shipsimu.org>
6  * @version             0.0.0
7  * @copyright   Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Hub Developer Team
8  * @license             GNU GPL 3.0 or any newer version
9  * @link                http://www.shipsimu.org
10  * @todo                This template engine does not make use of setTemplateType()
11  *
12  * This program is free software: you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation, either version 3 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program. If not, see <http://www.gnu.org/licenses/>.
24  */
25 class BaseXmlAnswerTemplateEngine extends BaseXmlTemplateEngine implements CompileableTemplate, Registerable {
26         /**
27          * Generic 'answer-status' field
28          */
29         const ANSWER_STATUS = 'answer-status';
30
31         /**
32          * Protected constructor
33          *
34          * @param       $className      Name of the class
35          * @return      void
36          */
37         protected function __construct ($className) {
38                 // Call parent constructor
39                 parent::__construct($className);
40         }
41
42         /**
43          * Starts the answer-status
44          *
45          * @return      void
46          */
47         protected function startAnswerStatus () {
48                 // Push the node name on the stacker
49                 $this->getStackInstance()->pushNamed($this->getStackerName(), self::ANSWER_STATUS);
50         }
51
52         /**
53          * Finishes the answer-status
54          *
55          * @return      void
56          */
57         protected function finishAnswerStatus () {
58                 // Pop the last entry
59                 $this->getStackInstance()->popNamed($this->getStackerName());
60         }
61 }
62
63 // [EOF]
64 ?>