/** * Constructs QueryMessage * * @param MessageId $id The message ID * @param DateTime $timestamp The timestamp * @param Query $payload The payload * @param MetaData $metaData The meta data */ public function __construct(MessageId $id, DateTime $timestamp, Query $payload, MetaData $metaData) { parent::__construct($id, MessageType::QUERY(), $timestamp, $payload, $metaData); }
/** * Constructs EventMessage * * @param MessageId $id The message ID * @param DateTime $timestamp The timestamp * @param Event $payload The payload * @param MetaData $metaData The meta data */ public function __construct(MessageId $id, DateTime $timestamp, Event $payload, MetaData $metaData) { parent::__construct($id, MessageType::EVENT(), $timestamp, $payload, $metaData); }
/** * Constructs CommandMessage * * @param MessageId $id The message ID * @param DateTime $timestamp The timestamp * @param Command $payload The payload * @param MetaData $metaData The meta data */ public function __construct(MessageId $id, DateTime $timestamp, Command $payload, MetaData $metaData) { parent::__construct($id, MessageType::COMMAND(), $timestamp, $payload, $metaData); }
/** * {@inheritdoc} */ public function toArray() : array { return ['id' => $this->id->toString(), 'type' => $this->type->value(), 'timestamp' => $this->timestamp->toString(), 'meta_data' => $this->metaData->toArray(), 'payload_type' => $this->payloadType->toString(), 'payload' => $this->payload->toArray()]; }