Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Config/ImmutableConfig.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Config/ImmutableConfig.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,54 @@ +<?php + +namespace Drupal\Core\Config; + +/** + * Defines the immutable configuration object. + * + * Encapsulates all capabilities needed for runtime configuration handling + * except being able to change the configuration. + * + * If you need to be able to change configuration use + * \Drupal\Core\Form\ConfigFormBaseTrait or + * \Drupal\Core\Config\ConfigFactoryInterface::getEditable(). + * + * @see \Drupal\Core\Form\ConfigFormBaseTrait + * @see \Drupal\Core\Config\ConfigFactoryInterface::getEditable() + * @see \Drupal\Core\Config\ConfigFactoryInterface::get() + * + * @ingroup config_api + */ +class ImmutableConfig extends Config { + + /** + * {@inheritdoc} + */ + public function set($key, $value) { + throw new ImmutableConfigException("Can not set values on immutable configuration {$this->getName()}:$key. Use \\Drupal\\Core\\Config\\ConfigFactoryInterface::getEditable() to retrieve a mutable configuration object"); + } + + /** + * {@inheritdoc} + */ + public function clear($key) { + throw new ImmutableConfigException("Can not clear $key key in immutable configuration {$this->getName()}. Use \\Drupal\\Core\\Config\\ConfigFactoryInterface::getEditable() to retrieve a mutable configuration object"); + } + + /** + * {@inheritdoc} + */ + public function save($has_trusted_data = FALSE) { + throw new ImmutableConfigException("Can not save immutable configuration {$this->getName()}. Use \\Drupal\\Core\\Config\\ConfigFactoryInterface::getEditable() to retrieve a mutable configuration object"); + } + + /** + * Deletes the configuration object. + * + * @return \Drupal\Core\Config\Config + * The configuration object. + */ + public function delete() { + throw new ImmutableConfigException("Can not delete immutable configuration {$this->getName()}. Use \\Drupal\\Core\\Config\\ConfigFactoryInterface::getEditable() to retrieve a mutable configuration object"); + } + +}