You are here

class EntityApiConfiguration in Configuration Management 7.2

Hierarchy

Expanded class hierarchy of EntityApiConfiguration

File

lib/Drupal/configuration/Config/EntityApiConfiguration.php, line 13
Definition of Drupal\configuration\Config\EntityApiConfiguration.

Namespace

Drupal\configuration\Config
View source
class EntityApiConfiguration extends Configuration {

  /**
   * The component of the current configuration.
   *
   * Usually this component is the entity type.
   *
   * @var string
   */
  protected $component;

  /**
   * Overrides Drupal\configuration\Config\Configuration::__construct().
   */
  public function __construct($identifier, $component = '') {

    // Because Entity API can handle multiple types of configurations we need to
    // know what is the current handled configuration. Usually this component is
    // the entity type.
    $this->component = $component;
    parent::__construct($identifier, $component);
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::getStorageSystem().
   */
  protected static function getStorageSystem($component) {
    return '\\Drupal\\configuration\\Storage\\StorageEntityApi';
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::getStorageInstance().
   */
  protected static function getStorageInstance($component) {
    $storage = static::getStorageSystem($component);
    return new $storage($component);
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::isActive().
   */
  public static function isActive() {
    if (module_exists('entity')) {
      return TRUE;
    }
    return FALSE;
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::getComponentHumanName().
   */
  public static function getComponentHumanName($component, $plural = FALSE) {
    $entity_info = entity_crud_get_info();
    if ($plural && !empty($entity_info[$component]['plural_label'])) {
      return $entity_info[$component]['plural_label'];
    }
    else {
      return $entity_info[$component]['label'];
    }
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::getComponent().
   */
  public function getComponent() {
    return $this->component;
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::supportedComponents().
   */
  public static function supportedComponents() {
    $supported = array();
    foreach (entity_crud_get_info() as $type => $info) {
      if (!empty($info['exportable'])) {
        $supported[] = $type;
      }
    }
    return $supported;
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::getAllIdentifiers().
   */
  public static function getAllIdentifiers($component) {
    $options = array();
    foreach (entity_load_multiple_by_name($component, FALSE) as $name => $entity) {
      $options[$name] = entity_label($component, $entity);
    }
    return $options;
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::configForEntity().
   */
  public function configForEntity() {
    return TRUE;
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::getEntityType().
   */
  public function getEntityType() {
    $entity = entity_load_single($this
      ->getComponent(), $this
      ->getIdentifier());
    $info = $entity
      ->entityInfo();
    if (!empty($info['bundle of'])) {
      return $info['bundle of'];
    }
  }

  /**
   * Overrides Drupal\configuration\Config\Configuration::findRequiredModules().
   */
  public function findRequiredModules() {
    $this
      ->addToModules('entity');
    $entity_info = entity_get_info($this
      ->getComponent());
    $entity = $this
      ->getData();
    if (!empty($entity->dependencies)) {
      foreach ($entity->dependencies as $dependency) {
        $this
          ->addToModules($dependency);
      }
    }
    if ($entity_info) {
      $this
        ->addToModules($entity_info['module']);
    }
  }

  /**
   * Implements Drupal\configuration\Config\Configuration::prepareBuild().
   */
  public function prepareBuild() {
    $entity_type = $this
      ->getComponent();
    $this->data = entity_load_single($entity_type, $this
      ->getIdentifier());
    return $this;
  }

  /**
   * Implements Drupal\configuration\Config\Configuration::saveToActiveStore().
   */
  public function saveToActiveStore(ConfigIteratorSettings &$settings) {
    $entity = $this
      ->getData();
    $entity_type = $this
      ->getComponent();
    if ($original = entity_load_single($entity_type, $this
      ->getIdentifier())) {
      $entity->id = $original->id;
      unset($entity->is_new);
    }
    $entity
      ->save();
    $settings
      ->addInfo('imported', $this
      ->getUniqueId());
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Configuration::$broken protected property A boolean flag to indicate if the configuration object couldn't be loaded from it source.
Configuration::$built protected property A boolean flag to indicate if the configuration object was already populated from the ActiveStore, or from the DataStore.
Configuration::$context protected property The ConfigIteratorSettings instance used by iterate.
Configuration::$data protected property The data of this configuration.
Configuration::$dependencies protected property An array of configuration objects required to use this configuration.
Configuration::$hash protected property A hash that represent that sumarizes the configuration and can be used to copare configurations.
Configuration::$identifier protected property The identifier that identifies to the component, usually the machine name.
Configuration::$keys_to_export protected property An array of keys names to export. If the array is empty, all the keys of the configuration will be exported.
Configuration::$optional_configurations protected property An array of configuration objects that are parts of this configurations but are not required to use this configuration.
Configuration::$required_modules protected property The required modules to load this configuration.
Configuration::$storage protected property An object to save and load the data from a persistent medium.
Configuration::addToDependencies public function Add a new dependency for this configuration.
Configuration::addToModules public function Add a new dependency for this configuration.
Configuration::addToOptionalConfigurations public function Add a new child configuration for this configuration.
Configuration::alterDependencies public static function Configurations should implement this function to add configuration objects (by using addToDepedencies). 15
Configuration::build public function Build the configuration object based on the component name and in the identifier.
Configuration::buildHash public function Create a unique hash for this configuration based on the data, dependencies, optional configurations and modules required to use this configuration. Use getHash() after call this function.
Configuration::checkDependencies public function Returns TRUE if all the dependencies of this configurations are met. Returns FALSE if a module or a dependency is required by this configuration is not enabled.
Configuration::configFileExists public function Returns TRUE if the file that represents this configuration exists in the datastore.
Configuration::discoverModules protected function Internal function to discover what modules are required for the current being proccessed configurations.
Configuration::export public function
Configuration::findDependencies public function Ask to each configuration handler to add its dependencies to the current configuration that is being exported. 2
Configuration::getAllIdentifiersCached public static function Cache wrapper for getAllIdentifiers().
Configuration::getAvailableModules protected static function Helper for retrieving info from system table.
Configuration::getData public function Return the data for this configuration.
Configuration::getDependencies public function Returns the list of dependencies of this configuration
Configuration::getDependentModules public static function Determine the status of the given module and of its dependencies.
Configuration::getFileName public function Returns the filename that contains the content of the current configuration.
Configuration::getHash public function Returns the hash of the configuration object.
Configuration::getIdentifier public function Returns the identifier of the configuration object.
Configuration::getKeysToExport public function Returns an array of keys names to export. If the array is empty, all the keys of the configuration will be exported.
Configuration::getModules public function Returns the name of the required_modules that provide this configuration.
Configuration::getOptionalConfigurations public function Returns the list of optional_configurations of this configuration
Configuration::getRequiredModules public function Returns a list of modules that are required to run this configuration.
Configuration::getStatus public function Return the current status of the configuration.
Configuration::getUniqueId public function Returns an unique identifier for this configuration. Usually something like 'content_type.article' where content_type is the component of the configuration and 'article' is the identifier of the configuration for the given component.
Configuration::import public function Load a configuration from the DataStore and save it into the ActiveStore. This function is called from iterator().
Configuration::inSync constant A bit flag used to let us know if a configuration is the same in both the activestore and the datastore.
Configuration::isBroken public function Return TRUE if something went wrong with the load of the configuration.
Configuration::iterate public function This function will exectute a callback function over all the configurations objects that it process.
Configuration::loadFromActiveStore public function Load a configurations from the database.
Configuration::loadFromStorage public function Load the Configuration data from the disk.
Configuration::moduleInstalled constant A bit flag used to let us know if a module for the configuration is already installed.
Configuration::moduleMissing constant A bit flag used to let us know if a module for the configuration is not available to install in the site.
Configuration::moduleToInstall constant A bit flag used to let us know if a module for the configuration is disabled but can be enabled.
Configuration::notTracked constant A bit flag used to let us know if a configuration is not currently being tracked.
Configuration::overridden constant A bit flag used to let us know if a configuration was overridden as a result of changing the activestore directly. (config changes via the UI)
Configuration::printRaw protected function Print the configuration as plain text formatted to use in a tar file.
Configuration::raw public function Print the configuration as plain text formatted to use in a tar file.
Configuration::removeConfiguration public function Removes the configuration record from the configuration_tracked table for the current configuration.
Configuration::removeFromDataStore public function Removes the configuration file from the dataStore folder.
Configuration::scanDataStore public static function Returns the list of components available in the DataStore.
Configuration::setContext public function Set the context where a function is executed.
Configuration::setData public function Set the data for this configuration.
Configuration::setDependencies public function Returns the list of dependencies of this configuration
Configuration::setHash public function Set the hash for this configuration.
Configuration::setIdentifier public function Set the component identifier of this configuration
Configuration::setKeysToExport public function Set an array of keys names to export. If the array is empty, all the keys of the configuration will be exported.
Configuration::setModules public function Set the name of the required_modules that provide this configuration.
Configuration::setOptionalConfigurations public function Returns the list of optional_configurations of this configuration
Configuration::startTracking public function Save a configuration object into the configuration_tracked table.
Configuration::stopTracking public function Removes the configuration record from the configuration_tracked table for the current configuration.
EntityApiConfiguration::$component protected property The component of the current configuration.
EntityApiConfiguration::configForEntity public function Overrides Drupal\configuration\Config\Configuration::configForEntity(). Overrides Configuration::configForEntity
EntityApiConfiguration::findRequiredModules public function Overrides Drupal\configuration\Config\Configuration::findRequiredModules(). Overrides Configuration::findRequiredModules
EntityApiConfiguration::getAllIdentifiers public static function Overrides Drupal\configuration\Config\Configuration::getAllIdentifiers(). Overrides Configuration::getAllIdentifiers
EntityApiConfiguration::getComponent public function Overrides Drupal\configuration\Config\Configuration::getComponent(). Overrides Configuration::getComponent
EntityApiConfiguration::getComponentHumanName public static function Overrides Drupal\configuration\Config\Configuration::getComponentHumanName(). Overrides Configuration::getComponentHumanName
EntityApiConfiguration::getEntityType public function Overrides Drupal\configuration\Config\Configuration::getEntityType().
EntityApiConfiguration::getStorageInstance protected static function Overrides Drupal\configuration\Config\Configuration::getStorageInstance(). Overrides Configuration::getStorageInstance
EntityApiConfiguration::getStorageSystem protected static function Overrides Drupal\configuration\Config\Configuration::getStorageSystem(). Overrides Configuration::getStorageSystem
EntityApiConfiguration::isActive public static function Overrides Drupal\configuration\Config\Configuration::isActive(). Overrides Configuration::isActive
EntityApiConfiguration::prepareBuild public function Implements Drupal\configuration\Config\Configuration::prepareBuild(). Overrides Configuration::prepareBuild
EntityApiConfiguration::saveToActiveStore public function Implements Drupal\configuration\Config\Configuration::saveToActiveStore(). Overrides Configuration::saveToActiveStore
EntityApiConfiguration::supportedComponents public static function Overrides Drupal\configuration\Config\Configuration::supportedComponents(). Overrides Configuration::supportedComponents
EntityApiConfiguration::__construct public function Overrides Drupal\configuration\Config\Configuration::__construct(). Overrides Configuration::__construct