diff options
author | Olivier Paroz <github@oparoz.com> | 2014-12-14 23:54:31 +0100 |
---|---|---|
committer | Olivier Paroz <github@oparoz.com> | 2014-12-14 23:54:31 +0100 |
commit | 469fd3b3a3a256d7651eac364d96fbbae16c389b (patch) | |
tree | 7fbd716e2ae5eee6813bba3753da3cb87853b461 /lib | |
parent | 768aea57d3cef405ff1e01731fd31af5c997df99 (diff) | |
download | nextcloud-server-469fd3b3a3a256d7651eac364d96fbbae16c389b.tar.gz nextcloud-server-469fd3b3a3a256d7651eac364d96fbbae16c389b.zip |
Olivier Paroz \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 |