OutgoingLogicalMessageMutationContext   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 75
Duplicated Lines 100 %

Coupling/Cohesion

Components 2
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 6
lcom 2
cbo 1
dl 75
loc 75
ccs 21
cts 21
cp 1
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 8 8 1
A getMessage() 4 4 1
A getHeaders() 4 4 1
A hasMessageChanged() 4 4 1
A updateMessage() 8 8 1
A setHeader() 4 4 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
namespace PSB\Core\MessageMutation\Pipeline\Outgoing;
3
4
5
use PSB\Core\Util\Guard;
6
7 View Code Duplication
class OutgoingLogicalMessageMutationContext
8
{
9
    /**
10
     * @var object
11
     */
12
    private $message;
13
14
    /**
15
     * @var array
16
     */
17
    private $headers;
18
19
    /**
20
     * @var bool
21
     */
22
    private $hasMessageChanged = false;
23
24
    /**
25
     * @param object $message
26
     * @param array  $headers
27
     */
28 13
    public function __construct($message, array $headers)
29
    {
30 13
        Guard::againstNull('message', $message);
31 12
        Guard::againstNonObject('message', $message);
32
33 11
        $this->message = $message;
34 11
        $this->headers = $headers;
35 11
    }
36
37
    /**
38
     * @return object
39
     */
40 3
    public function getMessage()
41
    {
42 3
        return $this->message;
43
    }
44
45
    /**
46
     * @return array
47
     */
48 4
    public function getHeaders()
49
    {
50 4
        return $this->headers;
51
    }
52
53
    /**
54
     * @return bool
55
     */
56 4
    public function hasMessageChanged()
57
    {
58 4
        return $this->hasMessageChanged;
59
    }
60
61
    /**
62
     * @param object $message
63
     */
64 5
    public function updateMessage($message)
65
    {
66 5
        Guard::againstNull('message', $message);
67 4
        Guard::againstNonObject('message', $message);
68
69 3
        $this->message = $message;
70 3
        $this->hasMessageChanged = true;
71 3
    }
72
73
    /**
74
     * @param string $name
75
     * @param string $value
76
     */
77 2
    public function setHeader($name, $value)
78
    {
79 2
        $this->headers[$name] = $value;
80 2
    }
81
}
82