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.

73 satır
2.5KB

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