Version 1
[yaffs-website] / web / core / lib / Drupal / Core / Form / FormAjaxException.php
diff --git a/web/core/lib/Drupal/Core/Form/FormAjaxException.php b/web/core/lib/Drupal/Core/Form/FormAjaxException.php
new file mode 100644 (file)
index 0000000..a966736
--- /dev/null
@@ -0,0 +1,64 @@
+<?php
+
+namespace Drupal\Core\Form;
+
+/**
+ * Custom exception to break out of AJAX form processing.
+ */
+class FormAjaxException extends \Exception {
+
+  /**
+   * The form definition.
+   *
+   * @var array
+   */
+  protected $form;
+
+  /**
+   * The form state.
+   *
+   * @var \Drupal\Core\Form\FormStateInterface
+   */
+  protected $formState;
+
+  /**
+   * Constructs a FormAjaxException object.
+   *
+   * @param array $form
+   *   The form definition.
+   * @param \Drupal\Core\Form\FormStateInterface $form_state
+   *   The form state.
+   * @param string $message
+   *   (optional) The exception message.
+   * @param int $code
+   *   (optional) A user defined exception code.
+   * @param \Exception $previous
+   *   (optional) The previous exception for nested exceptions.
+   */
+  public function __construct(array $form, FormStateInterface $form_state, $message = "", $code = 0, \Exception $previous = NULL) {
+    parent::__construct($message, $code, $previous);
+    $this->form = $form;
+    $this->formState = $form_state;
+  }
+
+  /**
+   * Gets the form definition.
+   *
+   * @return array
+   *   The form structure.
+   */
+  public function getForm() {
+    return $this->form;
+  }
+
+  /**
+   * Gets the form state.
+   *
+   * @return \Drupal\Core\Form\FormStateInterface
+   *   The current state of the form.
+   */
+  public function getFormState() {
+    return $this->formState;
+  }
+
+}