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;
}