<?php
namespace Fifa\ConnectId\Sdk\Model;
use Fifa\ConnectServiceBus\Sdk\Message\Message;

/**
 * Class PersonDetailsRequest
 * @package Fifa\ConnectId\Sdk\Model
 */
class PersonDetailsRequest
{
    /**
     * @var string
     */
    private $replyTo;

    /**
     * @var string
     */
    private $uniqueFifaId;

    /**
     * @var string
     */
    private $correlationId;

    /**
     * @var Message
     */
    private $rawMessage;

    /**
     * Constructor
     *
     * @param string $replyTo
     * @param string $uniqueFifaId
     * @param string $correlationId
     * @param Message $rawMessage
     */
    public function __construct(string $replyTo, string $uniqueFifaId, string $correlationId, Message $rawMessage)
    {
        $this->replyTo = $replyTo;
        $this->uniqueFifaId = $uniqueFifaId;
        $this->correlationId = $correlationId;
        $this->rawMessage = $rawMessage;
    }

    /**
     * String representation of the object
     *
     * @return string
     */
    public function __toString()
    {
        return 'ReplyTo: ' . $this->getReplyTo() . ', UniqueFifaId: ' . $this->getUniqueFifaId() . ', CorrelationId: ' . $this->getCorrelationId();
    }

    /**
     * Getter for replyTo
     *
     * @return string
     */
    public function getReplyTo(): string
    {
        return $this->replyTo;
    }

    /**
     * Getter for unique fifa id
     *
     * @return string
     */
    public function getUniqueFifaId(): string
    {
        return $this->uniqueFifaId;
    }

    /**
     * Getter for correlation id
     *
     * @return string
     */
    public function getCorrelationId(): string
    {
        return $this->correlationId;
    }

    /**
     * Getter for raw message
     *
     * @return string
     */
    public function getRawMessage(): string {
        return $this->rawMessage;
    }
}