You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 line
1.4KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Container\Address;
  3. use Lc\CaracoleBundle\Builder\Address\AddressBuilder;
  4. use Lc\CaracoleBundle\Factory\Address\AddressFactory;
  5. use Lc\CaracoleBundle\Repository\Address\AddressRepositoryQuery;
  6. use Lc\CaracoleBundle\Repository\Address\AddressStore;
  7. use Lc\CaracoleBundle\Solver\Address\AddressSolver;
  8. class AddressContainer
  9. {
  10. protected AddressFactory $factory;
  11. protected AddressSolver $solver;
  12. protected AddressRepositoryQuery $repositoryQuery;
  13. protected AddressStore $store;
  14. protected AddressBuilder $builder;
  15. public function __construct(
  16. AddressFactory $factory,
  17. AddressSolver $solver,
  18. AddressRepositoryQuery $repositoryQuery,
  19. AddressStore $store,
  20. AddressBuilder $builder
  21. ) {
  22. $this->factory = $factory;
  23. $this->solver = $solver;
  24. $this->repositoryQuery = $repositoryQuery;
  25. $this->store = $store;
  26. $this->builder = $builder;
  27. }
  28. public function getFactory(): AddressFactory
  29. {
  30. return $this->factory;
  31. }
  32. public function getSolver(): AddressSolver
  33. {
  34. return $this->solver;
  35. }
  36. public function getRepositoryQuery(): AddressRepositoryQuery
  37. {
  38. return $this->repositoryQuery;
  39. }
  40. public function getStore(): AddressStore
  41. {
  42. return $this->store;
  43. }
  44. public function getBuilder(): AddressBuilder
  45. {
  46. return $this->builder;
  47. }
  48. }