Passed
Pull Request — master (#461)
by Songda
02:16
created

Rocket::getDirection()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yansongda\Pay;
6
7
use ArrayAccess;
8
use JsonSerializable as JsonSerializableInterface;
9
use Psr\Http\Message\MessageInterface;
10
use Psr\Http\Message\RequestInterface;
11
use Serializable as SerializableInterface;
12
use Yansongda\Supports\Collection;
13
use Yansongda\Supports\Traits\Accessable;
14
use Yansongda\Supports\Traits\Arrayable;
15
use Yansongda\Supports\Traits\Serializable;
16
17
class Rocket implements JsonSerializableInterface, SerializableInterface, ArrayAccess
18
{
19
    use Accessable;
20
    use Arrayable;
21
    use Serializable;
22
23
    /**
24
     * @var \Psr\Http\Message\RequestInterface|null
25
     */
26
    private $radar = null;
27
28
    /**
29
     * @var array
30
     */
31
    private $params = [];
32
33
    /**
34
     * @var \Yansongda\Supports\Collection|null
35
     */
36
    private $payload = null;
37
38
    /**
39
     * @var string|null
40
     */
41
    private $direction = null;
42
43
    /**
44
     * @var \Yansongda\Supports\Collection|\Psr\Http\Message\MessageInterface|array|null
45
     */
46
    private $destination = null;
47
48
    /**
49
     * @var \Psr\Http\Message\MessageInterface|null
50
     */
51
    private $destinationOrigin = null;
52
53
    public function getRadar(): ?RequestInterface
54
    {
55
        return $this->radar;
56
    }
57
58
    public function setRadar(?RequestInterface $radar): Rocket
59
    {
60
        $this->radar = $radar;
61
62
        return $this;
63
    }
64
65
    public function getParams(): array
66
    {
67
        return $this->params;
68
    }
69
70
    public function setParams(array $params): Rocket
71
    {
72
        $this->params = $params;
73
74
        return $this;
75
    }
76
77
    public function mergeParams(array $params): Rocket
78
    {
79
        $this->params = array_merge($this->params, $params);
80
81
        return $this;
82
    }
83
84
    public function getPayload(): ?Collection
85
    {
86
        return $this->payload;
87
    }
88
89
    public function setPayload(?Collection $payload): Rocket
90
    {
91
        $this->payload = $payload;
92
93
        return $this;
94
    }
95
96
    public function mergePayload(array $payload): Rocket
97
    {
98
        if (empty($this->payload)) {
99
            $this->payload = new Collection();
100
        }
101
102
        $this->payload = $this->payload->merge($payload);
103
104
        return $this;
105
    }
106
107
    public function getDirection(): ?string
108
    {
109
        return $this->direction;
110
    }
111
112
    public function setDirection(?string $direction): Rocket
113
    {
114
        $this->direction = $direction;
115
116
        return $this;
117
    }
118
119
    /**
120
     * @return \Psr\Http\Message\MessageInterface|\Yansongda\Supports\Collection|array|null
121
     */
122
    public function getDestination()
123
    {
124
        return $this->destination;
125
    }
126
127
    /**
128
     * @param \Psr\Http\Message\MessageInterface|\Yansongda\Supports\Collection|array|null $destination
129
     */
130
    public function setDestination($destination): Rocket
131
    {
132
        $this->destination = $destination;
133
134
        return $this;
135
    }
136
137
    public function getDestinationOrigin(): ?MessageInterface
138
    {
139
        return $this->destinationOrigin;
140
    }
141
142
    public function setDestinationOrigin(?MessageInterface $destinationOrigin): Rocket
143
    {
144
        $this->destinationOrigin = $destinationOrigin;
145
146
        return $this;
147
    }
148
}
149