<?php
use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for WynikWyszukiwaniaKluczyReceptUslugobiorcyMT StructType
 * Meta information extracted from the WSDL
 * - documentation: Wynik pojedynczego rekordu dla operacji wyszukiwania kluczy recept usługobiorcy.
 * @subpackage Structs
 */
class WynikWyszukiwaniaKluczyReceptUslugobiorcyMT extends AbstractStructBase
{
    /**
     * The kluczRecepty
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $kluczRecepty;
    /**
     * The dataWystawienia
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $dataWystawienia;
    /**
     * The imieNazwiskoWystawcy
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $imieNazwiskoWystawcy;
    /**
     * The nazwaLeku
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $nazwaLeku;
    /**
     * The status
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $status;
    /**
     * The dataRealizacjiOd
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $dataRealizacjiOd;
    /**
     * Constructor method for WynikWyszukiwaniaKluczyReceptUslugobiorcyMT
     * @uses WynikWyszukiwaniaKluczyReceptUslugobiorcyMT::setKluczRecepty()
     * @uses WynikWyszukiwaniaKluczyReceptUslugobiorcyMT::setDataWystawienia()
     * @uses WynikWyszukiwaniaKluczyReceptUslugobiorcyMT::setImieNazwiskoWystawcy()
     * @uses WynikWyszukiwaniaKluczyReceptUslugobiorcyMT::setNazwaLeku()
     * @uses WynikWyszukiwaniaKluczyReceptUslugobiorcyMT::setStatus()
     * @uses WynikWyszukiwaniaKluczyReceptUslugobiorcyMT::setDataRealizacjiOd()
     * @param string $kluczRecepty
     * @param string $dataWystawienia
     * @param string $imieNazwiskoWystawcy
     * @param string $nazwaLeku
     * @param string $status
     * @param string $dataRealizacjiOd
     */
    public function __construct($kluczRecepty = null, $dataWystawienia = null, $imieNazwiskoWystawcy = null, $nazwaLeku = null, $status = null, $dataRealizacjiOd = null)
    {
        $this
            ->setKluczRecepty($kluczRecepty)
            ->setDataWystawienia($dataWystawienia)
            ->setImieNazwiskoWystawcy($imieNazwiskoWystawcy)
            ->setNazwaLeku($nazwaLeku)
            ->setStatus($status)
            ->setDataRealizacjiOd($dataRealizacjiOd);
    }
    /**
     * Get kluczRecepty value
     * @return string
     */
    public function getKluczRecepty()
    {
        return $this->kluczRecepty;
    }
    /**
     * Set kluczRecepty value
     * @param string $kluczRecepty
     * @return WynikWyszukiwaniaKluczyReceptUslugobiorcyMT
     */
    public function setKluczRecepty($kluczRecepty = null)
    {
        // validation for constraint: string
        if (!is_null($kluczRecepty) && !is_string($kluczRecepty)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($kluczRecepty, true), gettype($kluczRecepty)), __LINE__);
        }
        $this->kluczRecepty = $kluczRecepty;
        return $this;
    }
    /**
     * Get dataWystawienia value
     * @return string
     */
    public function getDataWystawienia()
    {
        return $this->dataWystawienia;
    }
    /**
     * Set dataWystawienia value
     * @param string $dataWystawienia
     * @return WynikWyszukiwaniaKluczyReceptUslugobiorcyMT
     */
    public function setDataWystawienia($dataWystawienia = null)
    {
        // validation for constraint: string
        if (!is_null($dataWystawienia) && !is_string($dataWystawienia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dataWystawienia, true), gettype($dataWystawienia)), __LINE__);
        }
        $this->dataWystawienia = $dataWystawienia;
        return $this;
    }
    /**
     * Get imieNazwiskoWystawcy value
     * @return string
     */
    public function getImieNazwiskoWystawcy()
    {
        return $this->imieNazwiskoWystawcy;
    }
    /**
     * Set imieNazwiskoWystawcy value
     * @param string $imieNazwiskoWystawcy
     * @return WynikWyszukiwaniaKluczyReceptUslugobiorcyMT
     */
    public function setImieNazwiskoWystawcy($imieNazwiskoWystawcy = null)
    {
        // validation for constraint: string
        if (!is_null($imieNazwiskoWystawcy) && !is_string($imieNazwiskoWystawcy)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($imieNazwiskoWystawcy, true), gettype($imieNazwiskoWystawcy)), __LINE__);
        }
        $this->imieNazwiskoWystawcy = $imieNazwiskoWystawcy;
        return $this;
    }
    /**
     * Get nazwaLeku value
     * @return string
     */
    public function getNazwaLeku()
    {
        return $this->nazwaLeku;
    }
    /**
     * Set nazwaLeku value
     * @param string $nazwaLeku
     * @return WynikWyszukiwaniaKluczyReceptUslugobiorcyMT
     */
    public function setNazwaLeku($nazwaLeku = null)
    {
        // validation for constraint: string
        if (!is_null($nazwaLeku) && !is_string($nazwaLeku)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($nazwaLeku, true), gettype($nazwaLeku)), __LINE__);
        }
        $this->nazwaLeku = $nazwaLeku;
        return $this;
    }
    /**
     * Get status value
     * @return string
     */
    public function getStatus()
    {
        return $this->status;
    }
    /**
     * Set status value
     * @param string $status
     * @return WynikWyszukiwaniaKluczyReceptUslugobiorcyMT
     */
    public function setStatus($status = null)
    {
        // validation for constraint: string
        if (!is_null($status) && !is_string($status)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($status, true), gettype($status)), __LINE__);
        }
        $this->status = $status;
        return $this;
    }
    /**
     * Get dataRealizacjiOd value
     * @return string|null
     */
    public function getDataRealizacjiOd()
    {
        return $this->dataRealizacjiOd;
    }
    /**
     * Set dataRealizacjiOd value
     * @param string $dataRealizacjiOd
     * @return WynikWyszukiwaniaKluczyReceptUslugobiorcyMT
     */
    public function setDataRealizacjiOd($dataRealizacjiOd = null)
    {
        // validation for constraint: string
        if (!is_null($dataRealizacjiOd) && !is_string($dataRealizacjiOd)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dataRealizacjiOd, true), gettype($dataRealizacjiOd)), __LINE__);
        }
        $this->dataRealizacjiOd = $dataRealizacjiOd;
        return $this;
    }
}
