Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

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.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal