|
TYPO3 API
SVNRelease
|
00001 <?php 00002 /*************************************************************** 00003 * Copyright notice 00004 * 00005 * (c) 2010 Extbase Team 00006 * All rights reserved 00007 * 00008 * This class is a backport of the corresponding class of FLOW3. 00009 * All credits go to the v5 team. 00010 * 00011 * This script is part of the TYPO3 project. The TYPO3 project is 00012 * free software; you can redistribute it and/or modify 00013 * it under the terms of the GNU General Public License as published by 00014 * the Free Software Foundation; either version 2 of the License, or 00015 * (at your option) any later version. 00016 * 00017 * The GNU General Public License can be found at 00018 * http://www.gnu.org/copyleft/gpl.html. 00019 * 00020 * This script is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU General Public License for more details. 00024 * 00025 * This copyright notice MUST APPEAR in all copies of the script! 00026 ***************************************************************/ 00027 /** 00028 * Value object containing the relevant informations for a class, 00029 * this object is build by the classInfoFactory - or could also be restored from a cache 00030 * 00031 * @author Daniel Pötzinger 00032 */ 00033 class Tx_Extbase_Object_Container_ClassInfo { 00034 00035 /** 00036 * The classname of the class where the infos belong to 00037 * @var string 00038 */ 00039 private $className; 00040 00041 /** 00042 * The constructor Dependencies for the class in the format: 00043 * array( 00044 * 0 => array( <-- parameters for argument 1 00045 * 'name' => <arg name>, <-- name of argument 00046 * 'dependency' => <classname>, <-- if the argument is a class, the type of the argument 00047 * 'defaultvalue' => <mixed>) <-- if the argument is optional, its default value 00048 * ), 00049 * 1 => ... 00050 * ) 00051 * 00052 * @var array 00053 */ 00054 private $constructorArguments; 00055 00056 /** 00057 * All setter injections in the format 00058 * array (<nameOfMethod> => <classNameToInject> ) 00059 * 00060 * @var array 00061 */ 00062 private $injectMethods; 00063 00064 /** 00065 * 00066 * @param string $className 00067 * @param array $constructorArguments 00068 * @param array $injectMethods 00069 */ 00070 public function __construct($className, array $constructorArguments, array $injectMethods) { 00071 $this->className = $className; 00072 $this->constructorArguments = $constructorArguments; 00073 $this->injectMethods = $injectMethods; 00074 } 00075 00076 /** 00077 * @return the $className 00078 */ 00079 public function getClassName() { 00080 return $this->className; 00081 } 00082 00083 /** 00084 * @return the $constructorArguments 00085 */ 00086 public function getConstructorArguments() { 00087 return $this->constructorArguments; 00088 } 00089 00090 /** 00091 * @return the $injectMethods 00092 */ 00093 public function getInjectMethods() { 00094 return $this->injectMethods; 00095 } 00096 00097 /** 00098 * @return the $injectMethods 00099 */ 00100 public function hasInjectMethods() { 00101 return (count($this->injectMethods) > 0); 00102 } 00103 }
1.8.0