Completed
Push — master ( 3bc119...0177d6 )
by Jonas
23s queued 11s
created

MarkedAsCanonical   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 1
dl 0
loc 45
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A getDuplicatedBy() 0 4 1
A getDuplicatesOfDuplicate() 0 4 1
A serialize() 0 7 1
A deserialize() 0 4 1
1
<?php
2
3
namespace CultuurNet\UDB3\Place\Events;
4
5
use CultuurNet\UDB3\Place\PlaceEvent;
6
7
final class MarkedAsCanonical extends PlaceEvent
8
{
9
    /**
10
     * @var string
11
     */
12
    private $duplicatedBy;
13
14
    /**
15
     * @var string[]
16
     */
17
    private $duplicatesOfDuplicate = [];
18
19
    public function __construct(string $placeId, string $duplicatedBy, array $duplicatesOfDuplicate = [])
20
    {
21
        parent::__construct($placeId);
22
        $this->duplicatedBy = $duplicatedBy;
23
        $this->duplicatesOfDuplicate = $duplicatesOfDuplicate;
24
    }
25
26
    public function getDuplicatedBy(): string
27
    {
28
        return $this->duplicatedBy;
29
    }
30
31
    /**
32
     * @return string[]
33
     */
34
    public function getDuplicatesOfDuplicate(): array
35
    {
36
        return $this->duplicatesOfDuplicate;
37
    }
38
39
    public function serialize()
40
    {
41
        return parent::serialize() + [
42
            'duplicated_by' => $this->duplicatedBy,
43
            'duplicates_of_duplicate' => $this->duplicatesOfDuplicate,
44
        ];
45
    }
46
47
    public static function deserialize(array $data)
48
    {
49
        return new static($data['place_id'], $data['duplicated_by'], $data['duplicates_of_duplicate']);
50
    }
51
}
52