EncoderCollectionFactory::getCollection()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 27
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 20
c 1
b 0
f 0
dl 0
loc 27
rs 9.6
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Knik\Binn\Encoder;
4
5
use Knik\Binn\Binn;
6
use Knik\Binn\Encoder\Containers\BinnListEncoder;
7
use Knik\Binn\Encoder\Containers\BinnMapEncoder;
8
use Knik\Binn\Encoder\Containers\BinnObjectEncoder;
9
10
class EncoderCollectionFactory
11
{
12
    public function getCollection(): EncoderCollection
13
    {
14
        $encoderCollection = new EncoderCollection();
15
16
        $simpleTypeEncoder = new SimpleTypeValueEncoder();
17
18
        $encoderCollection->add(Binn::BINN_TRUE, $simpleTypeEncoder);
19
        $encoderCollection->add(Binn::BINN_FALSE, $simpleTypeEncoder);
20
        $encoderCollection->add(Binn::BINN_UINT8, $simpleTypeEncoder);
21
        $encoderCollection->add(Binn::BINN_INT8, $simpleTypeEncoder);
22
        $encoderCollection->add(Binn::BINN_UINT16, $simpleTypeEncoder);
23
        $encoderCollection->add(Binn::BINN_INT16, $simpleTypeEncoder);
24
        $encoderCollection->add(Binn::BINN_UINT32, $simpleTypeEncoder);
25
        $encoderCollection->add(Binn::BINN_INT32, $simpleTypeEncoder);
26
        $encoderCollection->add(Binn::BINN_UINT64, $simpleTypeEncoder);
27
        $encoderCollection->add(Binn::BINN_INT64, $simpleTypeEncoder);
28
        $encoderCollection->add(Binn::BINN_STRING, $simpleTypeEncoder);
29
        $encoderCollection->add(Binn::BINN_FLOAT32, $simpleTypeEncoder);
30
        $encoderCollection->add(Binn::BINN_FLOAT64, $simpleTypeEncoder);
31
32
        $encoderCollection->add(Binn::BINN_STORAGE_BLOB, new BlobEncode());
33
34
        $encoderCollection->add(Binn::BINN_LIST, new BinnListEncoder($encoderCollection));
35
        $encoderCollection->add(Binn::BINN_MAP, new BinnMapEncoder($encoderCollection));
36
        $encoderCollection->add(Binn::BINN_OBJECT, new BinnObjectEncoder($encoderCollection));
37
38
        return $encoderCollection;
39
    }
40
}
41