interface ConfigEntityInterface
Defines a common interface for configuration entities.
Hierarchy
- interface \Drupal\Core\Config\Entity\ThirdPartySettingsInterface; interface \Drupal\Core\Entity\EntityInterface extends \Drupal\Core\Access\AccessibleInterface, \Drupal\Core\Cache\CacheableDependencyInterface, \Drupal\Core\Cache\RefinableCacheableDependencyInterface; interface \Drupal\Core\Entity\SynchronizableInterface extends \Drupal\Core\Entity\EntityInterface- interface \Drupal\Core\Config\Entity\ConfigEntityInterface extends \Drupal\Core\Entity\EntityInterface, \Drupal\Core\Config\Entity\ThirdPartySettingsInterface, \Drupal\Core\Entity\SynchronizableInterface
 
Expanded class hierarchy of ConfigEntityInterface
All classes that implement ConfigEntityInterface
Related topics
62 files declare their use of ConfigEntityInterface
- Action.php in core/modules/ system/ src/ Entity/ Action.php 
- ActionConfigEntityInterface.php in core/modules/ system/ src/ ActionConfigEntityInterface.php 
- AdminPathConfigEntityConverter.php in core/lib/ Drupal/ Core/ ParamConverter/ AdminPathConfigEntityConverter.php 
- AssertConfigEntityImportTrait.php in core/modules/ config/ src/ Tests/ AssertConfigEntityImportTrait.php 
- AssertConfigEntityImportTrait.php in core/modules/ config/ tests/ src/ Traits/ AssertConfigEntityImportTrait.php 
File
- 
              core/lib/ Drupal/ Core/ Config/ Entity/ ConfigEntityInterface.php, line 14 
Namespace
Drupal\Core\Config\EntityView source
interface ConfigEntityInterface extends EntityInterface, ThirdPartySettingsInterface, SynchronizableInterface {
  
