<?php


namespace iDServer\Saml;

class NameId
{
    /**
     * @var string
     */
    private $format;

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

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

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

    /**
     * @param string $value
     * @param string $spProvidedId
     * @param null $spNameQualifier
     * @param string $format
     */
    public function __construct(string $value, string $spProvidedId = null, $spNameQualifier = null, string $format = null)
    {
        $this->value = $value;
        $this->spProvidedId = $spProvidedId;
        $this->format = $format;
        $this->spNameQualifier = $spNameQualifier;
    }

    /**
     * @return string
     */
    public function getFormat(): ?string
    {
        return $this->format;
    }

    /**
     * @return string
     */
    public function getSpProvidedId(): ?string
    {
        return $this->spProvidedId;
    }

    /**
     * @return string|null
     */
    public function getSPNameQualifier(): ?string
    {
        return $this->spNameQualifier;
    }

    /**
     * @return string
     */
    public function getValue(): ?string
    {
        return $this->value;
    }
}
