AkeneoPimMiddlewareConnectorCommunicationFactory   F
last analyzed

Complexity

Total Complexity 83

Size/Duplication

Total Lines 673
Duplicated Lines 0 %

Importance

Changes 3
Bugs 1 Features 1
Metric Value
eloc 92
c 3
b 1
f 1
dl 0
loc 673
rs 2
wmc 83

83 Methods

Rating   Name   Duplication   Size   Complexity  
A getAttributeImportStagePluginsStack() 0 3 1
A getProcessFacade() 0 3 1
A getAkeneoPimTranslatorFunctions() 0 3 1
A getProductPreparationOutputStreamPlugin() 0 3 1
A getProductModelPreparationIteratorPlugin() 0 3 1
A getLocaleMapPostProcessorPluginsStack() 0 3 1
A getDefaultAkeneoPimTranslatorFunctions() 0 3 1
A getTaxSetMapImportInputStreamPlugin() 0 3 1
A getTaxSetMapImportPreProcessorPluginsStack() 0 3 1
A getProductModelImportPostProcessorPluginsStack() 0 3 1
A getProductModelPreparationOutputStreamPlugin() 0 3 1
A getProductImportInputStreamPlugin() 0 3 1
A getProductAbstractImporterPlugin() 0 3 1
A getAttributeImportOutputStreamPlugin() 0 3 1
A createUrlGeneratorStrategy() 0 3 1
A getSuperAttributesImportPreProcessorPluginsStack() 0 3 1
A getProductModelPreparationPostProcessorPluginsStack() 0 3 1
A getUtilTextService() 0 3 1
A getProductPreparationPostProcessorPluginsStack() 0 3 1
A getProductModelPreparationInputStreamPlugin() 0 3 1
A getAttributeMapPostProcessorPluginsStack() 0 3 1
A getAttributeImportInputStreamPlugin() 0 3 1
A getProductPreparationInputStreamPlugin() 0 3 1
A getProductImportStagePluginsStack() 0 3 1
A getCategoryImportPostProcessorPluginsStack() 0 3 1
A getProductPriceImporterPlugin() 0 3 1
A getTaxSetMapImportIteratorPlugin() 0 3 1
A getLocaleMapIteratorPlugin() 0 3 1
A getProductModelImportStagePluginsStack() 0 3 1
A createStreamFactory() 0 11 1
A getProductPreparationPreProcessorPluginsStack() 0 3 1
A getCategoryImporterPlugin() 0 3 1
A getTaxSetMapImportPostProcessorPluginsStack() 0 3 1
A getSuperAttributesImportInputStreamPlugin() 0 3 1
A getDefaultAkeneoPimProcesses() 0 3 1
A getAttributeImportPreProcessorPluginsStack() 0 3 1
A getProductImportOutputStreamPlugin() 0 3 1
A createValidatorFactory() 0 3 1
A getProductModelImportOutputStreamPlugin() 0 3 1
A getCategoryImportInputStreamPlugin() 0 3 1
A getAttributeImporterPlugin() 0 3 1
A getCategoryImportIteratorPlugin() 0 3 1
A getDefaultCategoryImportStagePluginsStack() 0 3 1
A getAttributeMapStagePluginsStack() 0 3 1
A getLocaleMapPreProcessorPluginsStack() 0 3 1
A getSuperAttributesImportPostProcessorPluginsStack() 0 3 1
A getTaxSetMapImportStagePluginsStack() 0 3 1
A getProductAbstractStoresImporterPlugin() 0 3 1
A getCategoryImportPreProcessorPluginsStack() 0 3 1
A getAttributeMapIteratorPlugin() 0 3 1
A getProductPreparationIteratorPlugin() 0 3 1
A getProductConcreteImporterPlugin() 0 3 1
A getDefaultProductImportStagePluginsStack() 0 3 1
A getCategoryImportStagePluginsStack() 0 3 1
A getAkeneoPimLoggerConfigPlugin() 0 3 1
A getSuperAttributesImportIteratorPlugin() 0 3 1
A getSuperAttributesImportOutputStreamPlugin() 0 3 1
A getProductPreparationStagePluginsStack() 0 3 1
A getProductModelImportInputStreamPlugin() 0 3 1
A getProductImportIteratorPlugin() 0 3 1
A getProductModelImportPreProcessorPluginsStack() 0 3 1
A getDefaultProductModelImportStagePluginsStack() 0 3 1
A getAttributeMapOutputStreamPlugin() 0 3 1
A getAkeneoPimValidators() 0 3 1
A getProductModelImportIteratorPlugin() 0 3 1
A getTaxSetMapImportOutputStreamPlugin() 0 3 1
A getAkeneoPimProcesses() 0 3 1
A getProductModelPreparationPreProcessorPluginsStack() 0 3 1
A getAttributeImportIteratorPlugin() 0 3 1
A createTranslatorFunctionFactory() 0 3 1
A getAttributeMapPreProcessorPluginsStack() 0 3 1
A getLocaleMapInputStreamPlugin() 0 3 1
A getProductImportPreProcessorPluginsStack() 0 3 1
A getAkeneoPimService() 0 3 1
A getProductModelPreparationStagePluginsStack() 0 3 1
A getProductFacade() 0 3 1
A getProductImportPostProcessorPluginsStack() 0 3 1
A getLocaleMapOutputStreamPlugin() 0 3 1
A getCategoryImportOutputStreamPlugin() 0 3 1
A getLocaleMapStagePluginsStack() 0 3 1
A getAttributeMapInputStreamPlugin() 0 3 1
A getAttributeImportPostProcessorPluginsStack() 0 3 1
A getSuperAttributesImportStagePluginsStack() 0 3 1

