class DefaultsTestPluginManager

Defines a plugin manager used by Plugin API unit tests.

Hierarchy

Expanded class hierarchy of DefaultsTestPluginManager

1 file declares its use of DefaultsTestPluginManager
PluginTestBase.php in drupal/core/modules/system/lib/Drupal/system/Tests/Plugin/PluginTestBase.php
Definition of Drupal\system\Tests\Plugin\PluginTestBase.

File

drupal/core/modules/system/tests/modules/plugin_test/lib/Drupal/plugin_test/Plugin/DefaultsTestPluginManager.php, line 18
Contains Drupal\plugin_test\Plugin\DefaultsTestPluginManager.

Namespace

Drupal\plugin_test\Plugin
View source
class DefaultsTestPluginManager extends PluginManagerBase {
  public function __construct() {

    // Create the object that can be used to return definitions for all the
    // plugins available for this type. Most real plugin managers use a richer
    // discovery implementation, but StaticDiscovery lets us add some simple
    // mock plugins for unit testing.
    $this->discovery = new StaticDiscovery();
    $this->discovery = new ProcessDecorator($this->discovery, array(
      $this,
      'ProcessDefinition',
    ));
    $this->factory = new DefaultFactory($this);

    // Specify default values.
    $this->defaults = array(
      'metadata' => array(
        'default' => TRUE,
      ),
    );

    // Add a plugin with a custom value.
    $this->discovery
      ->setDefinition('test_block1', array(
      'class' => 'Drupal\\plugin_test\\Plugin\\plugin_test\\mock_block\\MockTestBlock',
      'metadata' => array(
        'custom' => TRUE,
      ),
    ));

    // Add a plugin that overrides the default value.
    $this->discovery
      ->setDefinition('test_block2', array(
      'class' => 'Drupal\\plugin_test\\Plugin\\plugin_test\\mock_block\\MockTestBlock',
      'metadata' => array(
        'custom' => TRUE,
        'default' => FALSE,
      ),
    ));
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DefaultsTestPluginManager::__construct public function
PluginManagerBase::$defaults protected property A set of defaults to be referenced by $this->processDefinition() if additional processing of plugins is necessary or helpful for development purposes. 4
PluginManagerBase::$discovery protected property The object that discovers plugins managed by this manager.
PluginManagerBase::$factory protected property The object that instantiates plugins managed by this manager.
PluginManagerBase::$mapper protected property The object that returns the preconfigured plugin instance appropriate for a particular runtime condition.
PluginManagerBase::clearCachedDefinitions public function Implements \Drupal\Component\Plugin\Discovery\CachedDiscoveryInterface::clearCachedDefinitions(). Overrides CachedDiscoveryInterface::clearCachedDefinitions
PluginManagerBase::createInstance public function Implements Drupal\Component\Plugin\PluginManagerInterface::createInstance(). Overrides FactoryInterface::createInstance 1
PluginManagerBase::getDefinition public function Implements Drupal\Component\Plugin\PluginManagerInterface::getDefinition(). Overrides DiscoveryInterface::getDefinition 1
PluginManagerBase::getDefinitions public function Implements Drupal\Component\Plugin\PluginManagerInterface::getDefinitions(). Overrides DiscoveryInterface::getDefinitions 1
PluginManagerBase::getInstance public function Implements Drupal\Component\Plugin\PluginManagerInterface::getInstance(). Overrides MapperInterface::getInstance 3
PluginManagerBase::processDefinition public function Performs extra processing on plugin definitions. 2