Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ConfigCollectionInfo.php

class ConfigCollectionInfo

Gets information on all the possible configuration collections.

Hierarchy

  • class \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface
    • class \Drupal\Component\EventDispatcher\Event extends \Symfony\Contracts\EventDispatcher\Event
      • class \Drupal\Core\Config\ConfigCollectionInfo extends \Drupal\Component\EventDispatcher\Event

Expanded class hierarchy of ConfigCollectionInfo

1 file declares its use of ConfigCollectionInfo
LanguageConfigFactoryOverride.php in core/modules/language/src/Config/LanguageConfigFactoryOverride.php

File

core/lib/Drupal/Core/Config/ConfigCollectionInfo.php, line 10

Namespace

Drupal\Core\Config
View source
class ConfigCollectionInfo extends Event {
    
    /**
     * Configuration collection information keyed by collection name.
     *
     * The value is either the configuration factory override that is responsible
     * for the collection or null if there is not one.
     *
     * @var array
     */
    protected $collections = [];
    
    /**
     * Adds a collection to the list of possible collections.
     *
     * @param string $collection
     *   Collection name to add.
     * @param \Drupal\Core\Config\ConfigFactoryOverrideInterface $override_service
     *   (optional) The configuration factory override service responsible for the
     *   collection.
     *
     * @throws \InvalidArgumentException
     *   Exception thrown if $collection is equal to
     *   \Drupal\Core\Config\StorageInterface::DEFAULT_COLLECTION.
     */
    public function addCollection($collection, ?ConfigFactoryOverrideInterface $override_service = NULL) {
        if ($collection == StorageInterface::DEFAULT_COLLECTION) {
            throw new \InvalidArgumentException('Can not add the default collection to the ConfigCollectionInfo object');
        }
        $this->collections[$collection] = $override_service;
    }
    
    /**
     * Gets the list of possible collection names.
     *
     * @param bool $include_default
     *   (Optional) Include the default collection. Defaults to TRUE.
     *
     * @return array
     *   The list of possible collection names.
     */
    public function getCollectionNames($include_default = TRUE) {
        $collection_names = array_keys($this->collections);
        sort($collection_names);
        if ($include_default) {
            array_unshift($collection_names, StorageInterface::DEFAULT_COLLECTION);
        }
        return $collection_names;
    }
    
    /**
     * Gets the config factory override service responsible for the collection.
     *
     * @param string $collection
     *   The configuration collection.
     *
     * @return \Drupal\Core\Config\ConfigFactoryOverrideInterface|null
     *   The override service responsible for the collection if one exists. NULL
     *   if not.
     */
    public function getOverrideService($collection) {
        return $this->collections[$collection] ?? NULL;
    }

}

Members

Title Sort descending Modifiers Object type Summary
ConfigCollectionInfo::$collections protected property Configuration collection information keyed by collection name.
ConfigCollectionInfo::addCollection public function Adds a collection to the list of possible collections.
ConfigCollectionInfo::getCollectionNames public function Gets the list of possible collection names.
ConfigCollectionInfo::getOverrideService public function Gets the config factory override service responsible for the collection.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal