Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Config\Entity\ConfigEntityInterface. | |
*/ | |
namespace Drupal\Core\Config\Entity; | |
use Drupal\Core\Entity\EntityInterface; | |
/** | |
* Defines a common interface for configuration entities. | |
* | |
* @ingroup config_api | |
* @ingroup entity_api | |
*/ | |
interface ConfigEntityInterface extends EntityInterface, ThirdPartySettingsInterface { | |
/** | |
* Enables the configuration entity. | |
* | |
* @return $this | |
*/ | |
public function enable(); | |
/** | |
* Disables the configuration entity. | |
* | |
* @return $this | |
*/ | |
public function disable(); | |
/** | |
* Sets the status of the configuration entity. | |
* | |
* @param bool $status | |
* The status of the configuration entity. | |
* | |
* @return $this | |
*/ | |
public function setStatus($status); | |
/** | |
* Sets the status of the isSyncing flag. | |
* | |
* @param bool $status | |
* The status of the sync flag. | |
* | |
* @return $this | |
*/ | |
public function setSyncing($status); | |
/** | |
* Returns whether the configuration entity is enabled. | |
* | |
* Status implementations for configuration entities should follow these | |
* general rules: | |
* - Status does not affect the loading of entities. I.e. Disabling | |
* configuration entities should only have UI/access implications. | |
* - It should only take effect when a 'status' key is explicitly declared | |
* in the entity_keys info of a configuration entity's annotation data. | |
* - Each entity implementation (entity/controller) is responsible for | |
* checking and managing the status. | |
* | |
* @return bool | |
* Whether the entity is enabled or not. | |
*/ | |
public function status(); | |
/** | |
* Returns whether this entity is being changed as part of an import process. | |
* | |
* If you are writing code that responds to a change in this entity (insert, | |
* update, delete, presave, etc.), and your code would result in a | |
* configuration change (whether related to this configuration entity, another | |
* configuration entity, or non-entity configuration) or your code would | |
* result in a change to this entity itself, you need to check and see if this | |
* entity change is part of an import process, and skip executing your code if | |
* that is the case. | |
* | |
* For example, \Drupal\node\Entity\NodeType::postSave() adds the default body | |
* field to newly created node type configuration entities, which is a | |
* configuration change. You would not want this code to run during an import, | |
* because imported entities were already given the body field when they were | |
* originally created, and the imported configuration includes all of their | |
* currently-configured fields. On the other hand, | |
* \Drupal\field\Entity\FieldStorageConfig::preSave() and the methods it calls | |
* make sure that the storage tables are created or updated for the field | |
* storage configuration entity, which is not a configuration change, and it | |
* must be done whether due to an import or not. So, the first method should | |
* check $entity->isSyncing() and skip executing if it returns TRUE, and the | |
* second should not perform this check. | |
* | |
* @return bool | |
* TRUE if the configuration entity is being created, updated, or deleted | |
* through the import process. | |
*/ | |
public function isSyncing(); | |
/** | |
* Returns whether this entity is being changed during the uninstall process. | |
* | |
* If you are writing code that responds to a change in this entity (insert, | |
* update, delete, presave, etc.), and your code would result in a | |
* configuration change (whether related to this configuration entity, another | |
* configuration entity, or non-entity configuration) or your code would | |
* result in a change to this entity itself, you need to check and see if this | |
* entity change is part of an uninstall process, and skip executing your code | |
* if that is the case. | |
* | |
* For example, \Drupal\language\Entity\ConfigurableLanguage::preDelete() | |
* prevents the API from deleting the default language. However during an | |
* uninstall of the language module it is expected that the default language | |
* should be deleted. | |
* | |
* @return bool | |
*/ | |
public function isUninstalling(); | |
/** | |
* Returns the value of a property. | |
* | |
* @param string $property_name | |
* The name of the property that should be returned. | |
* | |
* @return mixed | |
* The property if it exists, or NULL otherwise. | |
*/ | |
public function get($property_name); | |
/** | |
* Sets the value of a property. | |
* | |
* @param string $property_name | |
* The name of the property that should be set. | |
* @param mixed $value | |
* The value the property should be set to. | |
* | |
* @return $this | |
*/ | |
public function set($property_name, $value); | |
/** | |
* Calculates dependencies and stores them in the dependency property. | |
* | |
* @return $this | |
* | |
* @see \Drupal\Core\Config\Entity\ConfigDependencyManager | |
*/ | |
public function calculateDependencies(); | |
/** | |
* Informs the entity that entities it depends on will be deleted. | |
* | |
* This method allows configuration entities to remove dependencies instead | |
* of being deleted themselves. Configuration entities can use this method to | |
* avoid being unnecessarily deleted during an extension uninstallation. | |
* For example, entity displays remove references to widgets and formatters if | |
* the plugin that supplies them depends on a module that is being | |
* uninstalled. | |
* | |
* If this method returns TRUE then the entity needs to be re-saved by the | |
* caller for the changes to take effect. Implementations should not save the | |
* entity. | |
* | |
* @param array $dependencies | |
* An array of dependencies that will be deleted keyed by dependency type. | |
* Dependency types are, for example, entity, module and theme. | |
* | |
* @return bool | |
* TRUE if the entity has been changed as a result, FALSE if not. | |
* | |
* @see \Drupal\Core\Config\Entity\ConfigDependencyManager | |
* @see \Drupal\Core\Config\ConfigEntityBase::preDelete() | |
* @see \Drupal\Core\Config\ConfigManager::uninstall() | |
* @see \Drupal\Core\Entity\EntityDisplayBase::onDependencyRemoval() | |
*/ | |
public function onDependencyRemoval(array $dependencies); | |
/** | |
* Gets the configuration dependencies. | |
* | |
* @return array | |
* An array of dependencies, keyed by $type. | |
* | |
* @see \Drupal\Core\Config\Entity\ConfigDependencyManager | |
*/ | |
public function getDependencies(); | |
/** | |
* Checks whether this entity is installable. | |
* | |
* For example, a default view might not be installable if the base table | |
* doesn't exist. | |
* | |
* @retun bool | |
* TRUE if the entity is installable, FALSE otherwise. | |
*/ | |
public function isInstallable(); | |
/** | |
* Sets that the data should be trusted. | |
* | |
* If the data is trusted then dependencies will not be calculated on save and | |
* schema will not be used to cast the values. Generally this is only used | |
* during module and theme installation. Once the config entity has been saved | |
* the data will no longer be marked as trusted. This is an optimization for | |
* creation of configuration during installation. | |
* | |
* @return $this | |
* | |
* @see \Drupal\Core\Config\ConfigInstaller::createConfiguration() | |
*/ | |
public function trustData(); | |
/** | |
* Gets whether on not the data is trusted. | |
* | |
* @return bool | |
* TRUE if the configuration data is trusted, FALSE if not. | |
*/ | |
public function hasTrustedData(); | |
} |