Completed
Push — master ( 81150b...194baa )
by Eric
02:26
created

src/Event/MultiRequestErroredEvent.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
/*
4
 * This file is part of the Ivory Http Adapter package.
5
 *
6
 * (c) Eric GELOEN <[email protected]>
7
 *
8
 * For the full copyright and license information, please read the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Ivory\HttpAdapter\Event;
13
14
use Ivory\HttpAdapter\HttpAdapterException;
15
use Ivory\HttpAdapter\HttpAdapterInterface;
16
use Ivory\HttpAdapter\Message\ResponseInterface;
17
18
/**
19
 * Multi request errored event.
20
 *
21
 * @author GeLo <[email protected]>
22
 */
23 View Code Duplication
class MultiRequestErroredEvent extends AbstractEvent
0 ignored issues
show
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
24
{
25
    /** @var \Ivory\HttpAdapter\HttpAdapterException[] */
26
    private $exceptions;
27
28
    /** @var \Ivory\HttpAdapter\Message\ResponseInterface[] */
29
    private $responses = array();
30
31
    /**
32
     * Creates a multi request errored event.
33
     *
34
     * @param \Ivory\HttpAdapter\HttpAdapterInterface   $httpAdapter The http adapter.
35
     * @param \Ivory\HttpAdapter\HttpAdapterException[] $exceptions  The exceptions.
36
     */
37
    public function __construct(HttpAdapterInterface $httpAdapter, array $exceptions)
38
    {
39
        parent::__construct($httpAdapter);
40
41
        $this->setExceptions($exceptions);
42
    }
43
44
    /**
45
     * Clears the exceptions.
46
     */
47
    public function clearExceptions()
48
    {
49
        $this->exceptions = array();
50
    }
51
52
    /**
53
     * Checks if there are exceptions.
54
     *
55
     * @return boolean TRUE if there are exceptions else FALSE.
56
     */
57
    public function hasExceptions()
58
    {
59
        return !empty($this->exceptions);
60
    }
61
62
    /**
63
     * Gets the exceptions.
64
     *
65
     * @return \Ivory\HttpAdapter\HttpAdapterException[] The exceptions.
66
     */
67
    public function getExceptions()
68
    {
69
        return $this->exceptions;
70
    }
71
72
    /**
73
     * Sets the exceptions.
74
     *
75
     * @param \Ivory\HttpAdapter\HttpAdapterException[] $exceptions The exceptions.
76
     */
77
    public function setExceptions(array $exceptions)
78
    {
79
        $this->clearExceptions();
80
        $this->addExceptions($exceptions);
81
    }
82
83
    /**
84
     * Adds the exceptions.
85
     *
86
     * @param \Ivory\HttpAdapter\HttpAdapterException[] $exceptions The exceptions.
87
     */
88
    public function addExceptions(array $exceptions)
89
    {
90
        foreach ($exceptions as $exception) {
91
            $this->addException($exception);
92
        }
93
    }
94
95
    /**
96
     * Removes the exceptions.
97
     *
98
     * @param \Ivory\HttpAdapter\HttpAdapterException[] $exceptions The exceptions.
99
     */
100
    public function removeExceptions(array $exceptions)
101
    {
102
        foreach ($exceptions as $exception) {
103
            $this->removeException($exception);
104
        }
105
    }
106
107
    /**
108
     * Checks if there is an exception.
109
     *
110
     * @param \Ivory\HttpAdapter\HttpAdapterException $exception The exception.
111
     *
112
     * @return boolean TRUE if there is the exception else FALSE.
113
     */
114
    public function hasException(HttpAdapterException $exception)
115
    {
116
        return array_search($exception, $this->exceptions, true) !== false;
117
    }
118
119
    /**
120
     * Adds an exception.
121
     *
122
     * @param \Ivory\HttpAdapter\HttpAdapterException $exception The exception
123
     */
124
    public function addException(HttpAdapterException $exception)
125
    {
126
        $this->exceptions[] = $exception;
127
    }
128
129
    /**
130
     * Removes an exception.
131
     *
132
     * @param \Ivory\HttpAdapter\HttpAdapterException $exception The exception.
133
     */
134
    public function removeException(HttpAdapterException $exception)
135
    {
136
        unset($this->exceptions[array_search($exception, $this->exceptions, true)]);
137
        $this->exceptions = array_values($this->exceptions);
138
    }
139
140
    /**
141
     * Clears the responses.
142
     */
143
    public function clearResponses()
144
    {
145
        $this->responses = array();
146
    }
147
148
    /**
149
     * Checks if there are responses.
150
     *
151
     * @return boolean TRUE if there are responses else FALSE.
152
     */
153
    public function hasResponses()
154
    {
155
        return !empty($this->responses);
156
    }
157
158
    /**
159
     * Gets the responses.
160
     *
161
     * @return \Ivory\HttpAdapter\Message\ResponseInterface[] The responses.
162
     */
163
    public function getResponses()
164
    {
165
        return $this->responses;
166
    }
167
168
    /**
169
     * Sets the responses.
170
     *
171
     * @param \Ivory\HttpAdapter\Message\ResponseInterface[] $responses The responses.
172
     */
173
    public function setResponses(array $responses)
174
    {
175
        $this->clearResponses();
176
        $this->addResponses($responses);
177
    }
178
179
    /**
180
     * Adds the responses.
181
     *
182
     * @param \Ivory\HttpAdapter\Message\ResponseInterface[] $responses The responses.
183
     */
184
    public function addResponses(array $responses)
185
    {
186
        foreach ($responses as $response) {
187
            $this->addResponse($response);
188
        }
189
    }
190
191
    /**
192
     * Removes the responses.
193
     *
194
     * @param \Ivory\HttpAdapter\Message\ResponseInterface[] $responses The responses.
195
     */
196
    public function removeResponses(array $responses)
197
    {
198
        foreach ($responses as $response) {
199
            $this->removeResponse($response);
200
        }
201
    }
202
203
    /**
204
     * Checks if there is a response.
205
     *
206
     * @param \Ivory\HttpAdapter\Message\ResponseInterface $response The response.
207
     *
208
     * @return boolean TRUE if there is the response else FALSE.
209
     */
210
    public function hasResponse(ResponseInterface $response)
211
    {
212
        return array_search($response, $this->responses, true) !== false;
213
    }
214
215
    /**
216
     * Adds a response.
217
     *
218
     * @param \Ivory\HttpAdapter\Message\ResponseInterface $response The response.
219
     */
220
    public function addResponse(ResponseInterface $response)
221
    {
222
        $this->responses[] = $response;
223
    }
224
225
    /**
226
     * Removes a response.
227
     *
228
     * @param \Ivory\HttpAdapter\Message\ResponseInterface $response The response.
229
     */
230
    public function removeResponse(ResponseInterface $response)
231
    {
232
        unset($this->responses[array_search($response, $this->responses, true)]);
233
        $this->responses = array_values($this->responses);
234
    }
235
}
236