<?php

namespace App\Classes\Modules\PackingLists\DataTransferObjects;

use App\Classes\General\Interfaces\DataTransferObject;

class PackingListObject implements DataTransferObject
{

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

    /** @var int */
    private $claimantId;

    /** @var int */
    private $type;

    /** @var int  */
    private $status;

    /** @var string|null */
    private $contractReference;

    /**
     * PackingListObject constructor.
     * @param string $reference
     * @param int $claimantId
     * @param int $type
     * @param int $status
     * @param null|string $contractReference
     */
    public function __construct(string $reference, ?int $claimantId, int $type, int $status, ?string $contractReference = null)
    {
        $this->reference = $reference;
        $this->claimantId = $claimantId;
        $this->type = $type;
        $this->status = $status;
        $this->contractReference = $contractReference;
    }

    /**
     * @return string
     */
    public function getReference(): string
    {
        return $this->reference;
    }

    /**
     * @return int
     */
    public function getClaimantId(): ?int
    {
        return $this->claimantId;
    }

    /**
     * @return int
     */
    public function getType(): int
    {
        return $this->type;
    }

    /**
     * @return int
     */
    public function getStatus(): int
    {
        return $this->status;
    }

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


}
