Commit d077f162 authored by catch's avatar catch

Issue #2195571 by Les Lim: Add a dedicated @RestResource annotation class.

parent 78b48c89
<?php
/**
* @file
* Contains \Drupal\rest\Annotation\RestResource.
*/
namespace Drupal\rest\Annotation;
use \Drupal\Component\Annotation\Plugin;
/**
* Defines a REST resource annotation object.
*
* @Annotation
*/
class RestResource extends Plugin {
/**
* The resource plugin ID.
*
* @var string
*/
public $id;
/**
* The human-readable name of the resource plugin.
*
* @ingroup plugin_translatable
*
* @var \Drupal\Core\Annotation\Translation
*/
public $label;
}
......@@ -9,9 +9,8 @@
use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Language\LanguageManager;
use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\Core\Plugin\DefaultPluginManager;
use Drupal\Core\Plugin\Discovery\CacheDecorator;
/**
* Manages discovery and instantiation of resource plugins.
......@@ -26,13 +25,13 @@ class ResourcePluginManager extends DefaultPluginManager {
* keyed by the corresponding namespace to look for plugin implementations.
* @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend
* Cache backend instance to use.
* @param \Drupal\Core\Language\LanguageManager $language_manager
* @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
* The language manager.
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler to invoke the alter hook with.
*/
public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, LanguageManager $language_manager, ModuleHandlerInterface $module_handler) {
parent::__construct('Plugin/rest/resource', $namespaces);
public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, LanguageManagerInterface $language_manager, ModuleHandlerInterface $module_handler) {
parent::__construct('Plugin/rest/resource', $namespaces, 'Drupal\rest\Annotation\RestResource');
$this->setCacheBackend($cache_backend, $language_manager, 'rest_plugins');
$this->alterInfo($module_handler, 'rest_resource');
......
......@@ -15,7 +15,7 @@
/**
* Provides a resource for database watchdog log entries.
*
* @Plugin(
* @RestResource(
* id = "dblog",
* label = @Translation("Watchdog database log")
* )
......
......@@ -19,7 +19,7 @@
/**
* Represents entities as resources.
*
* @Plugin(
* @RestResource(
* id = "entity",
* label = @Translation("Entity"),
* serialization_class = "Drupal\Core\Entity\Entity",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment