Same name in this branch
  1. 10 core/lib/Drupal/Core/Condition/ConditionInterface.php \Drupal\Core\Condition\ConditionInterface
  2. 10 core/lib/Drupal/Core/Database/Query/ConditionInterface.php \Drupal\Core\Database\Query\ConditionInterface
  3. 10 core/lib/Drupal/Core/Entity/Query/ConditionInterface.php \Drupal\Core\Entity\Query\ConditionInterface
Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Condition/ConditionInterface.php \Drupal\Core\Condition\ConditionInterface
  2. 9 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

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\Condition
View 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

Namesort descending Modifiers Type Description Overrides
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 19
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 19
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 12
ConditionInterface::evaluate public function Evaluates the condition and returns TRUE or FALSE accordingly.
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.
ConfigurableInterface::defaultConfiguration public function Gets default configuration for this plugin. 23
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. 16
ExecutableInterface::execute public function Executes the plugin. 2
PluginFormInterface::buildConfigurationForm public function Form constructor. 28
PluginFormInterface::submitConfigurationForm public function Form submission handler. 27
PluginFormInterface::validateConfigurationForm public function Form validation handler. 26
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 4
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2