[CLEANUP] Adjust code to coding guidelines
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / Object / Container / ClassInfo.php
index c43fca6..168507e 100644 (file)
@@ -1,53 +1,56 @@
 <?php
+namespace TYPO3\CMS\Extbase\Object\Container;
+
 /***************************************************************
-*  Copyright notice
-*
-*  (c) 2010 Extbase Team
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
+ *  Copyright notice
+ *
+ *  (c) 2010 Extbase Team
+ *  All rights reserved
+ *
+ *  This class is a backport of the corresponding class of TYPO3 Flow.
+ *  All credits go to the TYPO3 Flow team.
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
 /**
  * Value object containing the relevant informations for a class,
  * this object is build by the classInfoFactory - or could also be restored from a cache
  *
  * @author Daniel Pötzinger
  */
-class Tx_Extbase_Object_Container_ClassInfo {
+class ClassInfo {
 
        /**
         * The classname of the class where the infos belong to
+        *
         * @var string
         */
        private $className;
 
        /**
         * The constructor Dependencies for the class in the format:
-        *       array(
-        *     0 => array( <-- parameters for argument 1
-        *       'name' => <arg name>, <-- name of argument
-        *       'dependency' => <classname>, <-- if the argument is a class, the type of the argument
-        *       'defaultvalue' => <mixed>) <-- if the argument is optional, its default value
-        *     ),
-        *     1 => ...
-        *   )
+        * array(
+        * 0 => array( <-- parameters for argument 1
+        * 'name' => <arg name>, <-- name of argument
+        * 'dependency' => <classname>, <-- if the argument is a class, the type of the argument
+        * 'defaultvalue' => <mixed>) <-- if the argument is optional, its default value
+        * ),
+        * 1 => ...
+        * )
         *
         * @var array
         */
@@ -55,13 +58,21 @@ class Tx_Extbase_Object_Container_ClassInfo {
 
        /**
         * All setter injections in the format
-        *      array (<nameOfMethod> => <classNameToInject> )
+        * array (<nameOfMethod> => <classNameToInject> )
         *
         * @var array
         */
        private $injectMethods;
 
        /**
+        * All setter injections in the format
+        * array (<nameOfProperty> => <classNameToInject> )
+        *
+        * @var array
+        */
+       private $injectProperties;
+
+       /**
         * Indicates if the class is a singleton or not.
         *
         * @var boolean
@@ -76,17 +87,18 @@ class Tx_Extbase_Object_Container_ClassInfo {
        private $isInitializeable = FALSE;
 
        /**
-        *
         * @param string $className
         * @param array $constructorArguments
         * @param array $injectMethods
         * @param boolean $isSingleton
         * @param boolean $isInitializeable
+        * @param array $injectProperties
         */
-       public function __construct($className, array $constructorArguments, array $injectMethods, $isSingleton = FALSE, $isInitializeable = FALSE) {
+       public function __construct($className, array $constructorArguments, array $injectMethods, $isSingleton = FALSE, $isInitializeable = FALSE, array $injectProperties = array()) {
                $this->className = $className;
                $this->constructorArguments = $constructorArguments;
                $this->injectMethods = $injectMethods;
+               $this->injectProperties = $injectProperties;
                $this->isSingleton = $isSingleton;
                $this->isInitializeable = $isInitializeable;
        }
@@ -119,6 +131,15 @@ class Tx_Extbase_Object_Container_ClassInfo {
        }
 
        /**
+        * Returns an array with the inject properties
+        *
+        * @return array
+        */
+       public function getInjectProperties() {
+               return $this->injectProperties;
+       }
+
+       /**
         * Asserts if the class is a singleton or not.
         *
         * @return boolean
@@ -142,6 +163,15 @@ class Tx_Extbase_Object_Container_ClassInfo {
         * @return boolean
         */
        public function hasInjectMethods() {
-               return (count($this->injectMethods) > 0);
+               return count($this->injectMethods) > 0;
        }
-}
\ No newline at end of file
+
+       /**
+        * @return boolean
+        */
+       public function hasInjectProperties() {
+               return count($this->injectProperties) > 0;
+       }
+}
+
+?>
\ No newline at end of file