abstract class EntityActionDeriverBase extends DeriverBase implements ContainerDeriverInterface (View source)

Provides a base action for each entity type with specific interfaces.

Traits

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

Properties

protected array $derivatives

List of derivative definitions.

from  DeriverBase
protected TranslationInterface $stringTranslation

The string translation service.

from  StringTranslationTrait
protected EntityTypeManagerInterface $entityTypeManager

The entity type manager.

Methods

array
getDerivativeDefinition(string $derivative_id, array|PluginDefinitionInterface $base_plugin_definition)

Gets the definition of a derivative plugin.

array
getDerivativeDefinitions(array $base_plugin_definition)

Gets the definition of all derivatives of a base plugin.

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.

__construct(EntityTypeManagerInterface $entity_type_manager, TranslationInterface $string_translation)

Constructs a new EntityActionDeriverBase object.

create(ContainerInterface $container, string $base_plugin_id)

Creates a new class instance.

bool
isApplicable(EntityTypeInterface $entity_type)

Indicates whether the deriver can be used for the provided entity type.

getApplicableEntityTypes()

Gets a list of applicable entity types.

Details

array getDerivativeDefinition(string $derivative_id, array|PluginDefinitionInterface $base_plugin_definition)

Gets the definition of a derivative plugin.

Parameters

string $derivative_id

The derivative id. The id must uniquely identify the derivative within a given base plugin, but derivative ids can be reused across base plugins.

array|PluginDefinitionInterface $base_plugin_definition

The definition of the base plugin from which the derivative plugin is derived. It is maybe an entire object or just some array, depending on the discovery mechanism.

Return Value

array

The full definition array of the derivative plugin, typically a merge of $base_plugin_definition with extra derivative-specific information. NULL if the derivative doesn't exist.

array getDerivativeDefinitions(array $base_plugin_definition)

Gets the definition of all derivatives of a base plugin.

Parameters

array $base_plugin_definition

The definition array of the base plugin.

Return Value

array

An array of full derivative definitions keyed on derivative id.

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

__construct(EntityTypeManagerInterface $entity_type_manager, TranslationInterface $string_translation)

Constructs a new EntityActionDeriverBase object.

Parameters

EntityTypeManagerInterface $entity_type_manager

The entity type manager.

TranslationInterface $string_translation

The string translation service.

static ContainerDeriverInterface create(ContainerInterface $container, string $base_plugin_id)

Creates a new class instance.

Parameters

ContainerInterface $container

The container to pull out services used in the fetcher.

string $base_plugin_id

The base plugin ID for the plugin ID.

Return Value

ContainerDeriverInterface

Returns an instance of this fetcher.

abstract protected bool isApplicable(EntityTypeInterface $entity_type)

Indicates whether the deriver can be used for the provided entity type.

Parameters

EntityTypeInterface $entity_type

The entity type.

Return Value

bool

TRUE if the entity type can be used, FALSE otherwise.

protected EntityTypeInterface[] getApplicableEntityTypes()

Gets a list of applicable entity types.

The list consists of all entity types which match the conditions for the given deriver. For example, if the action applies to entities that are publishable, this method will find all entity types that are publishable.

Return Value

EntityTypeInterface[]

The applicable entity types, keyed by entity type ID.