ConditionInterface.php
Same filename in this branch
Same filename in other branches
- 9 core/lib/Drupal/Core/Database/Query/ConditionInterface.php
- 9 core/lib/Drupal/Core/Entity/Query/ConditionInterface.php
- 9 core/lib/Drupal/Core/Condition/ConditionInterface.php
- 8.9.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php
- 8.9.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php
- 8.9.x core/lib/Drupal/Core/Condition/ConditionInterface.php
- 11.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php
- 11.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php
- 11.x core/lib/Drupal/Core/Condition/ConditionInterface.php
Namespace
Drupal\Core\ConditionFile
-
core/
lib/ Drupal/ Core/ Condition/ ConditionInterface.php
View source
<?php
namespace Drupal\Core\Condition;
use Drupal\Component\Plugin\ConfigurableInterface;
use Drupal\Component\Plugin\DependentPluginInterface;
use Drupal\Component\Plugin\PluginInspectionInterface;
use Drupal\Core\Cache\CacheableDependencyInterface;
use Drupal\Core\Executable\ExecutableInterface;
use Drupal\Core\Executable\ExecutableManagerInterface;
use Drupal\Core\Plugin\PluginFormInterface;
/**
* An interface for condition plugins.
*
* Condition plugins are context-aware and configurable. They support the
* following keys in their plugin definitions:
* - context: An array of context definitions, keyed by context name. Each
* context definition is a typed data definition describing the context. Check
* the typed data definition docs for details.
* - configuration: An array of configuration option definitions, keyed by
* option name. Each option definition is a typed data definition describing
* the configuration option. Check the typed data definition docs for details.
*
* @todo Replace the dependency on \Drupal\Core\Form\FormInterface with a new
* interface from https://www.drupal.org/node/2006248.
* @todo WARNING: The condition API is going to receive some additions before release.
* The following additions are likely to happen:
* - The way configuration is handled and configuration forms are built is
* likely to change in order for the plugin to be of use for Rules.
* - Conditions will receive a data processing API that allows for token
* replacements to happen outside of the plugin implementations,
* see https://www.drupal.org/node/2347023.
* - Conditions will have to implement access control for checking who is
* allowed to configure or perform the action at
* https://www.drupal.org/node/2172017.
*
* @see \Drupal\Core\TypedData\TypedDataManager::create()
* @see \Drupal\Core\Executable\ExecutableInterface
* @see \Drupal\Core\Condition\ConditionManager
* @see \Drupal\Core\Condition\Annotation\Condition
* @see \Drupal\Core\Condition\Attribute\Condition
* @see \Drupal\Core\Condition\ConditionPluginBase
*
* @ingroup plugin_api
*/
interface ConditionInterface extends ExecutableInterface, PluginFormInterface, ConfigurableInterface, DependentPluginInterface, PluginInspectionInterface, CacheableDependencyInterface {
/**
* Determines whether condition result will be negated.
*
* @return bool
* Whether the condition result will be negated.
*/
public function isNegated();
/**
* Evaluates the condition and returns TRUE or FALSE accordingly.
*
* @return bool
* TRUE if the condition has been met, FALSE otherwise.
*/
public function evaluate();
/**
* Provides a human readable summary of the condition's configuration.
*/
public function summary();
/**
* Sets the executable manager class.
*
* @param \Drupal\Core\Executable\ExecutableManagerInterface $executableManager
* The executable manager.
*/
public function setExecutableManager(ExecutableManagerInterface $executableManager);
}
Interfaces
Title | Deprecated | Summary |
---|---|---|
ConditionInterface | An interface for condition plugins. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.