Passed
Pull Request — master (#11)
by Oleksandr
04:55
created

AdapterFactory::createAssetCategoryApiAdapter()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter;
9
10
use SprykerEco\Service\AkeneoPim\AkeneoPimConfig;
11
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetApiAdapter;
12
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetCategoryApiAdapter;
13
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetReferenceFileApiAdapter;
14
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetReferenceFileApiAdapterInterface;
15
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetTagApiAdapter;
16
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetVariationFileApiAdapter;
17
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetVariationFileApiAdapterInterface;
18
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Attributes\AttributeApiAdapter;
19
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Attributes\AttributeGroupApiAdapter;
20
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Attributes\AttributeOptionApiAdapter;
21
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Attributes\AttributeOptionApiAdapterInterface;
22
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Category\CategoryApiAdapter;
23
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Category\ChannelApiAdapter;
24
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Category\CurrencyApiAdapter;
25
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Category\LocaleApiAdapter;
26
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Family\FamilyApiAdapter;
27
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Family\FamilyVariantApiAdapter;
28
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Family\FamilyVariantApiAdapterInterface;
29
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Family\MeasureFamilyApiAdapter;
30
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\AssociationTypeApiAdapter;
31
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductApiAdapter;
32
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductDraftApiAdapter;
33
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductDraftApiAdapterInterface;
34
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductMediaFileApiAdapter;
35
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductModelApiAdapter;
36
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductModelDraftApiAdapter;
37
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductModelDraftApiAdapterInterface;
38
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\PublishedProductApiAdapter;
39
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityApiAdapter;
40
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityApiAdapterInterface;
41
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityAttributeApiAdapter;
42
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityAttributeApiAdapterInterface;
43
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityAttributeOptionApiAdapter;
44
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityAttributeOptionApiAdapterInterface;
45
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityMediaFileApiAdapter;
46
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityMediaFileApiAdapterInterface;
47
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityRecordApiAdapter;
48
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityRecordApiAdapterInterface;
49
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Sdk\AkeneoPimSdkFactory;
50
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Sdk\AkeneoPimSdkFactoryInterface;
51
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\WrapperFactoryInterface;
52
53
class AdapterFactory implements AdapterFactoryInterface
54
{
55
    /**
56
     * @var \SprykerEco\Service\AkeneoPim\AkeneoPimConfig
57
     */
58
    protected $config;
59
60
    /**
61
     * @var \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\WrapperFactoryInterface
62
     */
63
    protected $wrapperFactory;
64
65
    /**
66
     * @param \SprykerEco\Service\AkeneoPim\AkeneoPimConfig $config
67
     * @param \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\WrapperFactoryInterface $wrapperFactory
68
     */
69
    public function __construct(AkeneoPimConfig $config, WrapperFactoryInterface $wrapperFactory)
70
    {
71
        $this->config = $config;
72
        $this->wrapperFactory = $wrapperFactory;
73
    }
74
75
    /**
76
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
77
     */
78
    public function createProductApiAdapter(): ApiAdapterInterface
79
    {
80
        return new ProductApiAdapter(
81
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
82
            $this->wrapperFactory
83
        );
84
    }
85
86
    /**
87
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
88
     */
89
    public function createCategoryApiAdapter(): ApiAdapterInterface
90
    {
91
        return new CategoryApiAdapter(
92
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
93
            $this->wrapperFactory
94
        );
95
    }
96
97
    /**
98
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
99
     */
100
    public function createAttributeApiAdapter(): ApiAdapterInterface
101
    {
102
        return new AttributeApiAdapter(
103
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
104
            $this->wrapperFactory
105
        );
106
    }
107
108
    /**
109
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
110
     */
111
    public function createAttributeGroupApiAdapter(): ApiAdapterInterface
112
    {
113
        return new AttributeGroupApiAdapter(
114
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
115
            $this->wrapperFactory
116
        );
117
    }
118
119
    /**
120
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Attributes\AttributeOptionApiAdapterInterface
121
     */
122
    public function createAttributeOptionApiAdapter(): AttributeOptionApiAdapterInterface
123
    {
124
        return new AttributeOptionApiAdapter(
125
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
126
            $this->wrapperFactory
127
        );
128
    }
129
130
    /**
131
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
132
     */
133
    public function createAssociationTypeApiAdapter(): ApiAdapterInterface
134
    {
135
        return new AssociationTypeApiAdapter(
136
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
137
            $this->wrapperFactory
138
        );
139
    }
140
141
    /**
142
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
143
     */
144
    public function createChannelApiAdapter(): ApiAdapterInterface
145
    {
146
        return new ChannelApiAdapter(
147
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
148
            $this->wrapperFactory
149
        );
150
    }
151
152
    /**
153
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
154
     */
155
    public function createCurrencyApiAdapter(): ApiAdapterInterface
156
    {
157
        return new CurrencyApiAdapter(
158
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
159
            $this->wrapperFactory
160
        );
161
    }
162
163
    /**
164
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
165
     */
166
    public function createFamilyApiAdapter(): ApiAdapterInterface
167
    {
168
        return new FamilyApiAdapter(
169
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
170
            $this->wrapperFactory
171
        );
172
    }
173
174
    /**
175
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Family\FamilyVariantApiAdapterInterface
176
     */
177
    public function createFamilyVariantApiAdapter(): FamilyVariantApiAdapterInterface
178
    {
179
        return new FamilyVariantApiAdapter(
180
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
181
            $this->wrapperFactory
182
        );
183
    }
184
185
    /**
186
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
187
     */
188
    public function createLocaleApiAdapter(): ApiAdapterInterface
189
    {
190
        return new LocaleApiAdapter(
191
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
192
            $this->wrapperFactory
193
        );
194
    }
195
196
    /**
197
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
198
     */
199
    public function createMeasureFamilyApiAdapter(): ApiAdapterInterface
200
    {
201
        return new MeasureFamilyApiAdapter(
202
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
203
            $this->wrapperFactory
204
        );
205
    }
206
207
    /**
208
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
209
     */
210
    public function createProductMediaFileApiAdapter(): ApiAdapterInterface
211
    {
212
        return new ProductMediaFileApiAdapter(
213
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
214
            $this->wrapperFactory
215
        );
216
    }
217
218
    /**
219
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
220
     */
221
    public function createProductModelApiAdapter(): ApiAdapterInterface
222
    {
223
        return new ProductModelApiAdapter(
224
            $this->createAkeneoPimSdkFactory()->createAkeneoPimClient($this->config),
225
            $this->wrapperFactory
226
        );
227
    }
228
229
    /**
230
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
231
     */
232
    public function createPublishedProductApiAdapter(): ApiAdapterInterface
233
    {
234
        return new PublishedProductApiAdapter(
235
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config),
236
            $this->wrapperFactory
237
        );
238
    }
239
240
    /**
241
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Sdk\AkeneoPimSdkFactoryInterface
242
     */
243
    public function createAkeneoPimSdkFactory(): AkeneoPimSdkFactoryInterface
244
    {
245
        return new AkeneoPimSdkFactory();
246
    }
247
248
    /**
249
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
250
     */
251
    public function createAssetApiAdapter(): ApiAdapterInterface
252
    {
253
        return new AssetApiAdapter(
254
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config),
255
            $this->wrapperFactory
256
        );
257
    }
