Pull merge.
[yaffs-website] / vendor / consolidation / robo / src / State / StateAwareTrait.php
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 }