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.

77 line
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. return $this->store;
  51. }
  52. public function getResolver(): ProductFamilyResolver
  53. {
  54. return $this->resolver;
  55. }
  56. public function getBuilder(): ProductFamilyBuilder
  57. {
  58. return $this->builder;
  59. }
  60. public function getFieldDefinition(): ProductFamilyFieldDefinition
  61. {
  62. return $this->fieldDefinition;
  63. }
  64. }