You are here

public function FilteredStorage::createCollection in Config Filter 8

Same name and namespace in other branches
  1. 8.2 src/Config/FilteredStorage.php \Drupal\config_filter\Config\FilteredStorage::createCollection()

Creates a collection on the storage.

A configuration storage can contain multiple sets of configuration objects in partitioned collections. The collection name identifies the current collection used.

Implementations of this method must provide a new instance to avoid side effects caused by the fact that Config objects have their storage injected.

Parameters

string $collection: The collection name. Valid collection names conform to the following regex [a-zA-Z_.]. A storage does not need to have a collection set. However, if a collection is set, then storage should use it to store configuration in a way that allows retrieval of configuration for a particular collection.

Return value

$this A new instance of the storage backend with the collection set.

Overrides StorageInterface::createCollection

File

src/Config/FilteredStorage.php, line 211

Class

FilteredStorage
Class FilteredStorage.

Namespace

Drupal\config_filter\Config

Code

public function createCollection($collection) {
  $filters = [];
  foreach ($this->filters as $key => $filter) {
    $filter = $filter
      ->filterCreateCollection($collection);
    if ($filter) {
      $filters[$key] = $filter;
    }
  }
  return new static($this->storage
    ->createCollection($collection), $filters);
}