ContextAwarePluginDefinitionInterface.php

Same filename and directory in other branches
  1. 8.9.x core/lib/Drupal/Component/Plugin/Definition/ContextAwarePluginDefinitionInterface.php
  2. 10 core/lib/Drupal/Component/Plugin/Definition/ContextAwarePluginDefinitionInterface.php
  3. 11.x core/lib/Drupal/Component/Plugin/Definition/ContextAwarePluginDefinitionInterface.php

Namespace

Drupal\Component\Plugin\Definition

File

core/lib/Drupal/Component/Plugin/Definition/ContextAwarePluginDefinitionInterface.php

View source
<?php

namespace Drupal\Component\Plugin\Definition;

use Drupal\Component\Plugin\Context\ContextDefinitionInterface;

/**
 * Provides an interface for plugin definitions which use contexts.
 *
 * @ingroup Plugin
 */
interface ContextAwarePluginDefinitionInterface extends PluginDefinitionInterface {
    
    /**
     * Checks if the plugin defines a particular context.
     *
     * @param string $name
     *   The context name.
     *
     * @return bool
     *   TRUE if the plugin defines the given context, otherwise FALSE.
     */
    public function hasContextDefinition($name);
    
    /**
     * Returns all context definitions for this plugin.
     *
     * @return \Drupal\Component\Plugin\Context\ContextDefinitionInterface[]
     *   The context definitions.
     */
    public function getContextDefinitions();
    
    /**
     * Returns a particular context definition for this plugin.
     *
     * @param string $name
     *   The context name.
     *
     * @return \Drupal\Component\Plugin\Context\ContextDefinitionInterface
     *   The context definition.
     *
     * @throws \Drupal\Component\Plugin\Exception\ContextException
     *   Thrown if the plugin does not define the given context.
     */
    public function getContextDefinition($name);
    
    /**
     * Adds a context to this plugin definition.
     *
     * @param string $name
     *   The context name.
     * @param \Drupal\Component\Plugin\Context\ContextDefinitionInterface $definition
     *   The context definition.
     *
     * @return $this
     *   The called object.
     */
    public function addContextDefinition($name, ContextDefinitionInterface $definition);
    
    /**
     * Removes a context definition from this plugin.
     *
     * @param string $name
     *   The context name.
     *
     * @return $this
     *   The called object.
     */
    public function removeContextDefinition($name);

}

Interfaces

Title Deprecated Summary
ContextAwarePluginDefinitionInterface Provides an interface for plugin definitions which use contexts.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.