How to fix   Complexity   

Complex Class

Complex classes like AkeneoPimMiddlewareConnectorCommunicationFactory often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use AkeneoPimMiddlewareConnectorCommunicationFactory, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Zed\AkeneoPimMiddlewareConnector\Communication;
9
10
use Spryker\Zed\Kernel\Communication\AbstractCommunicationFactory;
0 ignored issues
show
Bug introduced by
The type Spryker\Zed\Kernel\Commu...actCommunicationFactory was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
11
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\AkeneoPimMiddlewareConnectorDependencyProvider;
12
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Stream\StreamFactory;
13
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Stream\StreamFactoryInterface;
14
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Translator\Generator\UrlGeneratorStrategy;
15
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Translator\Generator\UrlGeneratorStrategyInterface;
16
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Translator\TranslatorFunction\TranslatorFunctionFactory;
17
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Translator\TranslatorFunction\TranslatorFunctionFactoryInterface;
18
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Validator\Validators\Factory\ValidatorFactory;
19
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Validator\Validators\Factory\ValidatorFactoryInterface;
20
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Facade\AkeneoPimMiddlewareConnectorToProcessFacadeInterface;
21
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Facade\AkeneoPimMiddlewareConnectorToProductFacadeBridgeInterface;
22
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Plugin\DataImporterPluginInterface;
23
use SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Service\AkeneoPimMiddlewareConnectorToAkeneoPimServiceInterface;
24
use SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface;
0 ignored issues
show
Bug introduced by
The type SprykerMiddleware\Zed\Pr...IteratorPluginInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
25
use SprykerMiddleware\Zed\Process\Dependency\Plugin\Log\MiddlewareLoggerConfigPluginInterface;
0 ignored issues
show
Bug introduced by
The type SprykerMiddleware\Zed\Pr...erConfigPluginInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
26
use SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface;
0 ignored issues
show
Bug introduced by
The type SprykerMiddleware\Zed\Pr...utStreamPluginInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
27
use SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface;
0 ignored issues
show
Bug introduced by
The type SprykerMiddleware\Zed\Pr...utStreamPluginInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
28
29
/**
30
 * @method \SprykerEco\Zed\AkeneoPimMiddlewareConnector\AkeneoPimMiddlewareConnectorConfig getConfig()
31
 * @method \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Persistence\AkeneoPimMiddlewareConnectorQueryContainerInterface getQueryContainer()
32
 * @method \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\AkeneoPimMiddlewareConnectorFacadeInterface getFacade()
33
 */
