<?php

namespace Dalten\RuianToUir\Converter\Result;

/**
 * Created by PhpStorm.
 * User: karel
 * Date: 16.03.2017
 * Time: 11:47.
 */
class CodebookItem
{
    /** @var string Název číselníku. */
    private readonly string $codebookName;

    /** @var string Hodnota položky. */
    private readonly string $value;

    /** @var string Název položky. */
    private readonly string $label;

    /**
     * CodebookItem constructor.
     *
     * @param string $codebookName název číselníku
     * @param string $value        hodnota položky
     * @param string $label        název položky
     * @param bool   $isValid      Je položka platná?
     */
    public function __construct(
        string $codebookName,
        string $value,
        string $label,
        private readonly bool $isValid = true,
    ) {
        $this->codebookName = trim($codebookName);
        $this->value = trim($value);
        $this->label = trim($label);
    }

    /**
     * @return string název číselníku
     */
    public function getCodebookName(): string
    {
        return $this->codebookName;
    }

    /**
     * @return string hodnota položky
     */
    public function getValue(): string
    {
        return $this->value;
    }

    /**
     * @return string název položky
     */
    public function getLabel(): string
    {
        return $this->label;
    }

    /**
     * @return bool Je položka platná?
     */
    public function isValid(): bool
    {
        return $this->isValid;
    }
}
