Drest\Mapping\Driver\AnnotationDriver::loadMetadataForClass PHP Method

loadMetadataForClass() public method

Load metadata for a class name
public loadMetadataForClass ( object | string $className ) : Drest\Mapping\ClassMetaData | null
$className object | string - Pass in either the class name, or an instance of that class
return Drest\Mapping\ClassMetaData | null $metaData - return null if metadata couldn't be populated from annotations
    public function loadMetadataForClass($className)
    {
        $resourceFound = false;
        $class = new \ReflectionClass($className);
        $metadata = new Mapping\ClassMetaData($class);
        foreach ($this->reader->getClassAnnotations($class) as $annotatedObject) {
            if ($annotatedObject instanceof Annotation\Resource) {
                $resourceFound = true;
                if ($annotatedObject->routes === null) {
                    throw DrestException::annotatedResourceRequiresAtLeastOneServiceDefinition($class->name);
                }
                if (is_array($annotatedObject->representations)) {
                    $metadata->addRepresentations($annotatedObject->representations);
                }
                $this->processRoutes($annotatedObject->routes, $metadata);
                $this->processMethods($class->getMethods(), $metadata);
                $this->checkHandleCalls($metadata->getRoutesMetaData());
            }
        }
        return $resourceFound ? $metadata : null;
    }