/**
  * @param DomainEventMessage $message
  * @return EventListener[]
  */
 public function locate(DomainEventMessage $message)
 {
     $name = $message->type()->name();
     if (array_key_exists($name, $this->registry)) {
         return $this->registry[$name];
     }
     return [];
 }
Example #2
0
 /**
  * @param DomainEventMessage $message
  * @return void
  */
 public function handle(DomainEventMessage $message)
 {
     $this->apply($message->payload(), $message->metaData());
     $this->events[] = $message;
     $this->process();
 }
 /**
  * @param DomainEventMessage $message
  * @return static
  */
 public static function forMessage(DomainEventMessage $message)
 {
     return new static(sprintf('No handle method for event %s.', $message->type()->name()));
 }
 /**
  * @param DomainEventMessage $message
  * @return SerializedMessageObject
  */
 public function serialize(DomainEventMessage $message)
 {
     $object = $this->serializer->serialize($message->payload());
     return new SerializedMessageObject($message->aggregateId(), $message->sequence(), $object->name(), $object->payload(), $message->metaData()->serialize(), $message->occurredOn()->format(DATE_ISO8601));
 }
 /**
  * @param DomainEventMessage $message
  * @return string
  */
 protected function method(DomainEventMessage $message)
 {
     return 'handle' . $message->type()->name();
 }