Your IP : 127.0.0.1
<?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;
}
}