<?php


namespace Lackoxygen\GzCbec\Request\Head;


use Lackoxygen\GzCbec\Request\Report\Node\Receiver;
use Lackoxygen\GzCbec\Utils\Collection;

class Head extends Collection
{
    /**
     * @return mixed
     */
    public function getMessageID()
    {
        return $this->mGet(__FUNCTION__);
    }

    /**
     * @param mixed $messageId
     */
    public function setMessageID(): void
    {
        $this->mSet(__FUNCTION__, func_get_arg(0), false);
    }

    /**
     * @return mixed
     */
    public function getMessageType()
    {
        return $this->mGet(__FUNCTION__);
    }

    /**
     * @param mixed $messageType
     */
    public function setMessageType(): void
    {
        $this->mSet(__FUNCTION__, func_get_arg(0), false);
    }

    /**
     * @return mixed
     */
    public function getSender()
    {
        return $this->mGet(__FUNCTION__);
    }

    /**
     * @param mixed $sender
     */
    public function setSender(): void
    {
        $this->mSet(__FUNCTION__, func_get_arg(0), false);
    }

    /**
     * @return mixed
     */
    public function getReceivers()
    {
        return $this->mGet(__FUNCTION__);
    }

    /**
     * @param mixed $receivers
     */
    public function pushReceivers(Receiver $receiver): void
    {
        $this->mPush(__FUNCTION__, $receiver);
    }

    /**
     * @return mixed
     */
    public function getSendTime()
    {
        return $this->mGet(__FUNCTION__);
    }

    /**
     * @param mixed $sendTime
     */
    public function setSendTime(): void
    {
        $this->mSet(__FUNCTION__, func_get_arg(0), false);
    }

    /**
     * @return mixed
     */
    public function getVersion()
    {
        return $this->mGet(__FUNCTION__);
    }

    /**
     * @param mixed $version
     */
    public function setVersion(): void
    {
        $this->mSet(__FUNCTION__, func_get_arg(0), false);
    }

    /**
     * @return mixed
     */
    public function getFileName()
    {
        return $this->mGet(__FUNCTION__);
    }

    /**
     * @param mixed $fileName
     */
    public function setFileName(): void
    {
        $this->mSet(__FUNCTION__, func_get_arg(0), false);
    }

    /**
     * @return mixed
     */
    public function getZipFlag()
    {
        return $this->mGet(__FUNCTION__);
    }

    /**
     * @param mixed $zipFlag
     */
    public function setZipFlag(): void
    {
        $this->mSet(__FUNCTION__, func_get_arg(0), false);
    }


}