class Sequence
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
- 9 core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
- 8.9.x core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
Defines a configuration element of type Sequence.
This object may contain any number and type of nested elements that share a common definition in the 'sequence' property of the configuration schema.
Read https://www.drupal.org/node/1905070 for more details about configuration schema, types and type resolution.
Note that sequences implement the typed data ComplexDataInterface (via the parent ArrayElement) rather than the ListInterface. This is because sequences may have named keys, which is not supported by ListInterface. From the typed data API perspective sequences are handled as ordered mappings without metadata about existing properties.
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements \Drupal\Core\TypedData\TypedDataInterface, \Drupal\Component\Plugin\PluginInspectionInterface uses \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\TypedData\TypedDataTrait
- class \Drupal\Core\Config\Schema\Element extends \Drupal\Core\TypedData\TypedData
- class \Drupal\Core\Config\Schema\ArrayElement implements \Drupal\Core\Config\Schema\IteratorAggregate, \Drupal\Core\Config\Schema\TypedConfigInterface, \Drupal\Core\TypedData\ComplexDataInterface extends \Drupal\Core\Config\Schema\Element
- class \Drupal\Core\Config\Schema\Sequence extends \Drupal\Core\Config\Schema\ArrayElement
- class \Drupal\Core\Config\Schema\ArrayElement implements \Drupal\Core\Config\Schema\IteratorAggregate, \Drupal\Core\Config\Schema\TypedConfigInterface, \Drupal\Core\TypedData\ComplexDataInterface extends \Drupal\Core\Config\Schema\Element
- class \Drupal\Core\Config\Schema\Element extends \Drupal\Core\TypedData\TypedData
Expanded class hierarchy of Sequence
2 files declare their use of Sequence
- StorableConfigBase.php in core/
lib/ Drupal/ Core/ Config/ StorableConfigBase.php - TypedConfigTest.php in core/
tests/ Drupal/ KernelTests/ Config/ TypedConfigTest.php
72 string references to 'Sequence'
- action.schema.yml in core/
modules/ action/ config/ schema/ action.schema.yml - core/modules/action/config/schema/action.schema.yml
- block.schema.yml in core/
modules/ block/ config/ schema/ block.schema.yml - core/modules/block/config/schema/block.schema.yml
- book.schema.yml in core/
modules/ book/ config/ schema/ book.schema.yml - core/modules/book/config/schema/book.schema.yml
- book.views.schema.yml in core/
modules/ book/ config/ schema/ book.views.schema.yml - core/modules/book/config/schema/book.views.schema.yml
- ckeditor5.schema.yml in core/
modules/ ckeditor5/ config/ schema/ ckeditor5.schema.yml - core/modules/ckeditor5/config/schema/ckeditor5.schema.yml
File
-
core/
lib/ Drupal/ Core/ Config/ Schema/ Sequence.php, line 20
Namespace
Drupal\Core\Config\SchemaView source
class Sequence extends ArrayElement {
/**
* {@inheritdoc}
*/
protected function getElementDefinition($key) {
$value = $this->value[$key] ?? NULL;
// @todo Remove BC layer for sequence with hyphen in front. https://www.drupal.org/node/2444979
$definition = [];
if (isset($this->definition['sequence'][0])) {
$definition = $this->definition['sequence'][0];
$bc_sequence_location = $this->getPropertyPath();
@trigger_error("The definition for the '{$bc_sequence_location}' sequence declares the type of its items in a way that is deprecated in drupal:8.0.0 and is removed from drupal:11.0.0. See https://www.drupal.org/node/2442603", E_USER_DEPRECATED);
}
elseif ($this->definition['sequence']) {
$definition = $this->definition['sequence'];
}
return $this->buildDataDefinition($definition, $value, $key);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
ArrayElement::$elements | protected | property | Parsed elements. | ||
ArrayElement::buildDataDefinition | protected | function | Creates a new data definition object from an array and configuration. | ||
ArrayElement::createElement | protected | function | Creates a contained typed configuration object. | ||
ArrayElement::get | public | function | Overrides TypedConfigInterface::get | ||
ArrayElement::getAllKeys | protected | function | Gets valid configuration data keys. | ||
ArrayElement::getElements | public | function | Overrides TypedConfigInterface::getElements | ||
ArrayElement::getIterator | public | function | #[\ReturnTypeWillChange] | ||
ArrayElement::getProperties | public | function | Overrides ComplexDataInterface::getProperties | ||
ArrayElement::hasTranslatableElements | public | function | Determines if there is a translatable value. | ||
ArrayElement::isEmpty | public | function | Overrides TypedConfigInterface::isEmpty | ||
ArrayElement::isNullable | public | function | Determines if this element allows NULL as a value. | ||
ArrayElement::onChange | public | function | Overrides TraversableTypedDataInterface::onChange | ||
ArrayElement::parse | protected | function | Builds an array of contained elements. | ||
ArrayElement::set | public | function | Overrides ComplexDataInterface::set | ||
ArrayElement::toArray | public | function | Overrides TypedConfigInterface::toArray | ||
DependencySerializationTrait::$_entityStorages | protected | property | An array of entity type IDs keyed by the property name of their storages. | ||
DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. | ||
DependencySerializationTrait::__sleep | public | function | 2 | ||
DependencySerializationTrait::__wakeup | public | function | #[\ReturnTypeWillChange] | 2 | |
Element::$value | protected | property | The configuration value. | ||
Element::getTypedDataManager | public | function | Gets the typed configuration manager. | Overrides TypedDataTrait::getTypedDataManager | |
Element::setTypedDataManager | public | function | Sets the typed config manager. | Overrides TypedDataTrait::setTypedDataManager | |
Sequence::getElementDefinition | protected | function | Overrides ArrayElement::getElementDefinition | ||
StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | |
StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. | ||
StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. | ||
StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. | ||
StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. | 2 | |
StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. | ||
TypedData::$definition | protected | property | The data definition. | 1 | |
TypedData::$name | protected | property | The property name. | ||
TypedData::$parent | protected | property | The parent typed data object. | ||
TypedData::applyDefaultValue | public | function | Overrides TypedDataInterface::applyDefaultValue | 3 | |
TypedData::createInstance | public static | function | Overrides TypedDataInterface::createInstance | ||
TypedData::getConstraints | public | function | Overrides TypedDataInterface::getConstraints | 9 | |
TypedData::getDataDefinition | public | function | Overrides TypedDataInterface::getDataDefinition | ||
TypedData::getName | public | function | Overrides TypedDataInterface::getName | ||
TypedData::getParent | public | function | Overrides TypedDataInterface::getParent | ||
TypedData::getPluginDefinition | public | function | Overrides PluginInspectionInterface::getPluginDefinition | ||
TypedData::getPluginId | public | function | Overrides PluginInspectionInterface::getPluginId | ||
TypedData::getPropertyPath | public | function | Overrides TypedDataInterface::getPropertyPath | ||
TypedData::getRoot | public | function | Overrides TypedDataInterface::getRoot | ||
TypedData::getString | public | function | Overrides TypedDataInterface::getString | 6 | |
TypedData::getValue | public | function | Overrides TypedDataInterface::getValue | 10 | |
TypedData::setContext | public | function | Overrides TypedDataInterface::setContext | ||
TypedData::setValue | public | function | Overrides TypedDataInterface::setValue | 10 | |
TypedData::validate | public | function | Overrides TypedDataInterface::validate | ||
TypedData::__construct | public | function | Constructs a TypedData object given its definition and context. | 4 | |
TypedDataTrait::$typedDataManager | protected | property | The typed data manager used for creating the data types. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.