Chris@0: names = $names; Chris@0: $this->language = $language; Chris@0: $this->overrides = []; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Gets configuration names. Chris@0: * Chris@0: * @return array Chris@0: * The list of configuration names that can be overridden. Chris@0: */ Chris@0: public function getNames() { Chris@0: return $this->names; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Gets configuration language. Chris@0: * Chris@0: * @return \Drupal\Core\Language\LanguageInterface Chris@0: * The configuration language object. Chris@0: */ Chris@0: public function getLanguage() { Chris@0: return $this->language; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Get configuration overrides. Chris@0: * Chris@0: * @return array Chris@0: * The array of configuration overrides. Chris@0: */ Chris@0: public function getOverrides() { Chris@0: return $this->overrides; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Sets a configuration override for the given name. Chris@0: * Chris@0: * @param string $name Chris@0: * The configuration object name to override. Chris@0: * @param array $values Chris@0: * The values in the configuration object to override. Chris@0: * Chris@0: * @return $this Chris@0: */ Chris@0: public function setOverride($name, array $values) { Chris@0: if (in_array($name, $this->names)) { Chris@0: if (isset($this->overrides[$name])) { Chris@0: // Existing overrides take precedence since these will have been added Chris@0: // by events with a higher priority. Chris@0: $this->overrides[$name] = NestedArray::mergeDeepArray([$values, $this->overrides[$name]], TRUE); Chris@0: } Chris@0: else { Chris@0: $this->overrides[$name] = $values; Chris@0: } Chris@0: } Chris@0: return $this; Chris@0: } Chris@0: Chris@0: }