<?php

namespace App\Entities\PagSeguro\Order;

use App\Utils\Builder;

class PagSeguroAuthenticationMethodBuilder implements Builder {
	protected $type;
	protected $cavv;
	protected $eci;
	protected $xid;
	protected $version;
	protected $dstrans_id;
	protected $status;

	public function build(): PagSeguroAuthenticationMethod {

		$obj = new PagSeguroAuthenticationMethod();

		$obj->setType( $this->type );
		$obj->setCavv( $this->cavv );
		$obj->setDstransId( $this->dstrans_id );
		$obj->setEci( $this->eci );
		$obj->setStatus( $this->status );
		$obj->setVersion( $this->version );
		$obj->setXid( $this->xid );

		return $obj;

	}

	/**
	 *
	 * @param mixed $type
	 */
	public function setType($type): PagSeguroAuthenticationMethodBuilder {

		$this->type = $type;
		return $this;

	}

	/**
	 *
	 * @param mixed $cavv
	 */
	public function setCavv($cavv): PagSeguroAuthenticationMethodBuilder {

		$this->cavv = $cavv;
		return $this;

	}

	/**
	 *
	 * @param mixed $eci
	 */
	public function setEci($eci): PagSeguroAuthenticationMethodBuilder {

		$this->eci = $eci;
		return $this;

	}

	/**
	 *
	 * @param mixed $xid
	 */
	public function setXid($xid): PagSeguroAuthenticationMethodBuilder {

		$this->xid = $xid;
		return $this;

	}

	/**
	 *
	 * @param mixed $version
	 */
	public function setVersion($version): PagSeguroAuthenticationMethodBuilder {

		$this->version = $version;
		return $this;

	}

	/**
	 *
	 * @param mixed $dstrans_id
	 */
	public function setDstransId($dstrans_id): PagSeguroAuthenticationMethodBuilder {

		$this->dstrans_id = $dstrans_id;
		return $this;

	}

	/**
	 *
	 * @param mixed $status
	 */
	public function setStatus($status): PagSeguroAuthenticationMethodBuilder {

		$this->status = $status;
		return $this;

	}

}

