BaseNotification::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: siim
5
 * Date: 7.02.19
6
 * Time: 8:02
7
 */
8
9
namespace Sf4\Api\Notification;
10
11
use Doctrine\Common\Collections\ArrayCollection;
12
use Sf4\Api\Utils\Traits\ArrayCollectionToArrayTrait;
13
14
class BaseNotification implements NotificationInterface
15
{
16
17
    use ArrayCollectionToArrayTrait;
18
19
    /** @var ArrayCollection $messages */
20
    protected $messages;
21
22
    public function __construct()
23
    {
24
        $this->messages = new ArrayCollection();
25
    }
26
27
    public function getMessages(): ArrayCollection
28
    {
29
        return $this->messages;
30
    }
31
32
    public function addMessage(MessageInterface $message): void
33
    {
34
        $this->getMessages()->add($message);
35
    }
36
37
    public function toArray(): array
38
    {
39
        return $this->arrayCollectionToArray($this->messages);
40
    }
41
42
    public function hasMessages(): bool
43
    {
44
        return $this->getMessages()->count() > 0;
45
    }
46
47
    public function hasErrorMessages(): bool
48
    {
49
        if ($this->getMessages()->count() <= 0) {
50
            return false;
51
        }
52
53
        foreach ($this->messages as $message) {
54
            if ($message instanceof ErrorMessageInterface) {
55
                return true;
56
            }
57
        }
58
59
        return false;
60
    }
61
}
62