<?php

namespace App\ViewModels\PagSeguro\PagSeguroNotificationCreditCard;

use App\Utils\Builder;

class PagSeguroCustomerViewModelBuilder implements Builder {
	protected $name;
	protected $email;
	protected $tax_id;
	protected $phones;

	public function build(): PagSeguroCustomerViewModel {

		$obj = new PagSeguroCustomerViewModel();

		$obj->setName( $this->name );
		$obj->setEmail( $this->email );
		$obj->setTaxId( $this->tax_id );
		$obj->setPhones( $this->phones );

		return $obj;

	}

	/**
	 *
	 * @param mixed $name
	 */
	public function setName($name): PagSeguroCustomerViewModelBuilder {

		$this->name = $name;
		return $this;

	}

	/**
	 *
	 * @param mixed $email
	 */
	public function setEmail($email): PagSeguroCustomerViewModelBuilder {

		$this->email = $email;
		return $this;

	}

	/**
	 *
	 * @param mixed $tax_id
	 */
	public function setTaxId($tax_id): PagSeguroCustomerViewModelBuilder {

		$this->tax_id = $tax_id;
		return $this;

	}

	/**
	 *
	 * @param mixed $phones
	 */
	public function setPhones($phones): PagSeguroCustomerViewModelBuilder {

		$this->phones = $phones;
		return $this;

	}

}

