Chris@0: . Chris@0: */ Chris@0: Chris@0: namespace Doctrine\Common\Persistence\Mapping; Chris@0: Chris@0: /** Chris@0: * Very simple reflection service abstraction. Chris@0: * Chris@0: * This is required inside metadata layers that may require either Chris@0: * static or runtime reflection. Chris@0: * Chris@0: * @author Benjamin Eberlei Chris@0: */ Chris@0: interface ReflectionService Chris@0: { Chris@0: /** Chris@0: * Returns an array of the parent classes (not interfaces) for the given class. Chris@0: * Chris@0: * @param string $class Chris@0: * Chris@0: * @throws \Doctrine\Common\Persistence\Mapping\MappingException Chris@0: * Chris@0: * @return array Chris@0: */ Chris@0: public function getParentClasses($class); Chris@0: Chris@0: /** Chris@0: * Returns the shortname of a class. Chris@0: * Chris@0: * @param string $class Chris@0: * Chris@0: * @return string Chris@0: */ Chris@0: public function getClassShortName($class); Chris@0: Chris@0: /** Chris@0: * @param string $class Chris@0: * Chris@0: * @return string Chris@0: */ Chris@0: public function getClassNamespace($class); Chris@0: Chris@0: /** Chris@0: * Returns a reflection class instance or null. Chris@0: * Chris@0: * @param string $class Chris@0: * Chris@0: * @return \ReflectionClass|null Chris@0: */ Chris@0: public function getClass($class); Chris@0: Chris@0: /** Chris@0: * Returns an accessible property (setAccessible(true)) or null. Chris@0: * Chris@0: * @param string $class Chris@0: * @param string $property Chris@0: * Chris@0: * @return \ReflectionProperty|null Chris@0: */ Chris@0: public function getAccessibleProperty($class, $property); Chris@0: Chris@0: /** Chris@0: * Checks if the class have a public method with the given name. Chris@0: * Chris@0: * @param mixed $class Chris@0: * @param mixed $method Chris@0: * Chris@0: * @return bool Chris@0: */ Chris@0: public function hasPublicMethod($class, $method); Chris@0: }