34
class AkeneoPimMiddlewareConnectorCommunicationFactory extends AbstractCommunicationFactory
35
{
36
    /**
37
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Translator\TranslatorFunction\TranslatorFunctionFactoryInterface
38
     */
39
    public function createTranslatorFunctionFactory(): TranslatorFunctionFactoryInterface
40
    {
41
        return new TranslatorFunctionFactory($this->getAkeneoPimService(), $this->createUrlGeneratorStrategy());
42
    }
43
44
    /**
45
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Validator\Validators\Factory\ValidatorFactoryInterface
46
     */
47
    public function createValidatorFactory(): ValidatorFactoryInterface
48
    {
49
        return new ValidatorFactory($this->getProductFacade());
50
    }
51
52
    /**
53
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Stream\StreamFactoryInterface
54
     */
55
    public function createStreamFactory(): StreamFactoryInterface
56
    {
57
        return new StreamFactory(
58
            $this->getAkeneoPimService(),
59
            $this->getQueryContainer(),
60
            $this->getCategoryImporterPlugin(),
61
            $this->getAttributeImporterPlugin(),
62
            $this->getProductAbstractImporterPlugin(),
63
            $this->getProductConcreteImporterPlugin(),
64
            $this->getProductPriceImporterPlugin(),
65
            $this->getProductAbstractStoresImporterPlugin(),
66
        );
67
    }
68
69
    /**
70
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Configuration\ProcessConfigurationPluginInterface>
71
     */
72
    public function getAkeneoPimProcesses(): array
73
    {
74
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_PROCESSES);
75
    }
76
77
    /**
78
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\TranslatorFunction\TranslatorFunctionPluginInterface>
79
     */
80
    public function getAkeneoPimTranslatorFunctions(): array
81
    {
82
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_TRANSLATOR_FUNCTIONS);
83
    }
84
85
    /**
86
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Validator\GenericValidatorPluginInterface>
87
     */
88
    public function getAkeneoPimValidators(): array
89
    {
90
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_VALIDATORS);
91
    }
92
93
    /**
94
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Facade\AkeneoPimMiddlewareConnectorToProcessFacadeInterface
95
     */
96
    public function getProcessFacade(): AkeneoPimMiddlewareConnectorToProcessFacadeInterface
97
    {
98
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::FACADE_PROCESS);
99
    }
100
101
    /**
102
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Facade\AkeneoPimMiddlewareConnectorToProductFacadeBridgeInterface
103
     */
104
    public function getProductFacade(): AkeneoPimMiddlewareConnectorToProductFacadeBridgeInterface
105
    {
106
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::FACADE_PRODUCT);
107
    }
108
109
    /**
110
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Service\AkeneoPimMiddlewareConnectorToAkeneoPimServiceInterface
111
     */
112
    protected function getAkeneoPimService(): AkeneoPimMiddlewareConnectorToAkeneoPimServiceInterface
113
    {
114
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::SERVICE_AKENEO_PIM);
115
    }
116
117
    /**
118
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Log\MiddlewareLoggerConfigPluginInterface
119
     */
120
    public function getAkeneoPimLoggerConfigPlugin(): MiddlewareLoggerConfigPluginInterface
121
    {
122
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_LOGGER_CONFIG);
123
    }
124
125
    /**
126
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
127
     */
128
    public function getProductImportInputStreamPlugin(): InputStreamPluginInterface
129
    {
130
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_IMPORT_INPUT_STREAM_PLUGIN);
131
    }
132
133
    /**
134
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
135
     */
136
    public function getProductImportIteratorPlugin(): ProcessIteratorPluginInterface
137
    {
138
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_IMPORT_ITERATOR_PLUGIN);
139
    }
140
141
    /**
142
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
143
     */
144
    public function getProductImportPreProcessorPluginsStack(): array
145
    {
146
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_IMPORT_PRE_PROCESSOR_PLUGINS);
147
    }
148
149
    /**
150
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
151
     */
152
    public function getProductImportStagePluginsStack(): array
153
    {
154
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_IMPORT_STAGE_PLUGINS);
155
    }
156
157
    /**
158
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
159
     */
160
    public function getProductImportPostProcessorPluginsStack(): array
161
    {
162
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_IMPORT_POST_PROCESSOR_PLUGINS);
163
    }
164
165
    /**
166
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
167
     */
