Same filename and directory in other branches
  1. 8.9.x core/lib/Drupal/Component/Plugin/Definition/PluginDefinitionInterface.php
  2. 9 core/lib/Drupal/Component/Plugin/Definition/PluginDefinitionInterface.php

Namespace

Drupal\Component\Plugin\Definition

File

core/lib/Drupal/Component/Plugin/Definition/PluginDefinitionInterface.php
View source
<?php

namespace Drupal\Component\Plugin\Definition;


/**
 * Defines a plugin definition.
 *
 * Object-based plugin definitions MUST implement this interface.
 *
 * @ingroup Plugin
 */
interface PluginDefinitionInterface {

  /**
   * Gets the unique identifier of the plugin.
   *
   * @return string
   *   The unique identifier of the plugin.
   */
  public function id();

  /**
   * Sets the class.
   *
   * @param string $class
   *   A fully qualified class name.
   *
   * @return static
   *
   * @throws \InvalidArgumentException
   *   If the class is invalid.
   */
  public function setClass($class);

  /**
   * Gets the class.
   *
   * @return string
   *   A fully qualified class name.
   */
  public function getClass();

  /**
   * Gets the plugin provider.
   *
   * The provider is the name of the module that provides the plugin, or "core',
   * or "component".
   *
   * @return string
   *   The provider.
   */
  public function getProvider();

}

Interfaces

Namesort descending Description
PluginDefinitionInterface Defines a plugin definition.