<?php namespace Lc\CaracoleBundle\Container\Distribution; use App\Entity\Distribution\Distribution; use Lc\CaracoleBundle\Builder\Distribution\DistributionBuilder; use Lc\CaracoleBundle\Factory\Distribution\DistributionFactory; use Lc\CaracoleBundle\Repository\Distribution\DistributionRepositoryQuery; use Lc\CaracoleBundle\Repository\Distribution\DistributionStore; use Lc\CaracoleBundle\Solver\Distribution\DistributionSolver; class DistributionContainer { protected DistributionFactory $factory; protected DistributionRepositoryQuery $repositoryQuery; protected DistributionStore $store; protected DistributionBuilder $builder; protected DistributionSolver $solver; public function __construct( DistributionFactory $factory, DistributionRepositoryQuery $repositoryQuery, DistributionStore $store, DistributionBuilder $builder, DistributionSolver $solver ) { $this->factory = $factory; $this->repositoryQuery = $repositoryQuery; $this->store = $store; $this->solver = $solver; $this->builder = $builder; } public static function getEntityFqcn() { return Distribution::class; } public function getFactory(): DistributionFactory { return $this->factory; } public function getRepositoryQuery(): DistributionRepositoryQuery { return $this->repositoryQuery; } public function getStore(): DistributionStore { return $this->store; } public function getSolver(): DistributionSolver { return $this->solver; } public function getBuilder(): DistributionBuilder { return $this->builder; } }