MediaSourceBase
abstract class MediaSourceBase extends PluginBase implements MediaSourceInterface, ContainerFactoryPluginInterface (View source)
Base implementation of media source plugin.
Traits
Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.
Provides dependency injection friendly methods for serialization.
Provides a trait for the messenger service.
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 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 |
| protected MessengerInterface | $messenger | The messenger. |
from MessengerTrait |
| protected string | $label | Plugin label. |
|
| protected EntityTypeManagerInterface | $entityTypeManager | The entity type manager service. |
|
| protected EntityFieldManagerInterface | $entityFieldManager | The entity field manager service. |
|
| protected FieldTypePluginManagerInterface | $fieldTypeManager | The field type plugin manager service. |
|
| protected ConfigFactoryInterface | $configFactory | The config factory service. |
Methods
Constructs a new class instance.
Translates a string to the current language or to a given language.
Formats a string containing a count of items.
Returns the number of plurals supported by a given language.
Gets the string translation service.
Creates an instance of the plugin.
Sets the configuration for this plugin instance.
Gets this plugin's configuration.
Gets default configuration for this plugin.
Gets the value for a metadata attribute for a given media item.
Calculates dependencies for the configured plugin.
Get the source field options for the media type form.
Creates the source field storage definition.
Returns the source field storage definition.
Get the source field definition for a media type.
Determine the name of the source field.
Prepares the media type fields for this source in the view display.
Prepares the media type fields for this source in the form display.
Details
__construct(array $configuration, string $plugin_id, mixed $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $entity_field_manager, FieldTypePluginManagerInterface $field_type_manager, ConfigFactoryInterface $config_factory)
Constructs a new class instance.
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.
array
getPluginDefinition()
Gets the definition of the plugin implementation.
bool
isConfigurable()
Determines if the plugin is configurable.
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
protected
formatPlural($count, $singular, $plural, array $args = [], array $options = [])
Formats a string containing a count of items.
protected
getNumberOfPlurals($langcode = NULL)
Returns the number of plurals supported by a given language.
protected TranslationInterface
getStringTranslation()
Gets the string translation service.
$this
setStringTranslation(TranslationInterface $translation)
Sets the string translation service to use.
__sleep()
{@inheritdoc}
__wakeup()
{@inheritdoc}
setMessenger(MessengerInterface $messenger)
Sets the messenger.
MessengerInterface
messenger()
Gets the messenger.
static ContainerFactoryPluginInterface
create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)
Creates an instance of the plugin.
setConfiguration(array $configuration)
Sets the configuration for this plugin instance.
array
getConfiguration()
Gets this plugin's configuration.
array
defaultConfiguration()
Gets default configuration for this plugin.
mixed|null
getMetadata(MediaInterface $media, string $attribute_name)
Gets the value for a metadata attribute for a given media item.
array
calculateDependencies()
Calculates dependencies for the configured plugin.
Dependencies are saved in the plugin's configuration entity and are used to determine configuration synchronization order. For example, if the plugin integrates with specific user roles, this method should return an array of dependencies listing the specified roles.
protected string[]
getSourceFieldOptions()
Get the source field options for the media type form.
This returns all fields related to media entities, filtered by the allowed field types in the media source annotation.
array
buildConfigurationForm(array $form, FormStateInterface $form_state)
Form constructor.
Plugin forms are embedded in other forms. In order to know where the plugin form is located in the parent form, #parents and #array_parents must be known, but these are not available during the initial build phase. In order to have these properties available when building the plugin form's elements, let this method return a form element that has a #process callback and build the rest of the form in the callback. By the time the callback is executed, the element's #parents and #array_parents properties will have been set by the form API. For more documentation on #parents and
array_parents, see \Drupal\Core\Render\Element\FormElement.
validateConfigurationForm(array $form, FormStateInterface $form_state)
Form validation handler.
submitConfigurationForm(array $form, FormStateInterface $form_state)
Form submission handler.
protected FieldStorageConfigInterface
createSourceFieldStorage()
Creates the source field storage definition.
By default, the first field type listed in the plugin definition's allowed_field_types array will be the generated field's type.
protected FieldStorageDefinitionInterface|null
getSourceFieldStorage()
Returns the source field storage definition.
FieldDefinitionInterface|null
getSourceFieldDefinition(MediaTypeInterface $type)
Get the source field definition for a media type.
FieldConfigInterface
createSourceField(MediaTypeInterface $type)
Creates the source field definition for a type.
protected string
getSourceFieldName()
Determine the name of the source field.
mixed
getSourceFieldValue(MediaInterface $media)
Get the primary value stored in the source field.
prepareViewDisplay(MediaTypeInterface $type, EntityViewDisplayInterface $display)
Prepares the media type fields for this source in the view display.
This method should normally call \Drupal\Core\Entity\Display\EntityDisplayInterface::setComponent() or \Drupal\Core\Entity\Display\EntityDisplayInterface::removeComponent() to configure the media type fields in the view display.
prepareFormDisplay(MediaTypeInterface $type, EntityFormDisplayInterface $display)
Prepares the media type fields for this source in the form display.
This method should normally call \Drupal\Core\Entity\Display\EntityDisplayInterface::setComponent() or \Drupal\Core\Entity\Display\EntityDisplayInterface::removeComponent() to configure the media type fields in the form display.