You are here

class BackendPluginCollection in Advanced Queue 8

Stores a single backend plugin, aware of its parent entity ID.

Hierarchy

Expanded class hierarchy of BackendPluginCollection

1 file declares its use of BackendPluginCollection
Queue.php in src/Entity/Queue.php

File

src/BackendPluginCollection.php, line 12

Namespace

Drupal\advancedqueue
View source
class BackendPluginCollection extends DefaultSingleLazyPluginCollection {

  /**
   * The entity ID this plugin collection belongs to.
   *
   * @var string
   */
  protected $entityId;

  /**
   * Constructs a new BackendPluginCollection object.
   *
   * @param \Drupal\Component\Plugin\PluginManagerInterface $manager
   *   The manager to be used for instantiating plugins.
   * @param string $instance_id
   *   The ID of the plugin instance.
   * @param array $configuration
   *   An array of configuration.
   * @param string $entity_id
   *   The entity ID this plugin collection belongs to.
   */
  public function __construct(PluginManagerInterface $manager, $instance_id, array $configuration, $entity_id) {
    $this->entityId = $entity_id;

    // The parent constructor initializes the plugin, so it needs to be called
    // after $this->entityId is set.
    parent::__construct($manager, $instance_id, $configuration);
  }

  /**
   * {@inheritdoc}
   */
  protected function initializePlugin($instance_id) {
    if (!$instance_id) {
      throw new PluginException("The queue '{$this->entityId}' did not specify a plugin.");
    }
    $configuration = [
      '_entity_id' => $this->entityId,
    ] + $this->configuration;
    $plugin = $this->manager
      ->createInstance($instance_id, $configuration);
    $this
      ->set($instance_id, $plugin);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BackendPluginCollection::$entityId protected property The entity ID this plugin collection belongs to.
BackendPluginCollection::initializePlugin protected function Initializes and stores a plugin. Overrides DefaultSingleLazyPluginCollection::initializePlugin
BackendPluginCollection::__construct public function Constructs a new BackendPluginCollection object. Overrides DefaultSingleLazyPluginCollection::__construct
DefaultSingleLazyPluginCollection::$configuration protected property An array of configuration to instantiate the plugin with.
DefaultSingleLazyPluginCollection::$instanceId protected property The instance ID used for this plugin collection.
DefaultSingleLazyPluginCollection::$manager protected property The manager used to instantiate the plugins.
DefaultSingleLazyPluginCollection::addInstanceId public function Adds an instance ID to the available instance IDs. Overrides LazyPluginCollection::addInstanceId
DefaultSingleLazyPluginCollection::getConfiguration public function Gets the current configuration of all plugins in this collection. Overrides LazyPluginCollection::getConfiguration
DefaultSingleLazyPluginCollection::setConfiguration public function Sets the configuration for all plugins in this collection. Overrides LazyPluginCollection::setConfiguration
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
LazyPluginCollection::$instanceIds protected property Stores the IDs of all potential plugin instances.
LazyPluginCollection::$pluginInstances protected property Stores all instantiated plugins.
LazyPluginCollection::clear public function Clears all instantiated plugins.
LazyPluginCollection::count public function
LazyPluginCollection::get public function Gets a plugin instance, initializing it if necessary. 4
LazyPluginCollection::getInstanceIds public function Gets all instance IDs.
LazyPluginCollection::getIterator public function
LazyPluginCollection::has public function Determines if a plugin instance exists.
LazyPluginCollection::remove public function Removes an initialized plugin.
LazyPluginCollection::removeInstanceId public function Removes an instance ID.
LazyPluginCollection::set public function Stores an initialized plugin.