Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ConfigEntityInterface.php

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

Configuration API
Information about the Configuration API.
Entity API
Describes how to define and manipulate content and configuration entities.
57 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
Block.php in core/modules/block/src/Entity/Block.php
BlockContentTypeInterface.php in core/modules/block_content/src/BlockContentTypeInterface.php

... See full list

File

core/lib/Drupal/Core/Config/Entity/ConfigEntityInterface.php, line 14

Namespace

Drupal\Core\Config\Entity
View 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 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. 30
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 30
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 23
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::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. 2
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::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. 4
ThirdPartySettingsInterface::getThirdPartySetting public function Gets the value of a third-party setting. 4
ThirdPartySettingsInterface::getThirdPartySettings public function Gets all third-party settings of a given module. 4
ThirdPartySettingsInterface::setThirdPartySetting public function Sets the value of a third-party setting. 4
ThirdPartySettingsInterface::unsetThirdPartySetting public function Unsets a third-party setting. 4
RSS feed
Powered by Drupal