ConfigEntityBase::calculateDependencies

public ConfigEntityBase::calculateDependencies()

Calculates dependencies and stores them in the dependency property.

Return value

$this

Overrides ConfigEntityInterface::calculateDependencies

See also

\Drupal\Core\Config\Entity\ConfigDependencyManager

File

core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php, line 379

Class

ConfigEntityBase
Defines a base configuration entity class.

Namespace

Drupal\Core\Config\Entity

Code

public function calculateDependencies() {
  // All dependencies should be recalculated on every save apart from enforced
  // dependencies. This ensures stale dependencies are never saved.
  $this->dependencies = array_intersect_key($this->dependencies, ['enforced' => '']);
  if ($this instanceof EntityWithPluginCollectionInterface) {
    // Configuration entities need to depend on the providers of any plugins
    // that they store the configuration for.
    foreach ($this->getPluginCollections() as $plugin_collection) {
      foreach ($plugin_collection as $instance) {
        $this->calculatePluginDependencies($instance);
      }
    }
  }
  if ($this instanceof ThirdPartySettingsInterface) {
    // Configuration entities need to depend on the providers of any third
    // parties that they store the configuration for.
    foreach ($this->getThirdPartyProviders() as $provider) {
      $this->addDependency('module', $provider);
    }
  }
  return $this;
}
doc_Drupal
2016-10-29 08:52:26
Comments
Leave a Comment

Please login to continue.