abstract class ContextAwarePluginBase extends ContextAwarePluginBase implements ContextAwarePluginInterface, CacheableDependencyInterface (View source)

Base class for plugins that are context aware.

Traits

Provides a trait to add context-aware functionality to plugins.

Wrapper methods for classes that needs typed data manager object.

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

Provides dependency injection friendly methods for serialization.

Constants

DERIVATIVE_SEPARATOR

A string which is used to separate base plugin IDs from the derivative ID.

Properties

protected string $pluginId

The plugin_id.

from  PluginBase
protected array $pluginDefinition

The plugin implementation definition.

from  PluginBase
protected array $configuration

Configuration information passed into the plugin.

from  PluginBase
protected ContextInterface[] $context

The data objects representing the context of this plugin.

from  ContextAwarePluginTrait
protected bool internal $initializedContextConfig

Tracks whether the context has been initialized from configuration.

from  ContextAwarePluginTrait
protected TypedDataManagerInterface $typedDataManager

The typed data manager used for creating the data types.

from  TypedDataTrait
protected TranslationInterface $stringTranslation

The string translation service.

from  StringTranslationTrait
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

Methods

__construct(array $configuration, string $plugin_id, mixed $plugin_definition)

Overrides \Drupal\Component\Plugin\PluginBase::__construct().

string
getPluginId()

Gets the plugin_id of the plugin instance.

string
getBaseId()

Gets the base_plugin_id of the plugin instance.

string|null
getDerivativeId()

Gets the derivative_id of the plugin instance.

bool
isConfigurable()

Determines if the plugin is configurable.

createContextFromConfiguration(array $context_configuration)

Creates context objects from any context mappings in configuration.

getContexts()

{@inheritdoc}

setContext($name, ContextInterface $context)

{@inheritdoc}

getContextValue($name)

{@inheritdoc}

setContextValue($name, $value)

{@inheritdoc}

setContextMapping(array $context_mapping)

{@inheritdoc}

getCacheTags()

{@inheritdoc}

$this
setTypedDataManager(TypedDataManagerInterface $typed_data_manager)

Sets the typed data manager.

getTypedDataManager()

Gets the typed data manager.

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

getStringTranslation()

Gets the string translation service.

$this
setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}

Details

__construct(array $configuration, string $plugin_id, mixed $plugin_definition)

Overrides \Drupal\Component\Plugin\PluginBase::__construct().

Overrides the construction of context aware plugins to allow for unvalidated constructor based injection of contexts.

Parameters

array $configuration

A configuration array containing information about the plugin instance.

string $plugin_id

The plugin_id for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

string getPluginId()

Gets the plugin_id of the plugin instance.

Return Value

string

The plugin_id of the plugin instance.

string getBaseId()

Gets the base_plugin_id of the plugin instance.

Return Value

string

The base_plugin_id of the plugin instance.

string|null getDerivativeId()

Gets the derivative_id of the plugin instance.

Return Value

string|null

The derivative_id of the plugin instance NULL otherwise.

abstract protected getPluginDefinition()

{@inheritdoc}

bool isConfigurable()

Determines if the plugin is configurable.

Return Value

bool

A boolean indicating whether the plugin is configurable.

protected ContextInterface[] createContextFromConfiguration(array $context_configuration)

Creates context objects from any context mappings in configuration.

Parameters

array $context_configuration

An associative array of context names and values.

Return Value

ContextInterface[]

An array of context objects.

ContextDefinitionInterface[] getContextDefinitions()

{@inheritdoc}

ContextDefinitionInterface getContextDefinition($name)

{@inheritdoc}

Parameters

$name

Return Value

ContextDefinitionInterface

getContexts()

{@inheritdoc}

ContextInterface getContext($name)

{@inheritdoc}

Parameters

$name

Return Value

ContextInterface

The context object.

setContext($name, ContextInterface $context)

{@inheritdoc}

Parameters

$name
ContextInterface $context

getContextValues()

{@inheritdoc}

getContextValue($name)

{@inheritdoc}

Parameters

$name

setContextValue($name, $value)

{@inheritdoc}

Parameters

$name
$value

validateContexts()

{@inheritdoc}

getContextMapping()

{@inheritdoc}

setContextMapping(array $context_mapping)

{@inheritdoc}

Parameters

array $context_mapping

getCacheContexts()

{@inheritdoc}

getCacheTags()

{@inheritdoc}

getCacheMaxAge()

{@inheritdoc}

$this setTypedDataManager(TypedDataManagerInterface $typed_data_manager)

Sets the typed data manager.

Parameters

TypedDataManagerInterface $typed_data_manager

The typed data manager.

Return Value

$this

TypedDataManagerInterface getTypedDataManager()

Gets the typed data manager.

Return Value

TypedDataManagerInterface

The typed data manager.

protected TranslatableMarkup t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.

In order for strings to be localized, make them available in one of the ways supported by the

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}