No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

60 líneas
1.5KB

  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. $this->store->resetContext();
  43. return $this->store;
  44. }
  45. public function getBuilder(): AddressBuilder
  46. {
  47. return $this->builder;
  48. }
  49. }