<?php

namespace domain\Document\Invoice;

use domain\Document\Document\DocumentModule;

class InvoiceModule extends DocumentModule
{
    public function getServices(): array
    {
        return [
            InvoiceDefinition::class,
            InvoiceSolver::class,
            InvoiceRepository::class,
            InvoiceBuilder::class,
        ];
    }

    public function getDefinition(): InvoiceDefinition
    {
        return InvoiceDefinition::getInstance();
    }

    public function getSolver(): InvoiceSolver
    {
        return InvoiceSolver::getInstance();
    }

    public function getRepository(): InvoiceRepository
    {
        return InvoiceRepository::getInstance();
    }

    public function getBuilder(): InvoiceBuilder
    {
        return InvoiceBuilder::getInstance();
    }
}