<?php namespace Lc\CaracoleBundle\Container\Section; use App\Entity\Section\Section; use Lc\CaracoleBundle\Factory\Section\SectionFactory; use Lc\CaracoleBundle\Repository\Section\SectionRepositoryQuery; use Lc\CaracoleBundle\Repository\Section\SectionStore; use Lc\CaracoleBundle\Resolver\SectionResolver; use Lc\CaracoleBundle\Solver\Section\SectionSolver; class SectionContainer { protected SectionFactory $factory; protected SectionSolver $solver; protected SectionResolver $resolver; protected SectionRepositoryQuery $repositoryQuery; protected SectionStore $store; public function __construct( SectionFactory $factory, SectionSolver $solver, SectionResolver $resolver, SectionRepositoryQuery $repositoryQuery, SectionStore $store ) { $this->factory = $factory; $this->solver = $solver; $this->resolver = $resolver; $this->repositoryQuery = $repositoryQuery; $this->store = $store; } public static function getEntityFqcn() { return Section::class; } public function getFactory(): SectionFactory { return $this->factory; } public function getSolver(): SectionSolver { return $this->solver; } public function getResolver(): SectionResolver { return $this->resolver; } public function getRepositoryQuery(): SectionRepositoryQuery { return $this->repositoryQuery; } public function getStore(): SectionStore { $this->store->resetContext(); return $this->store; } }