258
259
    /**
260
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
261
     */
262
    public function createAssetCategoryApiAdapter(): ApiAdapterInterface
263
    {
264
        return new AssetCategoryApiAdapter(
265
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config),
266
            $this->wrapperFactory
267
        );
268
    }
269
270
    /**
271
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ApiAdapterInterface
272
     */
273
    public function createAssetTagApiAdapter(): ApiAdapterInterface
274
    {
275
        return new AssetTagApiAdapter(
276
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config),
277
            $this->wrapperFactory
278
        );
279
    }
280
281
    /**
282
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityApiAdapterInterface
283
     */
284
    public function createReferenceEntityApiAdapter(): ReferenceEntityApiAdapterInterface
285
    {
286
        return new ReferenceEntityApiAdapter(
287
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
288
        );
289
    }
290
291
    /**
292
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityRecordApiAdapterInterface
293
     */
294
    public function createReferenceEntityRecordApiAdapter(): ReferenceEntityRecordApiAdapterInterface
295
    {
296
        return new ReferenceEntityRecordApiAdapter(
297
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
298
        );
299
    }
300
301
    /**
302
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityAttributeApiAdapterInterface
303
     */
304
    public function createReferenceEntityAttributeApiAdapter(): ReferenceEntityAttributeApiAdapterInterface
305
    {
306
        return new ReferenceEntityAttributeApiAdapter(
307
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
308
        );
309
    }
310
311
    /**
312
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityAttributeOptionApiAdapterInterface
313
     */
314
    public function createReferenceEntityAttributeOptionApiAdapter(): ReferenceEntityAttributeOptionApiAdapterInterface
315
    {
316
        return new ReferenceEntityAttributeOptionApiAdapter(
317
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
318
        );
319
    }
320
321
    /**
322
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductModelDraftApiAdapterInterface
323
     */
324
    public function createProductModelDraftApiAdapter(): ProductModelDraftApiAdapterInterface
325
    {
326
        return new ProductModelDraftApiAdapter(
327
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
328
        );
329
    }
330
331
    /**
332
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Product\ProductDraftApiAdapterInterface
333
     */
334
    public function createProductDraftApiAdapter(): ProductDraftApiAdapterInterface
335
    {
336
        return new ProductDraftApiAdapter(
337
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
338
        );
339
    }
340
341
    /**
342
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\ReferenceEntity\ReferenceEntityMediaFileApiAdapterInterface
343
     */
344
    public function createReferenceEntityMediaFileApiAdapter(): ReferenceEntityMediaFileApiAdapterInterface
345
    {
346
        return new ReferenceEntityMediaFileApiAdapter(
347
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
348
        );
349
    }
350
351
    /**
352
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetReferenceFileApiAdapterInterface
353
     */
354
    public function createAssetReferenceFileApiAdapter(): AssetReferenceFileApiAdapterInterface
355
    {
356
        return new AssetReferenceFileApiAdapter(
357
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
358
        );
359
    }
360
361
    /**
362
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Adapter\Asset\AssetVariationFileApiAdapterInterface
363
     */
364
    public function createAssetVariationFileApiAdapter(): AssetVariationFileApiAdapterInterface
365
    {
366
        return new AssetVariationFileApiAdapter(
367
            $this->createAkeneoPimSdkFactory()->createAkeneoPimEnterpriseClient($this->config)
368
        );
369
    }
370
}
371