class Sequence

Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
  2. 10 core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
  3. 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

Expanded class hierarchy of Sequence

1 file declares its use of Sequence
StorableConfigBase.php in core/lib/Drupal/Core/Config/StorableConfigBase.php
75 string references to 'Sequence'
aggregator.schema.yml in core/modules/aggregator/config/schema/aggregator.schema.yml
core/modules/aggregator/config/schema/aggregator.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
ckeditor.schema.yml in core/modules/ckeditor/config/schema/ckeditor.schema.yml
core/modules/ckeditor/config/schema/ckeditor.schema.yml

... See full list

File

core/lib/Drupal/Core/Config/Schema/Sequence.php, line 20

Namespace

Drupal\Core\Config\Schema
View 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];
        }
        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
ArrayElement::getProperties public function Overrides ComplexDataInterface::getProperties
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
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 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. 3
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.