123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Message;
- /**
- * Abstract message model
- *
- * @api
- * @since 100.0.2
- */
- abstract class AbstractMessage implements MessageInterface
- {
- /**
- * @var string
- */
- protected $text;
- /**
- * @var string
- */
- protected $identifier;
- /**
- * @var bool
- */
- protected $isSticky = false;
- /**
- * @var array
- */
- protected $data;
- /**
- * @param string $text
- */
- public function __construct(
- $text = null
- ) {
- $this->text = $text;
- }
- /**
- * Getter message type
- *
- * @return string
- */
- abstract public function getType();
- /**
- * Getter for text of message
- *
- * @return string
- */
- public function getText()
- {
- return (string)$this->text;
- }
- /**
- * Setter message text
- *
- * @param string $text
- * @return $this
- */
- public function setText($text)
- {
- $this->text = $text;
- return $this;
- }
- /**
- * Setter message identifier
- *
- * @param string $identifier
- * @return $this
- */
- public function setIdentifier($identifier)
- {
- $this->identifier = $identifier;
- return $this;
- }
- /**
- * Getter message identifier
- *
- * @return string
- */
- public function getIdentifier()
- {
- return $this->identifier;
- }
- /**
- * Setter for flag. Whether message is sticky
- *
- * @param bool $isSticky
- * @return $this
- */
- public function setIsSticky($isSticky = true)
- {
- $this->isSticky = $isSticky;
- return $this;
- }
- /**
- * Getter for flag. Whether message is sticky
- *
- * @return bool
- * @SuppressWarnings(PHPMD.BooleanGetMethodName)
- */
- public function getIsSticky()
- {
- return $this->isSticky;
- }
- /**
- * Retrieve message as a string
- *
- * @return string
- */
- public function toString()
- {
- $out = $this->getType() . ': ' . $this->getIdentifier() . ': ' . $this->getText();
- return $out;
- }
- /**
- * Sets message data
- *
- * @param array $data
- * @return $this
- * @throws \InvalidArgumentException
- */
- public function setData(array $data = [])
- {
- array_walk_recursive(
- $data,
- function ($element) {
- if (is_object($element) && !$element instanceof \Serializable) {
- throw new \InvalidArgumentException('Only serializable content is allowed.');
- }
- }
- );
- $this->data = $data;
- return $this;
- }
- /**
- * Returns message data
- *
- * @return array
- */
- public function getData()
- {
- return (array)$this->data;
- }
- }
|