Test Failed
Pull Request — master (#18)
by Alex
02:31
created

ParametersAwareTrait   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 4
eloc 6
c 1
b 1
f 0
dl 0
loc 49
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getParameters() 0 3 1
A setParam() 0 3 1
A getParam() 0 3 1
A setParameters() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Arp\EventDispatcher\Event;
6
7
/**
8
 * @author  Alex Patterson <[email protected]>
9
 * @package Arp\EventDispatcher\Event
10
 */
11
trait ParametersAwareTrait
12
{
13
    /**
14
     * @var ParametersInterface<mixed>
15
     */
16
    protected ParametersInterface $params;
17
18
    /**
19
     * Set the parameters collection
20
     *
21
     * @param ParametersInterface<mixed> $params
22
     */
23
    public function setParameters(ParametersInterface $params): void
24
    {
25
        $this->params = $params;
26
    }
27
28
    /**
29
     * Return the parameters collection
30
     *
31
     * @return ParametersInterface<mixed>
32
     */
33
    public function getParameters(): ParametersInterface
34
    {
35
        return $this->params;
36
    }
37
38
    /**
39
     * Return a single parameter value by $name or if not found $default
40
     *
41
     * @param string $name
42
     * @param mixed  $default
43
     *
44
     * @return mixed
45
     */
46
    public function getParam(string $name, $default = null)
47
    {
48
        return $this->params->getParam($name, $default);
49
    }
50
51
    /**
52
     * Set a single parameter value by $name
53
     *
54
     * @param string $name
55
     * @param mixed  $value
56
     */
57
    public function setParam(string $name, $value): void
58
    {
59
        $this->params->setParam($name, $value);
60
    }
61
}
62