FileFactory.php
948 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
declare(strict_types=1);
namespace ACP\Search\SegmentRepository;
use ACP\Search\Storage;
use ACP\Storage\AbstractDecoderFactory;
use ACP\Storage\Directory;
use ACP\Storage\EncoderFactory;
use ACP\Storage\Serializer;
final class FileFactory
{
private $abstract_decoder_factory;
private $encoder_factory;
private $serializer;
public function __construct(
AbstractDecoderFactory $abstract_decoder_factory,
EncoderFactory $encoder_factory,
Serializer\PhpSerializer\File $serializer
) {
$this->abstract_decoder_factory = $abstract_decoder_factory;
$this->encoder_factory = $encoder_factory;
$this->serializer = $serializer;
}
public function create(Directory $directory): File
{
return new File(
$directory,
$this->abstract_decoder_factory,
$this->encoder_factory,
$this->serializer
);
}
}