Version 1
[yaffs-website] / web / core / lib / Drupal / Component / Plugin / Definition / PluginDefinitionInterface.php
diff --git a/web/core/lib/Drupal/Component/Plugin/Definition/PluginDefinitionInterface.php b/web/core/lib/Drupal/Component/Plugin/Definition/PluginDefinitionInterface.php
new file mode 100644 (file)
index 0000000..4599a0b
--- /dev/null
@@ -0,0 +1,54 @@
+<?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();
+
+}