src/Event/Interfaces/EventInterface.php
<?php
/**
* Phossa Project
*
* PHP version 5.4
*
* @category Library
* @package Phossa2\Event
* @copyright Copyright (c) 2016 phossa.com
* @license http://mit-license.org/ MIT License
* @link http://www.phossa.com/
*/
/*# declare(strict_types=1); */
namespace Phossa2\Event\Interfaces;
/**
* EventInterface
*
* The proposed Psr\EventManager\EventInterface
*
* @package Phossa2\Event
* @author Hong Zhang <phossa@126.com>
* @version 2.1.0
* @since 2.1.0 added
*/
interface EventInterface
{
/**
* Get event name
*
* @return string
*/
public function getName();
/**
* Get target/context from which event was triggered
*
* @return null|string|object
*/
public function getTarget();
/**
* Get parameters passed to the event
*
* @return array
*/
public function getParams();
/**
* Get a single parameter by name
*
* @param string $name
* @return mixed
*/
public function getParam($name);
/**
* Set the event name
*
* @param string $name
* @return void
*/
public function setName($name);
/**
* Set the event target
*
* @param null|string|object $target
* @return void
*/
public function setTarget($target);
/**
* Set event parameters
*
* @param array $params
* @return void
*/
public function setParams(array $params);
/**
* Indicate whether or not to stop propagating this event
*
* @param bool $flag
*/
public function stopPropagation($flag);
/**
* Has this event indicated event propagation should stop?
*
* @return bool
*/
public function isPropagationStopped();
}