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.

79 satır
2.2KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Container\Product;
  3. use App\Definition\Field\Product\ProductFamilyFieldDefinition;
  4. use Lc\CaracoleBundle\Builder\Product\ProductFamilyBuilder;
  5. use Lc\CaracoleBundle\Factory\Product\ProductFamilyFactory;
  6. use Lc\CaracoleBundle\Repository\Product\ProductFamilyRepositoryQuery;
  7. use Lc\CaracoleBundle\Repository\Product\ProductFamilyStore;
  8. use Lc\CaracoleBundle\Resolver\ProductFamilyResolver;
  9. use Lc\CaracoleBundle\Solver\Product\ProductFamilySolver;
  10. class ProductFamilyContainer
  11. {
  12. protected ProductFamilyFactory $factory;
  13. protected ProductFamilySolver $solver;
  14. protected ProductFamilyRepositoryQuery $repositoryQuery;
  15. protected ProductFamilyStore $store;
  16. protected ProductFamilyBuilder $builder;
  17. protected ProductFamilyResolver $resolver;
  18. protected ProductFamilyFieldDefinition $fieldDefinition;
  19. public function __construct(
  20. ProductFamilyFactory $factory,
  21. ProductFamilySolver $solver,
  22. ProductFamilyRepositoryQuery $repositoryQuery,
  23. ProductFamilyStore $store,
  24. ProductFamilyBuilder $builder,
  25. ProductFamilyResolver $resolver,
  26. ProductFamilyFieldDefinition $fieldDefinition
  27. ) {
  28. $this->factory = $factory;
  29. $this->solver = $solver;
  30. $this->repositoryQuery = $repositoryQuery;
  31. $this->store = $store;
  32. $this->builder = $builder;
  33. $this->resolver = $resolver;
  34. $this->fieldDefinition = $fieldDefinition;
  35. }
  36. public function getFactory(): ProductFamilyFactory
  37. {
  38. return $this->factory;
  39. }
  40. public function getSolver(): ProductFamilySolver
  41. {
  42. return $this->solver;
  43. }
  44. public function getRepositoryQuery(): ProductFamilyRepositoryQuery
  45. {
  46. return $this->repositoryQuery;
  47. }
  48. public function getStore(): ProductFamilyStore
  49. {
  50. $this->store->resetContext();
  51. return $this->store;
  52. }
  53. public function getResolver(): ProductFamilyResolver
  54. {
  55. return $this->resolver;
  56. }
  57. public function getBuilder(): ProductFamilyBuilder
  58. {
  59. return $this->builder;
  60. }
  61. public function getFieldDefinition(): ProductFamilyFieldDefinition
  62. {
  63. return $this->fieldDefinition;
  64. }
  65. }