/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Workflow/Event/GuardEvent.php
76 строк
2 KB
Alexander Schranz
Add default generic types to Workflow Events
11 авг 2026, 16:15
11 авг 2026, 16:15
eac6e8a
Код
Авторство
О чём код?
<?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\Workflow\Event; use Symfony\Component\Workflow\Marking; use Symfony\Component\Workflow\Transition; use Symfony\Component\Workflow\TransitionBlocker; use Symfony\Component\Workflow\TransitionBlockerList; use Symfony\Component\Workflow\WorkflowInterface; /** * @author Fabien Potencier <fabien@symfony.com> * @author Grégoire Pineau <lyrixx@lyrixx.info> * * @template T of object = object * * @extends Event<T> */ final class GuardEvent extends Event { use EventNameTrait { getNameForTransition as public getName; } private TransitionBlockerList $transitionBlockerList; /** * @param T $subject */ public function __construct(object $subject, Marking $marking, Transition $transition, ?WorkflowInterface $workflow = null) { parent::__construct($subject, $marking, $transition, $workflow); $this->transitionBlockerList = new TransitionBlockerList(); } public function getTransition(): Transition { return parent::getTransition(); } public function isBlocked(): bool { return !$this->transitionBlockerList->isEmpty(); } public function setBlocked(bool $blocked, ?string $message = null): void { if (!$blocked) { $this->transitionBlockerList->clear(); return; } $this->transitionBlockerList->add(TransitionBlocker::createUnknown($message)); } public function getTransitionBlockerList(): TransitionBlockerList { return $this->transitionBlockerList; } public function addTransitionBlocker(TransitionBlocker $transitionBlocker): void { $this->transitionBlockerList->add($transitionBlocker); } }