  /**
   * 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);
  
  /**
   * 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 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.
   *
   * @return 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();
}Members
| Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overrides | 
|---|---|---|---|---|---|
| AccessibleInterface::access | public | function | Checks data value access. | 9 | |
| CacheableDependencyInterface::getCacheContexts | public | function | The cache contexts associated with this object. | 34 | |
| CacheableDependencyInterface::getCacheMaxAge | public | function | The maximum age for which this object may be cached. | 34 | |
| CacheableDependencyInterface::getCacheTags | public | function | The cache tags associated with this object. | 27 | |
| ConfigEntityInterface::calculateDependencies | public | function | Calculates dependencies and stores them in the dependency property. | 2 | |
| ConfigEntityInterface::disable | public | function | Disables the configuration entity. | 2 | |
| ConfigEntityInterface::enable | public | function | Enables the configuration entity. | 2 | |
| ConfigEntityInterface::get | public | function | Returns the value of a property. | 2 | |
| ConfigEntityInterface::getDependencies | public | function | Gets the configuration dependencies. | 2 | |
| ConfigEntityInterface::hasTrustedData | public | function | Gets whether on not the data is trusted. | 2 | |
| ConfigEntityInterface::isInstallable | public | function | Checks whether this entity is installable. | 2 | |
| ConfigEntityInterface::isUninstalling | public | function | Returns whether this entity is being changed during the uninstall process. | 2 | |
| ConfigEntityInterface::onDependencyRemoval | public | function | Informs the entity that entities it depends on will be deleted. | 2 | |
| ConfigEntityInterface::set | public | function | Sets the value of a property. | 2 | |
| ConfigEntityInterface::setStatus | public | function | Sets the status of the configuration entity. | 2 | |
| ConfigEntityInterface::status | public | function | Returns whether the configuration entity is enabled. | 2 | |
| ConfigEntityInterface::trustData | public | function | Sets that the data should be trusted. | 2 | |
| EntityInterface::bundle | public | function | Gets the bundle of the entity. | 2 | |
| EntityInterface::create | public static | function | Constructs a new entity object, without permanently saving it. | 2 | |
| EntityInterface::createDuplicate | public | function | Creates a duplicate of the entity. | 2 | |
| EntityInterface::delete | public | function | Deletes an entity permanently. | 2 | |
| EntityInterface::enforceIsNew | public | function | Enforces an entity to be new. | 2 | |
| EntityInterface::getCacheTagsToInvalidate | public | function | Returns the cache tags that should be used to invalidate caches. | 2 | |
| EntityInterface::getConfigDependencyKey | public | function | Gets the key that is used to store configuration dependencies. | 2 | |
| EntityInterface::getConfigDependencyName | public | function | Gets the configuration dependency name. | 2 | |
| EntityInterface::getConfigTarget | public | function | Gets the configuration target identifier for the entity. | 2 | |
| EntityInterface::getEntityType | public | function | Gets the entity type definition. | 2 | |
| EntityInterface::getEntityTypeId | public | function | Gets the ID of the type of the entity. | 2 | |
| EntityInterface::getOriginalId | public | function | Gets the original ID. | 2 | |
| EntityInterface::getTypedData | public | function | Gets a typed data object for this entity object. | 2 | |
| EntityInterface::hasLinkTemplate | public | function | Indicates if a link template exists for a given key. | 2 | |
| EntityInterface::id | public | function | Gets the identifier. | 2 | |
| EntityInterface::isNew | public | function | Determines whether the entity is new. | 2 | |
| EntityInterface::label | public | function | Gets the label of the entity. | 2 | |
| EntityInterface::language | public | function | Gets the language of the entity. | 2 | |
| EntityInterface::link | Deprecated | public | function | Deprecated way of generating a link to the entity. See toLink(). | 2 | 
| EntityInterface::load | public static | function | Loads an entity. | 2 | |
| EntityInterface::loadMultiple | public static | function | Loads one or more entities. | 2 | |
| EntityInterface::postCreate | public | function | Acts on a created entity before hooks are invoked. | 2 | |
| EntityInterface::postDelete | public static | function | Acts on deleted entities before the delete hook is invoked. | 2 | |
| EntityInterface::postLoad | public static | function | Acts on loaded entities. | 3 | |
| EntityInterface::postSave | public | function | Acts on a saved entity before the insert or update hook is invoked. | 2 | |
| EntityInterface::preCreate | public static | function | Changes the values of an entity before it is created. | 2 | |
| EntityInterface::preDelete | public static | function | Acts on entities before they are deleted and before hooks are invoked. | 2 | |
| EntityInterface::preSave | public | function | Acts on an entity before the presave hook is invoked. | 2 | |
| EntityInterface::referencedEntities | public | function | Gets a list of entities referenced by this entity. | 2 | |
| EntityInterface::save | public | function | Saves an entity permanently. | 2 | |
| EntityInterface::setOriginalId | public | function | Sets the original ID. | 2 | |
| EntityInterface::toArray | public | function | Gets an array of all property values. | 3 | |
| EntityInterface::toLink | public | function | Generates the HTML for a link to this entity. | 2 | |
| EntityInterface::toUrl | public | function | Gets the URL object for the entity. | 2 | |
| EntityInterface::uriRelationships | public | function | Gets a list of URI relationships supported by this entity. | 2 | |
| EntityInterface::url | Deprecated | public | function | Gets the public URL for this entity. | 2 | 
| EntityInterface::urlInfo | Deprecated | public | function | Gets the URL object for the entity. | 2 | 
| EntityInterface::uuid | public | function | Gets the entity UUID (Universally Unique Identifier). | 2 | |
| RefinableCacheableDependencyInterface::addCacheableDependency | public | function | Adds a dependency on an object: merges its cacheability metadata. | 1 | |
| RefinableCacheableDependencyInterface::addCacheContexts | public | function | Adds cache contexts. | 1 | |
| RefinableCacheableDependencyInterface::addCacheTags | public | function | Adds cache tags. | 1 | |
| RefinableCacheableDependencyInterface::mergeCacheMaxAge | public | function | Merges the maximum age (in seconds) with the existing maximum age. | 1 | |
| SynchronizableInterface::isSyncing | public | function | Returns whether this entity is being changed as part of a synchronization. | 1 | |
| SynchronizableInterface::setSyncing | public | function | Sets the status of the synchronization flag. | 1 | |
| ThirdPartySettingsInterface::getThirdPartyProviders | public | function | Gets the list of third parties that store information. | 5 | |
| ThirdPartySettingsInterface::getThirdPartySetting | public | function | Gets the value of a third-party setting. | 5 | |
| ThirdPartySettingsInterface::getThirdPartySettings | public | function | Gets all third-party settings of a given module. | 5 | |
| ThirdPartySettingsInterface::setThirdPartySetting | public | function | Sets the value of a third-party setting. | 5 | |
| ThirdPartySettingsInterface::unsetThirdPartySetting | public | function | Unsets a third-party setting. | 5 | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
