Completed
Push — master ( bd4ff0...d83768 )
by Fabian
03:55
created

AssetPairModel::__construct()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 36
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 17
nc 1
nop 17
dl 0
loc 36
ccs 0
cts 36
cp 0
crap 2
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\Model\TradableAssetPairs;
10
11
/**
12
 * Class AssetPairModel
13
 * @package HanischIt\KrakenApi\Model\TradableAssetPairs
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 string
63
     */
64
    private $fees;
65
    /**
66
     * @var string
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 string $fees
101
     * @param string $feesMaker
102
     * @param string $feeVolumeCurrency
103
     * @param string $marginCall
104
     * @param string $marginStop
105
     */
106
    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
        $this->assetPair = $assetPair;
126
        $this->altname = $altname;
127
        $this->aclassBase = $aclassBase;
128
        $this->base = $base;
129
        $this->aclassQuote = $aclassQuote;
130
        $this->quote = $quote;
131
        $this->lot = $lot;
132
        $this->pairDecimals = $pairDecimals;
133
        $this->lotDecimals = $lotDecimals;
134
        $this->lotMultiplier = $lotMultiplier;
135
        $this->leverageBuy = $leverageBuy;
136
        $this->leverageSell = $leverageSell;
137
        $this->fees = $fees;
138
        $this->feesMaker = $feesMaker;
139
        $this->feeVolumeCurrency = $feeVolumeCurrency;
140
        $this->marginCall = $marginCall;
141
        $this->marginStop = $marginStop;
142
    }
143
144
    /**
145
     * @return string
146
     */
147
    public function getAssetPair()
148
    {
149
        return $this->assetPair;
150
    }
151
152
    /**
153
     * @return int
154
     */
155
    public function getPairDecimals()
156
    {
157
        return $this->pairDecimals;
158
    }
159
160
161
    /**
162
     * @return string
163
     */
164
    public function getAltname()
165
    {
166
        return $this->altname;
167
    }
168
169
    /**
170
     * @return string
171
     */
172
    public function getAclassBase()
173
    {
174
        return $this->aclassBase;
175
    }
176
177
    /**
178
     * @return string
179
     */
180
    public function getBase()
181
    {
182
        return $this->base;
183
    }
184
185
    /**
186
     * @return string
187
     */
188
    public function getAclassQuote()
189
    {
190
        return $this->aclassQuote;
191
    }
192
193
    /**
194
     * @return string
195
     */
196
    public function getQuote()
197
    {
198
        return $this->quote;
199
    }
200
201
    /**
202
     * @return string
203
     */
204
    public function getLot()
205
    {
206
        return $this->lot;
207
    }
208
209
    /**
210
     * @return string
211
     */
212
    public function getLotDecimals()
213
    {
214
        return $this->lotDecimals;
215
    }
216
217
    /**
218
     * @return string
219
     */
220
    public function getLotMultiplier()
221
    {
222
        return $this->lotMultiplier;
223
    }
224
225
    /**
226
     * @return string
227
     */
228
    public function getLeverageBuy()
229
    {
230
        return $this->leverageBuy;
231
    }
232
233
    /**
234
     * @return string
235
     */
236
    public function getLeverageSell()
237
    {
238
        return $this->leverageSell;
239
    }
240
241
    /**
242
     * @return string
243
     */
244
    public function getFees()
245
    {
246
        return $this->fees;
247
    }
248
249
    /**
250
     * @return string
251
     */
252
    public function getFeesMaker()
253
    {
254
        return $this->feesMaker;
255
    }
256
257
    /**
258
     * @return string
259
     */
260
    public function getFeeVolumeCurrency()
261
    {
262
        return $this->feeVolumeCurrency;
263
    }
264
265
    /**
266
     * @return string
267
     */
268
    public function getMarginCall()
269
    {
270
        return $this->marginCall;
271
    }
272
273
    /**
274
     * @return string
275
     */
276
    public function getMarginStop()
277
    {
278
        return $this->marginStop;
279
    }
280
}
281