1 | <?php |
||
21 | class ManagerFactory implements ManagerFactoryInterface |
||
22 | { |
||
23 | /** @var InternalEntityFactory */ |
||
24 | protected $entityFactory; |
||
25 | |||
26 | /** @var HelperFactory $helperFactory */ |
||
27 | protected $helperFactory; |
||
28 | |||
29 | /** |
||
30 | * @param InternalEntityFactory $entityFactory |
||
31 | * @param HelperFactory $helperFactory |
||
32 | */ |
||
33 | 43 | public function __construct(InternalEntityFactory $entityFactory, HelperFactory $helperFactory) |
|
38 | |||
39 | /** |
||
40 | * @param OptionsManagerInterface $optionsManager |
||
41 | * @return WorkbookManager |
||
42 | */ |
||
43 | 38 | public function createWorkbookManager(OptionsManagerInterface $optionsManager) |
|
44 | { |
||
45 | 38 | $workbook = $this->entityFactory->createWorkbook(); |
|
46 | |||
47 | 38 | $fileSystemHelper = $this->helperFactory->createSpecificFileSystemHelper($optionsManager, $this->entityFactory); |
|
48 | 38 | $fileSystemHelper->createBaseFilesAndFolders(); |
|
49 | |||
50 | 38 | $xlFolder = $fileSystemHelper->getXlFolder(); |
|
51 | 38 | $sharedStringsManager = $this->createSharedStringsManager($xlFolder); |
|
52 | |||
53 | 38 | $styleMerger = $this->createStyleMerger(); |
|
54 | 38 | $styleManager = $this->createStyleManager($optionsManager); |
|
55 | 38 | $worksheetManager = $this->createWorksheetManager($optionsManager, $styleManager, $sharedStringsManager); |
|
56 | |||
57 | 38 | return new WorkbookManager( |
|
58 | 38 | $workbook, |
|
59 | 38 | $optionsManager, |
|
60 | 38 | $worksheetManager, |
|
61 | 38 | $styleManager, |
|
62 | 38 | $styleMerger, |
|
63 | 38 | $fileSystemHelper, |
|
64 | 38 | $this->entityFactory, |
|
65 | 38 | $this |
|
66 | ); |
||
67 | } |
||
68 | |||
69 | /** |
||
70 | * @param OptionsManagerInterface $optionsManager |
||
71 | * @param StyleManager $styleManager |
||
72 | * @param SharedStringsManager $sharedStringsManager |
||
73 | * @return WorksheetManager |
||
74 | */ |
||
75 | 38 | private function createWorksheetManager( |
|
85 | |||
86 | /** |
||
87 | * @return SheetManager |
||
88 | */ |
||
89 | 38 | public function createSheetManager() |
|
95 | |||
96 | /** |
||
97 | * @param OptionsManagerInterface $optionsManager |
||
98 | * @return StyleManager |
||
99 | */ |
||
100 | 38 | private function createStyleManager(OptionsManagerInterface $optionsManager) |
|
106 | |||
107 | /** |
||
108 | * @param OptionsManagerInterface $optionsManager |
||
109 | * @return StyleRegistry |
||
110 | */ |
||
111 | 38 | private function createStyleRegistry(OptionsManagerInterface $optionsManager) |
|
117 | |||
118 | /** |
||
119 | * @return StyleMerger |
||
120 | */ |
||
121 | 38 | private function createStyleMerger() |
|
122 | { |
||
123 | 38 | return new StyleMerger(); |
|
124 | } |
||
125 | |||
126 | /** |
||
127 | * @param string $xlFolder Path to the "xl" folder |
||
128 | * @return SharedStringsManager |
||
129 | */ |
||
130 | 38 | private function createSharedStringsManager($xlFolder) |
|
136 | } |
||
137 |