<?php namespace App\Entities\CEP;

use App\Utils\Builder;

class CEPBuilder implements Builder
{
    private $id;
    private $cep;
    private $cidade;
    private $bairro;
    private $estado;
    private $logradouro;

    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    public function setCep(string $cep) : CEPBuilder
    {
        $this->cep = $cep;
        return $this;
    }

    public function setCidade(string $cidade) : CEPBuilder
    {
        $this->cidade = $cidade;
        return $this;
    }

    public function setBairro(string $bairro) : CEPBuilder
    {
        $this->bairro = $bairro;
        return $this;
    }

    public function setEstado(string $estado) : CEPBuilder
    {
        $this->estado = $estado;
        return $this;
    }

    public function setLogradouro(string $logradouro) : CEPBuilder
    {
        $this->logradouro = $logradouro;
        return $this;
    }


    public function build () : CEP {
        $cep = new CEP();
        $cep->setId($this->id);
        $cep->setCep($this->cep);
        $cep->setCidade($this->cidade);
        $cep->setBairro($this->bairro);
        $cep->setEstado($this->estado);
        $cep->setLogradouro($this->logradouro);
        return $cep;
    }

}