168
    public function getProductImportOutputStreamPlugin(): OutputStreamPluginInterface
169
    {
170
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_IMPORT_OUTPUT_STREAM_PLUGIN);
171
    }
172
173
    /**
174
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
175
     */
176
    public function getAttributeImportInputStreamPlugin(): InputStreamPluginInterface
177
    {
178
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_IMPORT_INPUT_STREAM_PLUGIN);
179
    }
180
181
    /**
182
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
183
     */
184
    public function getAttributeImportIteratorPlugin(): ProcessIteratorPluginInterface
185
    {
186
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_IMPORT_ITERATOR_PLUGIN);
187
    }
188
189
    /**
190
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
191
     */
192
    public function getAttributeImportPreProcessorPluginsStack(): array
193
    {
194
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_IMPORT_PRE_PROCESSOR_PLUGINS);
195
    }
196
197
    /**
198
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
199
     */
200
    public function getAttributeImportStagePluginsStack(): array
201
    {
202
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_IMPORT_STAGE_PLUGINS);
203
    }
204
205
    /**
206
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
207
     */
208
    public function getAttributeImportPostProcessorPluginsStack(): array
209
    {
210
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_IMPORT_POST_PROCESSOR_PLUGINS);
211
    }
212
213
    /**
214
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
215
     */
216
    public function getAttributeImportOutputStreamPlugin(): OutputStreamPluginInterface
217
    {
218
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_IMPORT_OUTPUT_STREAM_PLUGIN);
219
    }
220
221
    /**
222
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
223
     */
224
    public function getAttributeMapInputStreamPlugin(): InputStreamPluginInterface
225
    {
226
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_MAP_INPUT_STREAM_PLUGIN);
227
    }
228
229
    /**
230
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
231
     */
232
    public function getAttributeMapIteratorPlugin(): ProcessIteratorPluginInterface
233
    {
234
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_MAP_ITERATOR_PLUGIN);
235
    }
236
237
    /**
238
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
239
     */
240
    public function getAttributeMapPreProcessorPluginsStack(): array
241
    {
242
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_MAP_PRE_PROCESSOR_PLUGINS);
243
    }
244
245
    /**
246
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
247
     */
248
    public function getAttributeMapStagePluginsStack(): array
249
    {
250
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_MAP_STAGE_PLUGINS);
251
    }
252
253
    /**
254
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
255
     */
256
    public function getAttributeMapPostProcessorPluginsStack(): array
257
    {
258
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_MAP_POST_PROCESSOR_PLUGINS);
259
    }
260
261
    /**
262
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
263
     */
264
    public function getAttributeMapOutputStreamPlugin(): OutputStreamPluginInterface
265
    {
266
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::ATTRIBUTE_MAP_OUTPUT_STREAM_PLUGIN);
267
    }
268
269
    /**
270
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
271
     */
272
    public function getCategoryImportInputStreamPlugin(): InputStreamPluginInterface
273
    {
274
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::CATEGORY_IMPORT_INPUT_STREAM_PLUGIN);
275
    }
276
277
    /**
278
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
279
     */
280
    public function getCategoryImportIteratorPlugin(): ProcessIteratorPluginInterface
281
    {
282
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::CATEGORY_IMPORT_ITERATOR_PLUGIN);
283
    }
284
285
    /**
286
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
287
     */
288
    public function getCategoryImportPreProcessorPluginsStack(): array
289
    {
290
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::CATEGORY_IMPORT_PRE_PROCESSOR_PLUGINS);
291
    }
292
293
    /**
294
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
295
     */
296
    public function getCategoryImportStagePluginsStack(): array
297
    {
298
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::CATEGORY_IMPORT_STAGE_PLUGINS);
299
    }
300
301
    /**
302
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
303
     */
304
    public function getCategoryImportPostProcessorPluginsStack(): array
305
    {
306
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::CATEGORY_IMPORT_POST_PROCESSOR_PLUGINS);
307
    }
308
309
    /**
310
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
311
     */
312
    public function getCategoryImportOutputStreamPlugin(): OutputStreamPluginInterface
313
    {
314
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::CATEGORY_IMPORT_OUTPUT_STREAM_PLUGIN);
315
    }
316
317
    /**
318
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
319
     */
