TYPO3 API  SVNRelease
ParameterReflection.php
Go to the documentation of this file.
00001 <?php
00002 /***************************************************************
00003 *  Copyright notice
00004 *
00005 *  (c) 2009 Christopher Hlubek <hlubek@networkteam.com>
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  * Extended version of the ReflectionParameter
00027  *
00028  * @package Extbase
00029  * @subpackage Reflection
00030  * @version $Id: ParameterReflection.php 1052 2009-08-05 21:51:32Z sebastian $
00031  */
00032 class Tx_Extbase_Reflection_ParameterReflection extends ReflectionParameter {
00033 
00034     /**
00035      * The constructor, initializes the reflection parameter
00036      *
00037      * @param  string $functionName: Name of the function
00038      * @param  string $propertyName: Name of the property to reflect
00039      * @return void
00040      */
00041     public function __construct($function, $parameterName) {
00042         parent::__construct($function, $parameterName);
00043     }
00044 
00045     /**
00046      * Returns the declaring class
00047      *
00048      * @return Tx_Extbase_Reflection_ClassReflection The declaring class
00049      */
00050     public function getDeclaringClass() {
00051         return new Tx_Extbase_Reflection_ClassReflection(parent::getDeclaringClass()->getName());
00052     }
00053 
00054     /**
00055      * Returns the parameter class
00056      *
00057      * @return Tx_Extbase_Reflection_ClassReflection The parameter class
00058      */
00059     public function getClass() {
00060         try {
00061             $class = parent::getClass();
00062         } catch (Exception $e) {
00063             return NULL;
00064         }
00065 
00066         return is_object($class) ? new Tx_Extbase_Reflection_ClassReflection($class->getName()) : NULL;
00067     }
00068 
00069 }
00070 
00071 ?>