Completed
Push — master ( 39a0bd...0a53a0 )
by Fabian
02:26
created

AssetPairModel::__construct()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 36
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 18
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 17
nc 1
nop 17
dl 0
loc 36
ccs 18
cts 18
cp 1
crap 1
rs 8.8571
c 0
b 0
f 0

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: Fabian
5
 * Date: 24.07.2017
6
 * Time: 15:06
7
 */
8
9
namespace HanischIt\KrakenApi\Call\TradableAssetPairs\Model;
10
11
/**
12
 * Class AssetPairModel
13
 * @package HanischIt\KrakenApi\Call\TradableAssetPairs\Model
14
 */
15
class AssetPairModel
16
{
17
    /**
18
     * @var string
19
     */
20
    private $assetPair;
21
    /**
22
     * @var string
23
     */
24
    private $altname;
25
    /**
26
     * @var string
27
     */
28
    private $aclassBase;
29
    /**
30
     * @var string
31
     */
32
    private $base;
33
    /**
34
     * @var string
35
     */
36
    private $aclassQuote;
37
    /**
38
     * @var string
39
     */
40
    private $quote;
41
    /**
42
     * @var string
43
     */
44
    private $lot;
45
    /**
46
     * @var string
47
     */
48
    private $lotDecimals;
49
    /**
50
     * @var string
51
     */
52
    private $lotMultiplier;
53
    /**
54
     * @var string
55
     */
56
    private $leverageBuy;
57
    /**
58
     * @var string
59
     */
60
    private $leverageSell;
61
    /**
62
     * @var FeeModel[]
63
     */
64
    private $fees;
65
    /**
66
     * @var FeeModel[]
67
     */
68
    private $feesMaker;
69
    /**
70
     * @var string
71
     */
72
    private $feeVolumeCurrency;
73
    /**
74
     * @var string
75
     */
76
    private $marginCall;
77
    /**
78
     * @var string
79
     */
80
    private $marginStop;
81
    /**
82
     * @var int
83
     */
84
    private $pairDecimals;
85
86
    /**
87
     * AssetPairModel constructor.
88
     * @param string $assetPair
89
     * @param string $altname
90
     * @param string $aclassBase
91
     * @param string $base
92
     * @param string $aclassQuote
93
     * @param string $quote
94
     * @param string $lot
95
     * @param int $pairDecimals
96
     * @param string $lotDecimals
97
     * @param string $lotMultiplier
98
     * @param string $leverageBuy
99
     * @param string $leverageSell
100
     * @param FeeModel[] $fees
101
     * @param FeeModel[] $feesMaker
102
     * @param string $feeVolumeCurrency
103
     * @param string $marginCall
104
     * @param string $marginStop
105
     */
106 1
    public function __construct(
107
        $assetPair,
108
        $altname,
109
        $aclassBase,
110
        $base,
111
        $aclassQuote,
112
        $quote,
113
        $lot,
114
        $pairDecimals,
115
        $lotDecimals,
116
        $lotMultiplier,
117
        $leverageBuy,
118
        $leverageSell,
119
        $fees,
120
        $feesMaker,
121
        $feeVolumeCurrency,
122
        $marginCall,
123
        $marginStop
124
    ) {
125 1
        $this->assetPair = $assetPair;
126 1
        $this->altname = $altname;
127 1
        $this->aclassBase = $aclassBase;
128 1
        $this->base = $base;
129 1
        $this->aclassQuote = $aclassQuote;
130 1
        $this->quote = $quote;
131 1
        $this->lot = $lot;
132 1
        $this->pairDecimals = $pairDecimals;
133 1
        $this->lotDecimals = $lotDecimals;
134 1
        $this->lotMultiplier = $lotMultiplier;
135 1
        $this->leverageBuy = $leverageBuy;
136 1
        $this->leverageSell = $leverageSell;
137 1
        $this->fees = $fees;
138 1
        $this->feesMaker = $feesMaker;
139 1
        $this->feeVolumeCurrency = $feeVolumeCurrency;
140 1
        $this->marginCall = $marginCall;
141 1
        $this->marginStop = $marginStop;
142 1
    }
143
144
    /**
145
     * @return string
146
     */
147 1
    public function getAssetPair()
148
    {
149 1
        return $this->assetPair;
150
    }
151
152
    /**
153
     * @return int
154
     */
155 1
    public function getPairDecimals()
156
    {
157 1
        return $this->pairDecimals;
158
    }
159
160
161
    /**
162
     * @return string
163
     */
164 1
    public function getAltname()
165
    {
166 1
        return $this->altname;
167
    }
168
169
    /**
170
     * @return string
171
     */
172 1
    public function getAclassBase()
173
    {
174 1
        return $this->aclassBase;
175
    }
176
177
    /**
178
     * @return string
179
     */
180 1
    public function getBase()
181
    {
182 1
        return $this->base;
183
    }
184
185
    /**
186
     * @return string
187
     */
188 1
    public function getAclassQuote()
189
    {
190 1
        return $this->aclassQuote;
191
    }
192
193
    /**
194
     * @return string
195
     */
196 1
    public function getQuote()
197
    {
198 1
        return $this->quote;
199
    }
200
201
    /**
202
     * @return string
203
     */
204 1
    public function getLot()
205
    {
206 1
        return $this->lot;
207
    }
208
209
    /**
210
     * @return string
211
     */
212 1
    public function getLotDecimals()
213
    {
214 1
        return $this->lotDecimals;
215
    }
216
217
    /**
218
     * @return string
219
     */
220 1
    public function getLotMultiplier()
221
    {
222 1
        return $this->lotMultiplier;
223
    }
224
225
    /**
226
     * @return string
227
     */
228 1
    public function getLeverageBuy()
229
    {
230 1
        return $this->leverageBuy;
231
    }
232
233
    /**
234
     * @return string
235
     */
236 1
    public function getLeverageSell()
237
    {
238 1
        return $this->leverageSell;
239
    }
240
241
    /**
242
     * @return FeeModel[]
243
     */
244 1
    public function getFees()
245
    {
246 1
        return $this->fees;
247
    }
248
249
    /**
250
     * @return FeeModel[]
251
     */
252 1
    public function getFeesMaker()
253
    {
254 1
        return $this->feesMaker;
255
    }
256
257
    /**
258
     * @return string
259
     */
260 1
    public function getFeeVolumeCurrency()
261
    {
262 1
        return $this->feeVolumeCurrency;
263
    }
264
265
    /**
266
     * @return string
267
     */
268 1
    public function getMarginCall()
269
    {
270 1
        return $this->marginCall;
271
    }
272
273
    /**
274
     * @return string
275
     */
276 1
    public function getMarginStop()
277
    {
278 1
        return $this->marginStop;
279
    }
280
}
281