Completed
Pull Request — master (#306)
by Luc
06:40 queued 01:26
created

TitleTranslated::getLanguage()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace CultuurNet\UDB3\Organizer\Events;
4
5
use CultuurNet\UDB3\Language;
6
use CultuurNet\UDB3\Title;
7
8
class TitleTranslated extends OrganizerEvent
9
{
10
    /**
11
     * @var Title
12
     */
13
    private $title;
14
15
    /**
16
     * @var Language
17
     */
18
    private $language;
19
20
    /**
21
     * TitleTranslated constructor.
22
     * @param string $organizerId
23
     * @param Title $title
24
     * @param Language $language
25
     */
26
    public function __construct(
27
        $organizerId,
28
        Title $title,
29
        Language $language
30
    ) {
31
        parent::__construct($organizerId);
32
33
        $this->title = $title;
34
        $this->language = $language;
35
    }
36
37
    /**
38
     * @return Title
39
     */
40
    public function getTitle()
41
    {
42
        return $this->title;
43
    }
44
45
    /**
46
     * @return Language
47
     */
48
    public function getLanguage()
49
    {
50
        return $this->language;
51
    }
52
53
    /**
54
     * @return array
55
     */
56
    public function serialize()
57
    {
58
        return parent::serialize() + [
59
                'title' => $this->getTitle()->toNative(),
60
                'language' => $this->getLanguage()->getCode()
61
            ];
62
    }
63
64
    /**
65
     * @param array $data
66
     * @return static
67
     */
68
    public static function deserialize(array $data)
69
    {
70
        return new static(
71
            $data['organizer_id'],
72
            new Title($data['title']),
73
            new Language($data['language'])
74
        );
75
    }
76
}
77