Version 1
[yaffs-website] / web / core / lib / Drupal / Core / Config / ConfigFactoryOverrideInterface.php
diff --git a/web/core/lib/Drupal/Core/Config/ConfigFactoryOverrideInterface.php b/web/core/lib/Drupal/Core/Config/ConfigFactoryOverrideInterface.php
new file mode 100644 (file)
index 0000000..13a78f8
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+namespace Drupal\Core\Config;
+
+/**
+ * Defines the interface for a configuration factory override object.
+ */
+interface ConfigFactoryOverrideInterface {
+
+  /**
+   * Returns config overrides.
+   *
+   * @param array $names
+   *   A list of configuration names that are being loaded.
+   *
+   * @return array
+   *   An array keyed by configuration name of override data. Override data
+   *   contains a nested array structure of overrides.
+   */
+  public function loadOverrides($names);
+
+  /**
+   * The string to append to the configuration static cache name.
+   *
+   * @return string
+   *   A string to append to the configuration static cache name.
+   */
+  public function getCacheSuffix();
+
+  /**
+   * Creates a configuration object for use during install and synchronization.
+   *
+   * If the overrider stores its overrides in configuration collections then
+   * it can have its own implementation of
+   * \Drupal\Core\Config\StorableConfigBase. Configuration overriders can link
+   * themselves to a configuration collection by listening to the
+   * \Drupal\Core\Config\ConfigEvents::COLLECTION_INFO event and adding the
+   * collections they are responsible for. Doing this will allow installation
+   * and synchronization to use the overrider's implementation of
+   * StorableConfigBase.
+   *
+   * @see \Drupal\Core\Config\ConfigCollectionInfo
+   * @see \Drupal\Core\Config\ConfigImporter::importConfig()
+   * @see \Drupal\Core\Config\ConfigInstaller::createConfiguration()
+   *
+   * @param string $name
+   *   The configuration object name.
+   * @param string $collection
+   *   The configuration collection.
+   *
+   * @return \Drupal\Core\Config\StorableConfigBase
+   *   The configuration object for the provided name and collection.
+   */
+  public function createConfigObject($name, $collection = StorageInterface::DEFAULT_COLLECTION);
+
+  /**
+   * Gets the cacheability metadata associated with the config factory override.
+   *
+   * @param string $name
+   *   The name of the configuration override to get metadata for.
+   *
+   * @return \Drupal\Core\Cache\CacheableMetadata
+   *   A cacheable metadata object.
+   */
+  public function getCacheableMetadata($name);
+
+}