class Sequence
Same name in other branches
- 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
- 11.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 extends \Drupal\Core\Config\Schema\Element implements \Drupal\Core\Config\Schema\IteratorAggregate, \Drupal\Core\Config\Schema\TypedConfigInterface, \Drupal\Core\TypedData\ComplexDataInterface
- class \Drupal\Core\Config\Schema\Sequence extends \Drupal\Core\Config\Schema\ArrayElement
- class \Drupal\Core\Config\Schema\ArrayElement extends \Drupal\Core\Config\Schema\Element implements \Drupal\Core\Config\Schema\IteratorAggregate, \Drupal\Core\Config\Schema\TypedConfigInterface, \Drupal\Core\TypedData\ComplexDataInterface
- 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 | Gets a contained typed configuration element. | Overrides TypedConfigInterface::get | |
ArrayElement::getAllKeys | protected | function | Gets valid configuration data keys. | ||
ArrayElement::getElements | public | function | Gets an array of contained elements. | Overrides TypedConfigInterface::getElements | |
ArrayElement::getIterator | public | function | |||
ArrayElement::getProperties | public | function | Gets an array of property objects. | Overrides ComplexDataInterface::getProperties | |
ArrayElement::hasTranslatableElements | public | function | Determines if there is a translatable value. | ||
ArrayElement::isEmpty | public | function | Determines whether the data structure is empty. | Overrides TypedConfigInterface::isEmpty | |
ArrayElement::isNullable | public | function | Determines if this element allows NULL as a value. | ||
ArrayElement::onChange | public | function | React to changes to a child property or item. | Overrides TraversableTypedDataInterface::onChange | |
ArrayElement::parse | protected | function | Builds an array of contained elements. | ||
ArrayElement::set | public | function | Sets a property value. | Overrides ComplexDataInterface::set | |
ArrayElement::toArray | public | function | Returns an array of all property values. | Overrides TypedConfigInterface::toArray | |
DependencySerializationTrait::$_entityStorages | protected | property | |||
DependencySerializationTrait::$_serviceIds | protected | property | |||
DependencySerializationTrait::__sleep | public | function | 1 | ||
DependencySerializationTrait::__wakeup | public | function | 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 | Gets data definition object for contained element. | 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 | Applies the default value. | Overrides TypedDataInterface::applyDefaultValue | 3 |
TypedData::createInstance | public static | function | Constructs a TypedData object given its definition and context. | Overrides TypedDataInterface::createInstance | |
TypedData::getConstraints | public | function | Gets a list of validation constraints. | Overrides TypedDataInterface::getConstraints | 8 |
TypedData::getDataDefinition | public | function | Gets the data definition. | Overrides TypedDataInterface::getDataDefinition | |
TypedData::getName | public | function | Returns the name of a property or item. | Overrides TypedDataInterface::getName | |
TypedData::getParent | public | function | Returns the parent data structure; i.e. either complex data or a list. | Overrides TypedDataInterface::getParent | |
TypedData::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | Overrides PluginInspectionInterface::getPluginDefinition | |
TypedData::getPluginId | public | function | Gets the plugin ID of the plugin instance. | Overrides PluginInspectionInterface::getPluginId | |
TypedData::getPropertyPath | public | function | Returns the property path of the data. | Overrides TypedDataInterface::getPropertyPath | |
TypedData::getRoot | public | function | Returns the root of the typed data tree. | Overrides TypedDataInterface::getRoot | |
TypedData::getString | public | function | Returns a string representation of the data. | Overrides TypedDataInterface::getString | 6 |
TypedData::getValue | public | function | Gets the data value. | Overrides TypedDataInterface::getValue | 10 |
TypedData::setContext | public | function | Sets the context of a property or item via a context aware parent. | Overrides TypedDataInterface::setContext | |
TypedData::setValue | public | function | Sets the data value. | Overrides TypedDataInterface::setValue | 10 |
TypedData::validate | public | function | Validates the currently set data value. | 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.