2014-02-18 18:15:12 +01:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
namespace Symfony\Component\EventDispatcher ;
/**
* Event is the base class for classes containing event data .
*
* This class contains no event data . It is used by events that do not pass
* state information to an event handler when an event is raised .
*
* You can call the method stopPropagation () to abort the execution of
* further listeners in your event listener .
*
2015-01-19 11:11:45 +01:00
* @ author Guilherme Blanco < guilhermeblanco @ hotmail . com >
* @ author Jonathan Wage < jonwage @ gmail . com >
* @ author Roman Borschel < roman @ code - factory . org >
* @ author Bernhard Schussek < bschussek @ gmail . com >
2014-02-18 18:15:12 +01:00
*
* @ api
*/
class Event
{
/**
2015-01-19 11:11:45 +01:00
* @ var bool Whether no further event listeners should be triggered
2014-02-18 18:15:12 +01:00
*/
private $propagationStopped = false ;
/**
* @ var EventDispatcher Dispatcher that dispatched this event
*/
private $dispatcher ;
/**
* @ var string This event ' s name
*/
private $name ;
/**
* Returns whether further event listeners should be triggered .
*
2015-01-19 11:11:45 +01:00
* @ see Event :: stopPropagation ()
*
* @ return bool Whether propagation was already stopped for this event .
2014-02-18 18:15:12 +01:00
*
* @ api
*/
public function isPropagationStopped ()
{
return $this -> propagationStopped ;
}
/**
* Stops the propagation of the event to further event listeners .
*
* If multiple event listeners are connected to the same event , no
* further event listener will be triggered once any trigger calls
* stopPropagation () .
*
* @ api
*/
public function stopPropagation ()
{
$this -> propagationStopped = true ;
}
/**
2015-01-19 11:11:45 +01:00
* Stores the EventDispatcher that dispatches this Event .
2014-02-18 18:15:12 +01:00
*
* @ param EventDispatcherInterface $dispatcher
*
2015-06-19 18:51:09 +02:00
* @ deprecated since version 2.4 , to be removed in 3.0 . The event dispatcher is passed to the listener call .
2014-02-18 18:15:12 +01:00
*
* @ api
*/
public function setDispatcher ( EventDispatcherInterface $dispatcher )
{
$this -> dispatcher = $dispatcher ;
}
/**
2015-01-19 11:11:45 +01:00
* Returns the EventDispatcher that dispatches this Event .
2014-02-18 18:15:12 +01:00
*
* @ return EventDispatcherInterface
*
2015-06-19 18:51:09 +02:00
* @ deprecated since version 2.4 , to be removed in 3.0 . The event dispatcher is passed to the listener call .
2014-02-18 18:15:12 +01:00
*
* @ api
*/
public function getDispatcher ()
{
2015-06-19 18:51:09 +02:00
@ trigger_error ( 'The ' . __METHOD__ . ' method is deprecated since version 2.4 and will be removed in 3.0. The event dispatcher instance can be received in the listener call instead.' , E_USER_DEPRECATED );
2014-02-18 18:15:12 +01:00
return $this -> dispatcher ;
}
/**
* Gets the event ' s name .
*
* @ return string
*
2015-06-19 18:51:09 +02:00
* @ deprecated since version 2.4 , to be removed in 3.0 . The event name is passed to the listener call .
2014-02-18 18:15:12 +01:00
*
* @ api
*/
public function getName ()
{
2015-06-19 18:51:09 +02:00
@ trigger_error ( 'The ' . __METHOD__ . ' method is deprecated since version 2.4 and will be removed in 3.0. The event name can be received in the listener call instead.' , E_USER_DEPRECATED );
2014-02-18 18:15:12 +01:00
return $this -> name ;
}
/**
* Sets the event ' s name property .
*
* @ param string $name The event name .
*
2015-06-19 18:51:09 +02:00
* @ deprecated since version 2.4 , to be removed in 3.0 . The event name is passed to the listener call .
2014-02-18 18:15:12 +01:00
*
* @ api
*/
public function setName ( $name )
{
$this -> name = $name ;
}
}