interface ConditionInterface
Same name in this branch
- 11.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php \Drupal\Core\Database\Query\ConditionInterface
- 11.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php \Drupal\Core\Entity\Query\ConditionInterface
Same name in other branches
- 9 core/lib/Drupal/Core/Database/Query/ConditionInterface.php \Drupal\Core\Database\Query\ConditionInterface
- 9 core/lib/Drupal/Core/Entity/Query/ConditionInterface.php \Drupal\Core\Entity\Query\ConditionInterface
- 9 core/lib/Drupal/Core/Condition/ConditionInterface.php \Drupal\Core\Condition\ConditionInterface
- 8.9.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php \Drupal\Core\Database\Query\ConditionInterface
- 8.9.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php \Drupal\Core\Entity\Query\ConditionInterface
- 8.9.x core/lib/Drupal/Core/Condition/ConditionInterface.php \Drupal\Core\Condition\ConditionInterface
- 10 core/lib/Drupal/Core/Database/Query/ConditionInterface.php \Drupal\Core\Database\Query\ConditionInterface
- 10 core/lib/Drupal/Core/Entity/Query/ConditionInterface.php \Drupal\Core\Entity\Query\ConditionInterface
- 10 core/lib/Drupal/Core/Condition/ConditionInterface.php \Drupal\Core\Condition\ConditionInterface
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.
Hierarchy
- interface \Drupal\Component\Plugin\ConfigurableInterface; interface \Drupal\Component\Plugin\DependentPluginInterface; interface \Drupal\Component\Plugin\PluginInspectionInterface; interface \Drupal\Core\Cache\CacheableDependencyInterface; interface \Drupal\Core\Executable\ExecutableInterface; interface \Drupal\Core\Plugin\PluginFormInterface
- interface \Drupal\Core\Condition\ConditionInterface extends \Drupal\Core\Executable\ExecutableInterface \Drupal\Core\Plugin\PluginFormInterface \Drupal\Component\Plugin\ConfigurableInterface \Drupal\Component\Plugin\DependentPluginInterface \Drupal\Component\Plugin\PluginInspectionInterface \Drupal\Core\Cache\CacheableDependencyInterface
Expanded class hierarchy of ConditionInterface
All classes that implement ConditionInterface
See also
\Drupal\Core\TypedData\TypedDataManager::create()
\Drupal\Core\Executable\ExecutableInterface
\Drupal\Core\Condition\ConditionManager
\Drupal\Core\Condition\Annotation\Condition
\Drupal\Core\Condition\Attribute\Condition
\Drupal\Core\Condition\ConditionPluginBase
Related topics
1 string reference to 'ConditionInterface'
- core.data_types.schema.yml in core/
config/ schema/ core.data_types.schema.yml - core/config/schema/core.data_types.schema.yml
File
-
core/
lib/ Drupal/ Core/ Condition/ ConditionInterface.php, line 47
Namespace
Drupal\Core\ConditionView source
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);
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
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 |
ConditionInterface::evaluate | public | function | Evaluates the condition and returns TRUE or FALSE accordingly. | 11 |
ConditionInterface::isNegated | public | function | Determines whether condition result will be negated. | 1 |
ConditionInterface::setExecutableManager | public | function | Sets the executable manager class. | 1 |
ConditionInterface::summary | public | function | Provides a human readable summary of the condition's configuration. | 11 |
ConfigurableInterface::defaultConfiguration | public | function | Gets default configuration for this plugin. | 13 |
ConfigurableInterface::getConfiguration | public | function | Gets this plugin's configuration. | 13 |
ConfigurableInterface::setConfiguration | public | function | Sets the configuration for this plugin instance. | 13 |
DependentPluginInterface::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | 19 |
ExecutableInterface::execute | public | function | Executes the plugin. | 22 |
PluginFormInterface::buildConfigurationForm | public | function | Form constructor. | 33 |
PluginFormInterface::submitConfigurationForm | public | function | Form submission handler. | 31 |
PluginFormInterface::validateConfigurationForm | public | function | Form validation handler. | 17 |
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 7 |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin ID of the plugin instance. | 3 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.