Completed
Pull Request — master (#580)
by Greg
03:19
created

StateAwareTrait   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
lcom 1
cbo 1
dl 0
loc 44
rs 10
c 1
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getState() 0 4 1
A setState() 0 4 1
A updateState() 0 4 1
A resetState() 0 4 1
A setStateValue() 0 4 1
1
<?php
2
namespace Robo\State;
3
4
use Robo\State\Data;
5
6
trait StateAwareTrait
7
{
8
    protected $state;
9
10
    /**
11
     * {@inheritdoc}
12
     */
13
    public function getState()
14
    {
15
        return $this->state;
16
    }
17
18
    /**
19
     * {@inheritdoc}
20
     */
21
    public function setState(Data $state)
22
    {
23
        $this->state = $state;
24
    }
25
26
    /**
27
     * {@inheritdoc}
28
     */
29
    public function setStateValue($key, $value)
30
    {
31
        $this->state[$key] = $value;
32
    }
33
34
    /**
35
     * {@inheritdoc}
36
     */
37
    public function updateState(Data $update)
38
    {
39
        $this->state->update($update);
40
    }
41
42
    /**
43
     * {@inheritdoc}
44
     */
45
    public function resetState()
46
    {
47
        $this->state = new Data();
48
    }
49
}
50