DefaultLazyPluginCollection
class DefaultLazyPluginCollection extends LazyPluginCollection (View source)
Provides a default plugin collection for a plugin type.
A plugin collection is used to contain plugins that will be lazily instantiated. The configurations of each potential plugin are passed in, and the configuration key containing the plugin ID is specified by self::$pluginKey.
Traits
Provides dependency injection friendly methods for serialization.
Properties
| protected array | $pluginInstances | Stores all instantiated plugins. |
from LazyPluginCollection |
| protected array | $instanceIds | Stores the IDs of all potential plugin instances. |
from LazyPluginCollection |
| protected array | $_serviceIds | An array of service IDs keyed by property name used for serialization. |
from DependencySerializationTrait |
| protected array | $_entityStorages | An array of entity type IDs keyed by the property name of their storages. |
from DependencySerializationTrait |
| protected PluginManagerInterface | $manager | The manager used to instantiate the plugins. |
|
| protected array | $configurations | The initial configuration for each plugin in the collection. |
|
| protected string | $pluginKey | The key within the plugin configuration that contains the plugin ID. |
|
| protected array | $originalOrder | The original order of the instances. |
Methods
Initializes and stores a plugin.
Gets the current configuration of all plugins in this collection.
Sets the configuration for all plugins in this collection.
Gets a plugin instance, initializing it if necessary.
Adds an instance ID to the available instance IDs.
Removes an instance ID.
Constructs a new DefaultLazyPluginCollection object.
Sorts all plugin instances in this collection.
Provides uasort() callback to sort plugins.
Updates the configuration for a plugin instance.
Details
protected
initializePlugin(string $instance_id)
Initializes and stores a plugin.
array
getConfiguration()
Gets the current configuration of all plugins in this collection.
$this
setConfiguration(array $configuration)
Sets the configuration for all plugins in this collection.
clear()
Clears all instantiated plugins.
bool
has(string $instance_id)
Determines if a plugin instance exists.
get(string $instance_id)
Gets a plugin instance, initializing it if necessary.
set(string $instance_id, mixed $value)
Stores an initialized plugin.
remove(string $instance_id)
Removes an initialized plugin.
The plugin can still be used; it will be reinitialized.
addInstanceId(string $id, array|null $configuration = NULL)
Adds an instance ID to the available instance IDs.
array
getInstanceIds()
Gets all instance IDs.
removeInstanceId(string $instance_id)
Removes an instance ID.
getIterator()
No description
count()
{@inheritdoc}
__sleep()
{@inheritdoc}
__wakeup()
{@inheritdoc}
__construct(PluginManagerInterface $manager, array $configurations = [])
Constructs a new DefaultLazyPluginCollection object.
$this
sort()
Sorts all plugin instances in this collection.
sortHelper($aID, $bID)
Provides uasort() callback to sort plugins.
setInstanceConfiguration(string $instance_id, array $configuration)
Updates the configuration for a plugin instance.
If there is no plugin instance yet, a new will be instantiated. Otherwise, the existing instance is updated with the new configuration.