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\Core\Executable\ExecutableInterface; interface \Drupal\Core\Plugin\PluginFormInterface; interface \Drupal\Component\Plugin\ConfigurablePluginInterface; interface \Drupal\Component\Plugin\PluginInspectionInterface; interface \Drupal\Core\Cache\CacheableDependencyInterface

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

Plugin API
Using the Plugin API

File

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

Namespace

Drupal\Core\Condition

Members

Name Modifiers Type Description
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object.
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached.
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object.
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.
doc_Drupal
2016-10-29 08:51:59
Comments
Leave a Comment

Please login to continue.