summaryrefslogtreecommitdiffstats
path: root/core/lib/Drupal/Core/Messenger/MessengerInterface.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/lib/Drupal/Core/Messenger/MessengerInterface.php')
-rw-r--r--core/lib/Drupal/Core/Messenger/MessengerInterface.php84
1 files changed, 84 insertions, 0 deletions
diff --git a/core/lib/Drupal/Core/Messenger/MessengerInterface.php b/core/lib/Drupal/Core/Messenger/MessengerInterface.php
new file mode 100644
index 0000000..da36f04
--- /dev/null
+++ b/core/lib/Drupal/Core/Messenger/MessengerInterface.php
@@ -0,0 +1,84 @@
+<?php
+
+namespace Drupal\Core\Messenger;
+
+/**
+ * Stores runtime messages sent out to individual users on the page.
+ *
+ * An example for these messages is for example: "Content X got saved".
+ */
+interface MessengerInterface {
+
+ /**
+ * A status message.
+ */
+ const TYPE_STATUS = 'status';
+
+ /**
+ * A warning.
+ */
+ const TYPE_WARNING = 'warning';
+
+ /**
+ * An error.
+ */
+ const TYPE_ERROR = 'error';
+
+ /**
+ * Adds a new message to the queue.
+ *
+ * @param string|\Drupal\Component\Render\MarkupInterface $message
+ * (optional) The translated message to be displayed to the user. For
+ * consistency with other messages, it should begin with a capital letter
+ * and end with a period.
+ * @param string $type
+ * (optional) The message's type. Either self::TYPE_STATUS,
+ * self::TYPE_WARNING, or self::TYPE_ERROR.
+ * @param bool $repeat
+ * (optional) If this is FALSE and the message is already set, then the
+ * message won't be repeated. Defaults to FALSE.
+ *
+ * @return $this
+ */
+ public function addMessage($message, $type = self::TYPE_STATUS, $repeat = FALSE);
+
+ /**
+ * Gets all messages.
+ *
+ * @return string[][]|\Drupal\Component\Render\MarkupInterface[][]
+ * Keys are message types and values are indexed arrays of messages. Message
+ * types are either self::TYPE_STATUS, self::TYPE_WARNING, or
+ * self::TYPE_ERROR.
+ */
+ public function getMessages();
+
+ /**
+ * Gets all messages of a certain type.
+ *
+ * @param string $type
+ * The messages' type. Either self::TYPE_STATUS, self::TYPE_WARNING,
+ * or self::TYPE_ERROR.
+ *
+ * @return string[]|\Drupal\Component\Render\MarkupInterface[]
+ */
+ public function getMessagesByType($type);
+
+ /**
+ * Deletes all messages.
+ *
+ * @return $this
+ */
+ public function deleteMessages();
+
+ /**
+ * Deletes all messages of a certain type.
+ *
+ * @param string $type
+ * The messages' type. Either self::TYPE_STATUS, self::TYPE_WARNING, or
+ * self::TYPE_ERROR.
+ *
+ * @return $this
+ */
+ public function deleteMessagesByType($type);
+
+}