320
    public function getLocaleMapInputStreamPlugin(): InputStreamPluginInterface
321
    {
322
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::LOCALE_MAP_IMPORT_INPUT_STREAM_PLUGIN);
323
    }
324
325
    /**
326
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
327
     */
328
    public function getLocaleMapIteratorPlugin(): ProcessIteratorPluginInterface
329
    {
330
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::LOCALE_MAP_IMPORT_ITERATOR_PLUGIN);
331
    }
332
333
    /**
334
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
335
     */
336
    public function getLocaleMapPreProcessorPluginsStack(): array
337
    {
338
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::LOCALE_MAP_IMPORT_PRE_PROCESSOR_PLUGINS);
339
    }
340
341
    /**
342
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
343
     */
344
    public function getLocaleMapStagePluginsStack(): array
345
    {
346
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::LOCALE_MAP_IMPORT_STAGE_PLUGINS);
347
    }
348
349
    /**
350
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
351
     */
352
    public function getLocaleMapPostProcessorPluginsStack(): array
353
    {
354
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::LOCALE_MAP_IMPORT_POST_PROCESSOR_PLUGINS);
355
    }
356
357
    /**
358
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
359
     */
360
    public function getLocaleMapOutputStreamPlugin(): OutputStreamPluginInterface
361
    {
362
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::LOCALE_MAP_IMPORT_OUTPUT_STREAM_PLUGIN);
363
    }
364
365
    /**
366
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
367
     */
368
    public function getProductModelImportInputStreamPlugin(): InputStreamPluginInterface
369
    {
370
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_IMPORT_INPUT_STREAM_PLUGIN);
371
    }
372
373
    /**
374
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
375
     */
376
    public function getProductModelImportIteratorPlugin(): ProcessIteratorPluginInterface
377
    {
378
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_IMPORT_ITERATOR_PLUGIN);
379
    }
380
381
    /**
382
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
383
     */
384
    public function getProductModelImportPreProcessorPluginsStack(): array
385
    {
386
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_IMPORT_PRE_PROCESSOR_PLUGINS);
387
    }
388
389
    /**
390
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
391
     */
392
    public function getProductModelImportStagePluginsStack(): array
393
    {
394
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_IMPORT_STAGE_PLUGINS);
395
    }
396
397
    /**
398
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
399
     */
400
    public function getProductModelImportPostProcessorPluginsStack(): array
401
    {
402
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_IMPORT_POST_PROCESSOR_PLUGINS);
403
    }
404
405
    /**
406
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
407
     */
408
    public function getProductModelImportOutputStreamPlugin(): OutputStreamPluginInterface
409
    {
410
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_IMPORT_OUTPUT_STREAM_PLUGIN);
411
    }
412
413
    /**
414
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
415
     */
416
    public function getProductModelPreparationInputStreamPlugin(): InputStreamPluginInterface
417
    {
418
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_PREPARATION_INPUT_STREAM_PLUGIN);
419
    }
420
421
    /**
422
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
423
     */
424
    public function getProductModelPreparationIteratorPlugin(): ProcessIteratorPluginInterface
425
    {
426
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_PREPARATION_ITERATOR_PLUGIN);
427
    }
428
429
    /**
430
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
431
     */
432
    public function getProductModelPreparationPreProcessorPluginsStack(): array
433
    {
434
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_PREPARATION_PRE_PROCESSOR_PLUGINS);
435
    }
436
437
    /**
438
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
439
     */
440
    public function getProductModelPreparationStagePluginsStack(): array
441
    {
442
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_PREPARATION_STAGE_PLUGINS);
443
    }
444
445
    /**
446
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
447
     */
448
    public function getProductModelPreparationPostProcessorPluginsStack(): array
449
    {
450
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_PREPARATION_POST_PROCESSOR_PLUGINS);
451
    }
452
453
    /**
454
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
455
     */
456
    public function getProductModelPreparationOutputStreamPlugin(): OutputStreamPluginInterface
457
    {
458
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_MODEL_PREPARATION_OUTPUT_STREAM_PLUGIN);
459
    }
460
461
    /**
462
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
463
     */
464
    public function getProductPreparationInputStreamPlugin(): InputStreamPluginInterface
