diff options
author | Morris Jobke <hey@morrisjobke.de> | 2014-12-15 14:20:26 +0100 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2014-12-15 14:20:26 +0100 |
commit | d367d1b06a1b9dece52c57d973b4c2ab6aa63772 (patch) | |
tree | 1a0e0631de6f885a082f29e16df13e644c4ee026 /lib | |
parent | eb97bb5617199f0ea0e80181767d6713cef32395 (diff) | |
parent | 469fd3b3a3a256d7651eac364d96fbbae16c389b (diff) | |
download | nextcloud-server-d367d1b06a1b9dece52c57d973b4c2ab6aa63772.tar.gz nextcloud-server-d367d1b06a1b9dece52c57d973b4c2ab6aa63772.zip |
Merge pull request #12839 from oparoz/ControllerMethodReflector
\OCP\AppFramework\Utility\IControllerMethodReflector
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/appframework/utility/controllermethodreflector.php | 4 | ||||
-rw-r--r-- | lib/public/appframework/utility/icontrollermethodreflector.php | 63 |
2 files changed, 66 insertions, 1 deletions
diff --git a/lib/private/appframework/utility/controllermethodreflector.php b/lib/private/appframework/utility/controllermethodreflector.php index 8ad35ed35c2..00d6e1f1573 100644 --- a/lib/private/appframework/utility/controllermethodreflector.php +++ b/lib/private/appframework/utility/controllermethodreflector.php @@ -24,11 +24,13 @@ namespace OC\AppFramework\Utility; +use \OCP\AppFramework\Utility\IControllerMethodReflector; + /** * Reads and parses annotations from doc comments */ -class ControllerMethodReflector { +class ControllerMethodReflector implements IControllerMethodReflector{ private $annotations; private $types; diff --git a/lib/public/appframework/utility/icontrollermethodreflector.php b/lib/public/appframework/utility/icontrollermethodreflector.php new file mode 100644 index 00000000000..190fc15a4fe --- /dev/null +++ b/lib/public/appframework/utility/icontrollermethodreflector.php @@ -0,0 +1,63 @@ +<?php +/** + * ownCloud - App Framework + * + * @author Olivier Paroz <owncloud@oparoz.com> + * @copyright Olivier Paroz 2014 + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library 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 AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCP\AppFramework\Utility; + +/** + * Interface ControllerMethodReflector + * + * Reads and parses annotations from doc comments + * + * @package OCP\AppFramework\Utility + */ +interface IControllerMethodReflector { + + /** + * @param object $object an object or classname + * @param string $method the method which we want to inspect + */ + public function reflect($object, $method); + + /** + * Inspects the PHPDoc parameters for types + * + * @param string $parameter the parameter whose type comments should be + * parsed + * @return string|null type in the type parameters (@param int $something) + * would return int or null if not existing + */ + public function getType($parameter); + + /** + * @return array the arguments of the method with key => default value + */ + public function getParameters(); + + /** + * Check if a method contains an annotation + * + * @param string $name the name of the annotation + * @return bool true if the annotation is found + */ + public function hasAnnotation($name); + +}
\ No newline at end of file |