<?php
namespace ModulesAbstract\ElectronicInvoice\UBL21Builder;

abstract class InvoiceAbstract extends BuilderAbstract
{
	/**
	 * Main function call. Public function
	 *
	 * @return mixed
	 */
	public function generate()
	{
		// fill in invoice data
		$invoice = $this->generateInvoice();

		return $invoice;
	}

	/**
	 * Internal call
	 * @return mixed
	 */
	abstract protected function generateInvoice();

}