465
    {
466
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_PREPARATION_INPUT_STREAM_PLUGIN);
467
    }
468
469
    /**
470
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
471
     */
472
    public function getSuperAttributesImportInputStreamPlugin(): InputStreamPluginInterface
473
    {
474
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::SUPER_ATTRIBUTE_IMPORT_INPUT_STREAM_PLUGIN);
475
    }
476
477
    /**
478
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
479
     */
480
    public function getSuperAttributesImportOutputStreamPlugin(): OutputStreamPluginInterface
481
    {
482
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::SUPER_ATTRIBUTE_IMPORT_OUTPUT_STREAM_PLUGIN);
483
    }
484
485
    /**
486
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
487
     */
488
    public function getProductPreparationIteratorPlugin(): ProcessIteratorPluginInterface
489
    {
490
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_PREPARATION_ITERATOR_PLUGIN);
491
    }
492
493
    /**
494
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
495
     */
496
    public function getSuperAttributesImportIteratorPlugin(): ProcessIteratorPluginInterface
497
    {
498
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::SUPER_ATTRIBUTE_IMPORT_ITERATOR_PLUGIN);
499
    }
500
501
    /**
502
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
503
     */
504
    public function getProductPreparationPreProcessorPluginsStack(): array
505
    {
506
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_PREPARATION_PRE_PROCESSOR_PLUGINS);
507
    }
508
509
    /**
510
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
511
     */
512
    public function getSuperAttributesImportPreProcessorPluginsStack(): array
513
    {
514
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::SUPER_ATTRIBUTE_IMPORT_PRE_PROCESSOR_PLUGINS);
515
    }
516
517
    /**
518
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
519
     */
520
    public function getProductPreparationStagePluginsStack(): array
521
    {
522
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_PREPARATION_STAGE_PLUGINS);
523
    }
524
525
    /**
526
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
527
     */
528
    public function getSuperAttributesImportStagePluginsStack(): array
529
    {
530
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::SUPER_ATTRIBUTE_IMPORT_STAGE_PLUGINS);
531
    }
532
533
    /**
534
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
535
     */
536
    public function getProductPreparationPostProcessorPluginsStack(): array
537
    {
538
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_PREPARATION_POST_PROCESSOR_PLUGINS);
539
    }
540
541
    /**
542
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
543
     */
544
    public function getSuperAttributesImportPostProcessorPluginsStack(): array
545
    {
546
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::SUPER_ATTRIBUTE_IMPORT_POST_PROCESSOR_PLUGINS);
547
    }
548
549
    /**
550
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
551
     */
552
    public function getProductPreparationOutputStreamPlugin(): OutputStreamPluginInterface
553
    {
554
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::PRODUCT_PREPARATION_OUTPUT_STREAM_PLUGIN);
555
    }
556
557
    /**
558
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\InputStreamPluginInterface
559
     */
560
    public function getTaxSetMapImportInputStreamPlugin(): InputStreamPluginInterface
561
    {
562
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::TAX_SET_MAP_IMPORT_INPUT_STREAM_PLUGIN);
563
    }
564
565
    /**
566
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Iterator\ProcessIteratorPluginInterface
567
     */
568
    public function getTaxSetMapImportIteratorPlugin(): ProcessIteratorPluginInterface
569
    {
570
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::TAX_SET_MAP_IMPORT_ITERATOR_PLUGIN);
571
    }
572
573
    /**
574
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PreProcessorHookPluginInterface>>
575
     */
576
    public function getTaxSetMapImportPreProcessorPluginsStack(): array
577
    {
578
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::TAX_SET_MAP_IMPORT_PRE_PROCESSOR_PLUGINS);
579
    }
580
581
    /**
582
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
583
     */
584
    public function getTaxSetMapImportStagePluginsStack(): array
585
    {
586
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::TAX_SET_MAP_IMPORT_STAGE_PLUGINS);
587
    }
588
589
    /**
590
     * @return array<array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Hook\PostProcessorHookPluginInterface>>
591
     */
592
    public function getTaxSetMapImportPostProcessorPluginsStack(): array
593
    {
594
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::TAX_SET_MAP_IMPORT_POST_PROCESSOR_PLUGINS);
595
    }
