MediaSourceManager
class MediaSourceManager extends DefaultPluginManager (View source)
Manages media source plugins.
Traits
Provides methods to use a cache backend while respecting a 'use caches' flag.
Properties
| protected DiscoveryInterface | $discovery | The object that discovers plugins managed by this manager. |
from PluginManagerBase |
| protected FactoryInterface | $factory | The object that instantiates plugins managed by this manager. |
from PluginManagerBase |
| protected MapperInterface|null | $mapper | The object that returns the preconfigured plugin instance appropriate for a particular runtime condition. |
from PluginManagerBase |
| protected array | $definitions | Cached definitions array. |
from DiscoveryCachedTrait |
| protected CacheBackendInterface | $cacheBackend | Cache backend instance. |
from UseCacheBackendTrait |
| protected bool | $useCaches | Flag whether caches should be used or skipped. |
from UseCacheBackendTrait |
| protected string | $cacheKey | The cache key. |
from DefaultPluginManager |
| protected array | $cacheTags | An array of cache tags to use for the cached definitions. |
from DefaultPluginManager |
| protected string | $alterHook | Name of the alter hook if one should be invoked. |
from DefaultPluginManager |
| protected string|bool | $subdir | The subdirectory within a namespace to look for plugins, or FALSE if the plugins are in the top level of the namespace. |
from DefaultPluginManager |
| protected ModuleHandlerInterface | $moduleHandler | The module handler to invoke the alter hook. |
from DefaultPluginManager |
| protected array | $defaults | A set of defaults to be referenced by $this->processDefinition() if additional processing of plugins is necessary or helpful for development purposes. |
from DefaultPluginManager |
| protected string | $pluginDefinitionAnnotationName | The name of the annotation that contains the plugin definition. |
from DefaultPluginManager |
| protected string|null | $pluginInterface | The interface each plugin should implement. |
from DefaultPluginManager |
| protected Traversable | $namespaces | An object that implements \Traversable which contains the root paths keyed by the corresponding namespace to look for plugin implementations. |
from DefaultPluginManager |
| protected string[] | $additionalAnnotationNamespaces | Additional namespaces the annotation discovery mechanism should scan for annotation definitions. |
from DefaultPluginManager |
Methods
Gets a specific plugin definition.
Creates a pre-configured instance of a plugin.
Allows plugin managers to specify custom behavior if a plugin is not found.
Gets a preconfigured instance of a plugin.
Fetches from the cache backend, respecting the use caches flag.
Stores data in the persistent cache, respecting the use caches flag.
Constructs a new MediaSourceManager.
Initialize the cache backend.
Clears static and persistent plugin definition caches.
Returns the cached plugin definitions of the decorated discovery class.
Sets a cache of plugin definitions for the decorated discovery class.
Performs extra processing on plugin definitions.
Extracts the provider from a plugin definition.
Invokes the hook to alter the definitions if the alter hook is set.
Determines if the provider of a definition exists.
The cache contexts associated with this object.
Details
abstract
getDefinitions()
{@inheritdoc}
getDefinition($plugin_id, $exception_on_invalid = TRUE)
{@inheritdoc}
protected array|null
doGetDefinition(array $definitions, string $plugin_id, bool $exception_on_invalid)
Gets a specific plugin definition.
hasDefinition($plugin_id)
{@inheritdoc}
protected DiscoveryInterface
getDiscovery()
Gets the plugin discovery.
protected FactoryInterface
getFactory()
Gets the plugin factory.
object
createInstance(string $plugin_id, array $configuration = [])
Creates a pre-configured instance of a plugin.
protected object
handlePluginNotFound(string $plugin_id, array $configuration)
Allows plugin managers to specify custom behavior if a plugin is not found.
object|false
getInstance(array $options)
Gets a preconfigured instance of a plugin.
protected object|false
cacheGet(string $cid)
Fetches from the cache backend, respecting the use caches flag.
protected
cacheSet(string $cid, mixed $data, int $expire = Cache::PERMANENT, array $tags = [])
Stores data in the persistent cache, respecting the use caches flag.
__construct(Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler)
Constructs a new MediaSourceManager.
setCacheBackend(CacheBackendInterface $cache_backend, string $cache_key, array $cache_tags = [])
Initialize the cache backend.
Plugin definitions are cached using the provided cache backend.
protected
alterInfo(string $alter_hook)
Sets the alter hook name.
clearCachedDefinitions()
Clears static and persistent plugin definition caches.
Don't resort to calling \Drupal::cache()->delete() and friends to make Drupal detect new or updated plugin definitions. Always use this method on the appropriate plugin type's plugin manager!
protected array|null
getCachedDefinitions()
Returns the cached plugin definitions of the decorated discovery class.
protected
setCachedDefinitions(array $definitions)
Sets a cache of plugin definitions for the decorated discovery class.
useCaches(bool $use_caches = FALSE)
Disable the use of caches.
Can be used to ensure that uncached plugin definitions are returned, without invalidating all cached information.
This will also remove all local/static caches.
processDefinition($definition, $plugin_id)
Performs extra processing on plugin definitions.
By default we add defaults for the type to the definition. If a type has additional processing logic they can do that by replacing or extending the method.
protected array
findDefinitions()
Finds plugin definitions.
protected string|null
extractProviderFromDefinition(mixed $plugin_definition)
Extracts the provider from a plugin definition.
protected
alterDefinitions($definitions)
Invokes the hook to alter the definitions if the alter hook is set.
protected bool
providerExists($provider)
Determines if the provider of a definition exists.
string[]
getCacheContexts()
The cache contexts associated with this object.
These identify a specific variation/representation of the object.
Cache contexts are tokens: placeholders that are converted to cache keys by the @cache_contexts_manager service. The replacement value depends on the request context (the current URL, language, and so on). They're converted before storing an object in cache.
string[]
getCacheTags()
The cache tags associated with this object.
When this object is modified, these cache tags will be invalidated.
int
getCacheMaxAge()
The maximum age for which this object may be cached.