SectionContainer.php 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace Lc\CaracoleBundle\Container\Section;
  3. use Lc\CaracoleBundle\Factory\Section\SectionFactory;
  4. use Lc\CaracoleBundle\Repository\Section\SectionRepositoryQuery;
  5. use Lc\CaracoleBundle\Repository\Section\SectionStore;
  6. use Lc\CaracoleBundle\Resolver\SectionResolver;
  7. use Lc\CaracoleBundle\Solver\Section\SectionSolver;
  8. class SectionContainer
  9. {
  10. protected SectionFactory $factory;
  11. protected SectionSolver $solver;
  12. protected SectionResolver $resolver;
  13. protected SectionRepositoryQuery $repositoryQuery;
  14. protected SectionStore $store;
  15. public function __construct(
  16. SectionFactory $factory,
  17. SectionSolver $solver,
  18. SectionResolver $resolver,
  19. SectionRepositoryQuery $repositoryQuery,
  20. SectionStore $store
  21. ) {
  22. $this->factory = $factory;
  23. $this->solver = $solver;
  24. $this->resolver = $resolver;
  25. $this->repositoryQuery = $repositoryQuery;
  26. $this->store = $store;
  27. }
  28. public function getFactory(): SectionFactory
  29. {
  30. return $this->factory;
  31. }
  32. public function getSolver(): SectionSolver
  33. {
  34. return $this->solver;
  35. }
  36. public function getResolver(): SectionResolver
  37. {
  38. return $this->resolver;
  39. }
  40. public function getRepositoryQuery(): SectionRepositoryQuery
  41. {
  42. return $this->repositoryQuery;
  43. }
  44. public function getStore(): SectionStore
  45. {
  46. $this->store->resetContext();
  47. return $this->store;
  48. }
  49. }