Spaces:
Sleeping
Sleeping
processmaker-community / processmaker-files /vendor /symfony /http-kernel /DataCollector /EventDataCollector.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\HttpKernel\DataCollector; | |
| use Symfony\Component\HttpFoundation\Request; | |
| use Symfony\Component\HttpFoundation\Response; | |
| use Symfony\Component\EventDispatcher\EventDispatcherInterface; | |
| use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface; | |
| /** | |
| * EventDataCollector. | |
| * | |
| * @author Fabien Potencier <fabien@symfony.com> | |
| */ | |
| class EventDataCollector extends DataCollector implements LateDataCollectorInterface | |
| { | |
| protected $dispatcher; | |
| public function __construct(EventDispatcherInterface $dispatcher = null) | |
| { | |
| $this->dispatcher = $dispatcher; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function collect(Request $request, Response $response, \Exception $exception = null) | |
| { | |
| $this->data = array( | |
| 'called_listeners' => array(), | |
| 'not_called_listeners' => array(), | |
| ); | |
| } | |
| public function lateCollect() | |
| { | |
| if ($this->dispatcher instanceof TraceableEventDispatcherInterface) { | |
| $this->setCalledListeners($this->dispatcher->getCalledListeners()); | |
| $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners()); | |
| } | |
| $this->data = $this->cloneVar($this->data); | |
| } | |
| /** | |
| * Sets the called listeners. | |
| * | |
| * @param array $listeners An array of called listeners | |
| * | |
| * @see TraceableEventDispatcherInterface | |
| */ | |
| public function setCalledListeners(array $listeners) | |
| { | |
| $this->data['called_listeners'] = $listeners; | |
| } | |
| /** | |
| * Gets the called listeners. | |
| * | |
| * @return array An array of called listeners | |
| * | |
| * @see TraceableEventDispatcherInterface | |
| */ | |
| public function getCalledListeners() | |
| { | |
| return $this->data['called_listeners']; | |
| } | |
| /** | |
| * Sets the not called listeners. | |
| * | |
| * @param array $listeners An array of not called listeners | |
| * | |
| * @see TraceableEventDispatcherInterface | |
| */ | |
| public function setNotCalledListeners(array $listeners) | |
| { | |
| $this->data['not_called_listeners'] = $listeners; | |
| } | |
| /** | |
| * Gets the not called listeners. | |
| * | |
| * @return array An array of not called listeners | |
| * | |
| * @see TraceableEventDispatcherInterface | |
| */ | |
| public function getNotCalledListeners() | |
| { | |
| return $this->data['not_called_listeners']; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getName() | |
| { | |
| return 'events'; | |
| } | |
| } | |