<?php
namespace App\Entities\DocumentoAnexo;

use App\Utils\Builder;
use App\Utils\Entity;

class DocumentoAnexoBuilder implements Builder
{
    protected $id;
    protected $url;
    protected $descricao;
    protected $id_cliente;
    protected $id_pet;
    protected $criado_em;

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @param mixed $id
     * @return DocumentoAnexoBuilder
     */
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getUrl()
    {
        return $this->url;
    }

    /**
     * @param mixed $url
     * @return DocumentoAnexoBuilder
     */
    public function setUrl($url)
    {
        $this->url = $url;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getDescricao()
    {
        return $this->descricao;
    }

    /**
     * @param mixed $descricao
     * @return DocumentoAnexoBuilder
     */
    public function setDescricao($descricao)
    {
        $this->descricao = $descricao;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getIdCliente()
    {
        return $this->id_cliente;
    }

    /**
     * @param mixed $id_cliente
     * @return DocumentoAnexoBuilder
     */
    public function setIdCliente($id_cliente)
    {
        $this->id_cliente = $id_cliente;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getIdPet()
    {
        return $this->id_pet;
    }

    /**
     * @param mixed $id_pet
     * @return DocumentoAnexoBuilder
     */
    public function setIdPet($id_pet)
    {
        $this->id_pet = $id_pet;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getCriadoEm()
    {
        return $this->criado_em;
    }

    /**
     * @param mixed $criado_em
     * @return DocumentoAnexoBuilder
     */
    public function setCriadoEm($criado_em)
    {
        $this->criado_em = $criado_em;
        return $this;
    }

    public function build() : DocumentoAnexo
    {
        $procedimento = new DocumentoAnexo();
        if (isset($this->id)) {
            $procedimento->setid($this->id);
        }
        if (isset($this->descricao)) {
            $procedimento->setDescricao($this->descricao);
        }
        if (isset($this->id_cliente)) {
            $procedimento->setIdCliente($this->id_cliente);
        }
        if (isset($this->id_pet)) {
            $procedimento->setIdPet($this->id_pet);
        }
        if (isset($this->criado_em)) {
            $procedimento->setCriadoEm($this->criado_em);
        }
        if (isset($this->url)) {
            $procedimento->setUrl($this->url);
        }
        return $procedimento;
    }
}