ArticleMediaMessage   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 69
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 2
dl 0
loc 69
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A createFromArticleMedia() 0 8 1
A getMediaId() 0 4 1
A setMediaId() 0 4 1
A getDisplayOrder() 0 4 1
A setDisplayOrder() 0 4 1
A build() 0 7 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Yproximite\Api\Message\Article;
5
6
use Yproximite\Api\Message\MessageInterface;
7
use Yproximite\Api\Model\Article\ArticleMedia;
8
9
/**
10
 * Class ArticleMediaMessage
11
 */
12
class ArticleMediaMessage implements MessageInterface
13
{
14
    /**
15
     * @var int
16
     */
17
    private $mediaId;
18
19
    /**
20
     * @var int|null
21
     */
22
    private $displayOrder;
23
24
    /**
25
     * @param ArticleMedia $media
26
     *
27
     * @return self
28
     */
29
    public static function createFromArticleMedia(ArticleMedia $media): self
30
    {
31
        $message = new self();
32
        $message->setMediaId($media->getMedia()->getId());
33
        $message->setDisplayOrder($media->getDisplayOrder());
34
35
        return $message;
36
    }
37
38
    /**
39
     * @return int
40
     */
41
    public function getMediaId(): int
42
    {
43
        return $this->mediaId;
44
    }
45
46
    /**
47
     * @param int $mediaId
48
     */
49
    public function setMediaId(int $mediaId)
50
    {
51
        $this->mediaId = $mediaId;
52
    }
53
54
    /**
55
     * @return int|null
56
     */
57
    public function getDisplayOrder()
58
    {
59
        return $this->displayOrder;
60
    }
61
62
    /**
63
     * @param int|null $displayOrder
64
     */
65
    public function setDisplayOrder(int $displayOrder = null)
66
    {
67
        $this->displayOrder = $displayOrder;
68
    }
69
70
    /**
71
     * {@inheritdoc}
72
     */
73
    public function build()
74
    {
75
        return [
76
            'media'        => $this->getMediaId(),
77
            'displayOrder' => $this->getDisplayOrder(),
78
        ];
79
    }
80
}
81