<?php

namespace App\Entities\PagSeguro\Order;

use App\Utils\Builder;

class PagSeguroCardBuilder implements Builder {
	protected $encrypted;
	protected $exp_month;
	protected $exp_year;
	protected $security_code;
	protected $holder;
	protected $store;

	public function build(): PagSeguroCard {

		$obj = new PagSeguroCard();

		$obj->setEncrypted( $this->encrypted );
		$obj->setExpMonth( $this->exp_month );
		$obj->setExpYear( $this->exp_year );
		$obj->setSecurityCode( $this->security_code );
		$obj->setHolder( $this->holder );
		$obj->setStore( $this->store );

		return $obj;

	}

	/**
	 *
	 * @param mixed $encrypted
	 */
	public function setEncrypted($encrypted): PagSeguroCardBuilder {

		$this->encrypted = $encrypted;
		return $this;

	}

	/**
	 *
	 * @param mixed $exp_month
	 */
	public function setExpMonth($exp_month): PagSeguroCardBuilder {

		$this->exp_month = $exp_month;
		return $this;

	}

	/**
	 *
	 * @param mixed $exp_year
	 */
	public function setExpYear($exp_year): PagSeguroCardBuilder {

		$this->exp_year = $exp_year;
		return $this;

	}

	/**
	 *
	 * @param mixed $security_code
	 */
	public function setSecurityCode($security_code): PagSeguroCardBuilder {

		$this->security_code = $security_code;
		return $this;

	}

	/**
	 *
	 * @param mixed $holder
	 */
	public function setHolder($holder): PagSeguroCardBuilder {

		$this->holder = $holder;
		return $this;

	}

	/**
	 *
	 * @param mixed $store
	 */
	public function setStore($store): PagSeguroCardBuilder {

		$this->store = $store;
		return $this;

	}

}

