TYPO3 API  SVNRelease
ConfigurationManagerInterface.php
Go to the documentation of this file.
00001 <?php
00002 /***************************************************************
00003  *  Copyright notice
00004  *
00005  *  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
00006  *  All rights reserved
00007  *
00008  *  This script is part of the TYPO3 project. The TYPO3 project is
00009  *  free software; you can redistribute it and/or modify
00010  *  it under the terms of the GNU General Public License as published by
00011  *  the Free Software Foundation; either version 2 of the License, or
00012  *  (at your option) any later version.
00013  *
00014  *  The GNU General Public License can be found at
00015  *  http://www.gnu.org/copyleft/gpl.html.
00016  *
00017  *  This script is distributed in the hope that it will be useful,
00018  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  *  GNU General Public License for more details.
00021  *
00022  *  This copyright notice MUST APPEAR in all copies of the script!
00023  ***************************************************************/
00024 
00025 /**
00026  *
00027  *
00028  * @package Extbase
00029  * @subpackage Configuration
00030  * @version $ID:$
00031  */
00032 interface Tx_Extbase_Configuration_ConfigurationManagerInterface extends t3lib_Singleton {
00033 
00034     const CONFIGURATION_TYPE_FRAMEWORK = 'Framework';
00035     const CONFIGURATION_TYPE_SETTINGS = 'Settings';
00036     const CONFIGURATION_TYPE_FULL_TYPOSCRIPT = 'FullTypoScript';
00037 
00038     /**
00039      * @param tslib_cObj $contentObject
00040      * @return void
00041      */
00042     public function setContentObject(tslib_cObj $contentObject = NULL);
00043 
00044     /**
00045      * Get the content object
00046      *
00047      * @return tslib_cObj
00048      * @api (v4 only)
00049      */
00050     public function getContentObject();
00051 
00052     /**
00053      * Returns the specified configuration.
00054      * The actual configuration will be merged from different sources in a defined order.
00055      *
00056      * Note that this is a low level method and only makes sense to be used by Extbase internally.
00057      *
00058      * @param string $configurationType The kind of configuration to fetch - must be one of the CONFIGURATION_TYPE_* constants
00059      * @return array The configuration
00060      */
00061     public function getConfiguration($configurationType);
00062 
00063     /**
00064      * Sets the specified raw configuration coming from the outside.
00065      * Note that this is a low level method and only makes sense to be used by Extbase internally.
00066      *
00067      * @param array $configuration The new configuration
00068      * @return void
00069      */
00070     public function setConfiguration(array $configuration = array());
00071 
00072 }
00073 ?>