<?php

namespace domain\User\UserProducer;

use domain\_\AbstractModule;

class UserProducerModule extends AbstractModule
{
    public function getServices(): array
    {
        return [
            UserProducerDefinition::class,
            UserProducerSolver::class,
            UserProducerRepository::class,
            UserProducerBuilder::class,
        ];
    }

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

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

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

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