1. 8.5.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php ConditionInterface
  2. 8.5.x core/lib/Drupal/Core/Condition/ConditionInterface.php ConditionInterface
  3. 8.5.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php ConditionInterface
  4. 8.0.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php ConditionInterface
  5. 8.0.x core/lib/Drupal/Core/Condition/ConditionInterface.php ConditionInterface
  6. 8.0.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php ConditionInterface
  7. 8.1.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php ConditionInterface
  8. 8.1.x core/lib/Drupal/Core/Condition/ConditionInterface.php ConditionInterface
  9. 8.1.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php ConditionInterface
  10. 8.2.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php ConditionInterface
  11. 8.2.x core/lib/Drupal/Core/Condition/ConditionInterface.php ConditionInterface
  12. 8.2.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php ConditionInterface
  13. 8.3.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php ConditionInterface
  14. 8.3.x core/lib/Drupal/Core/Condition/ConditionInterface.php ConditionInterface
  15. 8.3.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php ConditionInterface
  16. 8.4.x core/lib/Drupal/Core/Condition/ConditionInterface.php ConditionInterface
  17. 8.4.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php ConditionInterface
  18. 8.4.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php ConditionInterface
  19. 8.6.x core/lib/Drupal/Core/Entity/Query/ConditionInterface.php ConditionInterface
  20. 8.6.x core/lib/Drupal/Core/Condition/ConditionInterface.php ConditionInterface
  21. 8.6.x core/lib/Drupal/Core/Database/Query/ConditionInterface.php 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

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\ConditionPluginBase

Related topics

File

core/lib/Drupal/Core/Condition/ConditionInterface.php, line 45

Namespace

Drupal\Core\Condition
View source
interface ConditionInterface extends ExecutableInterface, PluginFormInterface, ConfigurablePluginInterface, 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

Contains filters are case sensitive
Namesort descending Modifiers Type Description Overrides
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. Overrides CacheableDependencyInterface::getCacheContexts
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides CacheableDependencyInterface::getCacheMaxAge
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. Overrides CacheableDependencyInterface::getCacheTags
ConditionInterface::evaluate public function Evaluates the condition and returns TRUE or FALSE accordingly.
ConditionInterface::isNegated public function Determines whether condition result will be negated.
ConditionInterface::setExecutableManager public function Sets the executable manager class.
ConditionInterface::summary public function Provides a human readable summary of the condition's configuration.
ConfigurablePluginInterface::defaultConfiguration public function Gets default configuration for this plugin.
ConfigurablePluginInterface::getConfiguration public function Gets this plugin's configuration.
ConfigurablePluginInterface::setConfiguration public function Sets the configuration for this plugin instance.
DependentPluginInterface::calculateDependencies public function Calculates dependencies for the configured plugin.
ExecutableInterface::execute public function Executes the plugin.
PluginFormInterface::buildConfigurationForm public function Form constructor.
PluginFormInterface::submitConfigurationForm public function Form submission handler.
PluginFormInterface::validateConfigurationForm public function Form validation handler.
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation.
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance.