Version 1
[yaffs-website] / web / core / lib / Drupal / Component / Plugin / Context / ContextInterface.php
diff --git a/web/core/lib/Drupal/Component/Plugin/Context/ContextInterface.php b/web/core/lib/Drupal/Component/Plugin/Context/ContextInterface.php
new file mode 100644 (file)
index 0000000..605c658
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+
+namespace Drupal\Component\Plugin\Context;
+
+/**
+ * Provides data and definitions for plugins during runtime and administration.
+ *
+ * Plugin contexts are satisfied by ContextInterface implementing objects.
+ * These objects always contain a definition of what data they will provide
+ * during runtime. During run time, ContextInterface implementing objects must
+ * also provide the corresponding data value.
+ *
+ * @see \Drupal\Component\Plugin\Context\ContextDefinitionInterface
+ */
+interface ContextInterface {
+
+  /**
+   * Gets the context value.
+   *
+   * @return mixed
+   *   The currently set context value, or NULL if it is not set.
+   */
+  public function getContextValue();
+
+  /**
+   * Returns whether the context has a value.
+   *
+   * @return bool
+   *   TRUE if the context has a value, FALSE otherwise.
+   */
+  public function hasContextValue();
+
+  /**
+   * Gets the provided definition that the context must conform to.
+   *
+   * @return \Drupal\Component\Plugin\Context\ContextDefinitionInterface
+   *   The defining characteristic representation of the context.
+   */
+  public function getContextDefinition();
+
+  /**
+   * Gets a list of validation constraints.
+   *
+   * @return array
+   *   Array of constraints, each being an instance of
+   *   \Symfony\Component\Validator\Constraint.
+   */
+  public function getConstraints();
+
+  /**
+   * Validates the set context value.
+   *
+   * @return \Symfony\Component\Validator\ConstraintViolationListInterface
+   *   A list of constraint violations. If the list is empty, validation
+   *   succeeded.
+   */
+  public function validate();
+
+}