<?php

namespace App\Classes\Modules\Contacts\DataTransferObjects;

class ContactObject
{

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

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

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

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

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

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

    /**
     * ContactObject constructor.
     * @param int $type
     * @param int $referenceId
     * @param string $name
     * @param null|string $contact
     * @param null|string $email
     * @param null|string $designation
     */
    public function __construct(int $type, int $referenceId, string $name, ?string $contact = null, ?string $email = null, ?string $designation = null)
    {
        $this->type = $type;
        $this->referenceId = $referenceId;
        $this->name = $name;
        $this->contact = $contact;
        $this->email = $email;
        $this->designation = $designation;
    }

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

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

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

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

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

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


}