596
597
    /**
598
     * @return \SprykerMiddleware\Zed\Process\Dependency\Plugin\Stream\OutputStreamPluginInterface
599
     */
600
    public function getTaxSetMapImportOutputStreamPlugin(): OutputStreamPluginInterface
601
    {
602
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::TAX_SET_MAP_IMPORT_OUTPUT_STREAM_PLUGIN);
603
    }
604
605
    /**
606
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Plugin\DataImporterPluginInterface
607
     */
608
    protected function getCategoryImporterPlugin(): DataImporterPluginInterface
609
    {
610
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_CATEGORY_IMPORTER_PLUGIN);
611
    }
612
613
    /**
614
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Plugin\DataImporterPluginInterface
615
     */
616
    protected function getAttributeImporterPlugin(): DataImporterPluginInterface
617
    {
618
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_ATTRIBUTE_IMPORTER_PLUGIN);
619
    }
620
621
    /**
622
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Plugin\DataImporterPluginInterface
623
     */
624
    protected function getProductAbstractImporterPlugin(): DataImporterPluginInterface
625
    {
626
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_PRODUCT_ABSTRACT_IMPORTER_PLUGIN);
627
    }
628
629
    /**
630
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Plugin\DataImporterPluginInterface
631
     */
632
    protected function getProductConcreteImporterPlugin()
633
    {
634
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_PRODUCT_CONCRETE_IMPORTER_PLUGIN);
635
    }
636
637
    /**
638
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\Configuration\ProcessConfigurationPluginInterface>
639
     */
640
    public function getDefaultAkeneoPimProcesses()
641
    {
642
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::DEFAULT_AKENEO_PIM_MIDDLEWARE_PROCESSES);
643
    }
644
645
    /**
646
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\TranslatorFunction\TranslatorFunctionPluginInterface>
647
     */
648
    public function getDefaultAkeneoPimTranslatorFunctions()
649
    {
650
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::DEFAULT_AKENEO_PIM_MIDDLEWARE_TRANSLATOR_FUNCTIONS);
651
    }
652
653
    /**
654
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
655
     */
656
    public function getDefaultCategoryImportStagePluginsStack(): array
657
    {
658
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::DEFAULT_CATEGORY_IMPORT_STAGE_PLUGINS);
659
    }
660
661
    /**
662
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
663
     */
664
    public function getDefaultProductImportStagePluginsStack(): array
665
    {
666
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::DEFAULT_PRODUCT_IMPORT_STAGE_PLUGINS);
667
    }
668
669
    /**
670
     * @return array<\SprykerMiddleware\Zed\Process\Dependency\Plugin\StagePluginInterface>
671
     */
672
    public function getDefaultProductModelImportStagePluginsStack(): array
673
    {
674
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::DEFAULT_PRODUCT_MODEL_IMPORT_STAGE_PLUGINS);
675
    }
676
677
    /**
678
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Plugin\DataImporterPluginInterface
679
     */
680
    public function getProductPriceImporterPlugin(): DataImporterPluginInterface
681
    {
682
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_PRODUCT_PRICE_IMPORTER_PLUGIN);
683
    }
684
685
    /**
686
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Plugin\DataImporterPluginInterface
687
     */
688
    public function getProductAbstractStoresImporterPlugin(): DataImporterPluginInterface
689
    {
690
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::AKENEO_PIM_MIDDLEWARE_PRODUCT_ABSTRACT_STORES_IMPORTER_PLUGIN);
691
    }
692
693
    /**
694
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Business\Translator\Generator\UrlGeneratorStrategyInterface
695
     */
696
    public function createUrlGeneratorStrategy(): UrlGeneratorStrategyInterface
697
    {
698
        return new UrlGeneratorStrategy($this->getUtilTextService());
699
    }
700
701
    /**
702
     * @return \SprykerEco\Zed\AkeneoPimMiddlewareConnector\Dependency\Facade\AkeneoPimMiddlewareConnectorToUtilTextBridgeInterface
703
     */
704
    public function getUtilTextService()
705
    {
706
        return $this->getProvidedDependency(AkeneoPimMiddlewareConnectorDependencyProvider::SERVICE_UTIL_TEXT);
707
    }
708
}
709