<?php

namespace App\ViewModels\TipoExtorno\TipoExtornoDetailsViewModel;

use App\Utils\Builder;

class TipoExtornoDetailsViewModelBuilder implements Builder {
	protected $id;
	protected $descricao;
	protected $criado_por;
	protected $data_criacao;
	protected $hora_criacao;

	public function build(): TipoExtornoDetailsViewModel {

		$tipo_extorno_details_vm = new TipoExtornoDetailsViewModel();
		$tipo_extorno_details_vm->setId( $this->id );
		$tipo_extorno_details_vm->setDescricao( $this->descricao );
		$tipo_extorno_details_vm->setCriadoPor( $this->criado_por );
		$tipo_extorno_details_vm->setDataCriacao( $this->data_criacao );
		$tipo_extorno_details_vm->setHoraCriacao( $this->hora_criacao );
		return $tipo_extorno_details_vm;

	}

	public function setId(int $id): TipoExtornoDetailsViewModelBuilder {

		$this->id = $id;
		return $this;

	}

	public function setDescricao(string $descricao): TipoExtornoDetailsViewModelBuilder {

		$this->descricao = $descricao;
		return $this;

	}

	/**
	 *
	 * @param mixed $criado_por
	 */
	public function setCriadoPor($criado_por) {

		$this->criado_por = $criado_por;
		return $this;

	}

	/**
	 *
	 * @param mixed $data_criacao
	 */
	public function setDataCriacao($data_criacao) {

		$this->data_criacao = $data_criacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $hora_criacao
	 */
	public function setHoraCriacao($hora_criacao) {

		$this->hora_criacao = $hora_criacao;
		return $this;

	}

}