vendor/symfony/messenger/Stamp/HandledStamp.php line 28

  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\Messenger\Stamp;
  11. use Symfony\Component\Messenger\Handler\HandlerDescriptor;
  12. /**
  13.  * Stamp identifying a message handled by the `HandleMessageMiddleware` middleware
  14.  * and storing the handler returned value.
  15.  *
  16.  * This is used by synchronous command buses expecting a return value and the retry logic
  17.  * to only execute handlers that didn't succeed.
  18.  *
  19.  * @see \Symfony\Component\Messenger\Middleware\HandleMessageMiddleware
  20.  * @see \Symfony\Component\Messenger\HandleTrait
  21.  *
  22.  * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
  23.  */
  24. final class HandledStamp implements StampInterface
  25. {
  26.     private mixed $result;
  27.     private string $handlerName;
  28.     public function __construct(mixed $resultstring $handlerName)
  29.     {
  30.         $this->result $result;
  31.         $this->handlerName $handlerName;
  32.     }
  33.     public static function fromDescriptor(HandlerDescriptor $handlermixed $result): self
  34.     {
  35.         return new self($result$handler->getName());
  36.     }
  37.     public function getResult(): mixed
  38.     {
  39.         return $this->result;
  40.     }
  41.     public function getHandlerName(): string
  42.     {
  43.         return $this->handlerName;
  44.     }
  45. }