BMGetButtonDetailsResponseType::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 19
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 17
c 1
b 0
f 0
nc 1
nop 16
dl 0
loc 19
rs 9.7

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
namespace PayPal\StructType;
4
5
use \WsdlToPhp\PackageBase\AbstractStructBase;
6
7
/**
8
 * This class stands for BMGetButtonDetailsResponseType StructType
9
 * @subpackage Structs
10
 * @author WsdlToPhp <[email protected]>
11
 */
12
class BMGetButtonDetailsResponseType extends AbstractResponseType
13
{
14
    /**
15
     * The Website
16
     * Meta information extracted from the WSDL
17
     * - maxOccurs: 1
18
     * - minOccurs: 0
19
     * @var string
20
     */
21
    public $Website;
22
    /**
23
     * The Email
24
     * Meta information extracted from the WSDL
25
     * - maxOccurs: 1
26
     * - minOccurs: 0
27
     * @var string
28
     */
29
    public $Email;
30
    /**
31
     * The Mobile
32
     * Meta information extracted from the WSDL
33
     * - maxOccurs: 1
34
     * - minOccurs: 0
35
     * @var string
36
     */
37
    public $Mobile;
38
    /**
39
     * The HostedButtonID
40
     * Meta information extracted from the WSDL
41
     * - maxOccurs: 1
42
     * - minOccurs: 0
43
     * @var string
44
     */
45
    public $HostedButtonID;
46
    /**
47
     * The ButtonType
48
     * Meta information extracted from the WSDL
49
     * - documentation: Type of button. One of the following: BUYNOW, CART, GIFTCERTIFICATE. SUBSCRIBE, PAYMENTPLAN, AUTOBILLING, DONATE, VIEWCART or UNSUBSCRIBE
50
     * - maxOccurs: 1
51
     * - minOccurs: 0
52
     * @var string
53
     */
54
    public $ButtonType;
55
    /**
56
     * The ButtonCode
57
     * Meta information extracted from the WSDL
58
     * - documentation: Type of button code. One of the following: hosted, encrypted or cleartext
59
     * - maxOccurs: 1
60
     * - minOccurs: 0
61
     * @var string
62
     */
63
    public $ButtonCode;
64
    /**
65
     * The ButtonSubType
66
     * Meta information extracted from the WSDL
67
     * - documentation: Button sub type. optional for button types buynow and cart only Either PRODUCTS or SERVICES
68
     * - maxOccurs: 1
69
     * - minOccurs: 0
70
     * @var string
71
     */
72
    public $ButtonSubType;
73
    /**
74
     * The ButtonVar
75
     * Meta information extracted from the WSDL
76
     * - documentation: Button Variable information Character length and limitations: 63 single-byte alphanumeric characters
77
     * - maxOccurs: 1000
78
     * - minOccurs: 0
79
     * @var string[]
80
     */
81
    public $ButtonVar;
82
    /**
83
     * The OptionDetails
84
     * Meta information extracted from the WSDL
85
     * - maxOccurs: 5
86
     * - minOccurs: 0
87
     * @var \PayPal\StructType\OptionDetailsType[]
88
     */
89
    public $OptionDetails;
90
    /**
91
     * The TextBox
92
     * Meta information extracted from the WSDL
93
     * - documentation: Text field
94
     * - maxOccurs: 2
95
     * - minOccurs: 0
96
     * @var string[]
97
     */
98
    public $TextBox;
99
    /**
100
     * The ButtonImage
101
     * Meta information extracted from the WSDL
102
     * - documentation: Button image to use. One of: REG, SML, or CC
103
     * - maxOccurs: 1
104
     * - minOccurs: 0
105
     * @var string
106
     */
107
    public $ButtonImage;
108
    /**
109
     * The ButtonImageURL
110
     * Meta information extracted from the WSDL
111
     * - documentation: Button URL for custom button image.
112
     * - maxOccurs: 1
113
     * - minOccurs: 0
114
     * @var string
115
     */
116
    public $ButtonImageURL;
117
    /**
118
     * The BuyNowText
119
     * Meta information extracted from the WSDL
120
     * - documentation: Text to use on Buy Now Button. Either BUYNOW or PAYNOW
121
     * - maxOccurs: 1
122
     * - minOccurs: 0
123
     * @var string
124
     */
125
    public $BuyNowText;
126
    /**
127
     * The SubscribeText
128
     * Meta information extracted from the WSDL
129
     * - documentation: Text to use on Subscribe button. Must be either BUYNOW or SUBSCRIBE
130
     * - maxOccurs: 1
131
     * - minOccurs: 0
132
     * @var string
133
     */
134
    public $SubscribeText;
135
    /**
136
     * The ButtonCountry
137
     * Meta information extracted from the WSDL
138
     * - documentation: Button Country. Valid ISO country code or 'International'
139
     * - maxOccurs: 1
140
     * - minOccurs: 0
141
     * @var string
142
     */
143
    public $ButtonCountry;
144
    /**
145
     * The ButtonLanguage
146
     * Meta information extracted from the WSDL
147
     * - documentation: Button language code. Character length and limitations: 3 single-byte alphanumeric characters
148
     * - maxOccurs: 1
149
     * - minOccurs: 0
150
     * @var string
151
     */
152
    public $ButtonLanguage;
153
    /**
154
     * Constructor method for BMGetButtonDetailsResponseType
155
     * @uses BMGetButtonDetailsResponseType::setWebsite()
156
     * @uses BMGetButtonDetailsResponseType::setEmail()
157
     * @uses BMGetButtonDetailsResponseType::setMobile()
158
     * @uses BMGetButtonDetailsResponseType::setHostedButtonID()
159
     * @uses BMGetButtonDetailsResponseType::setButtonType()
160
     * @uses BMGetButtonDetailsResponseType::setButtonCode()
161
     * @uses BMGetButtonDetailsResponseType::setButtonSubType()
162
     * @uses BMGetButtonDetailsResponseType::setButtonVar()
163
     * @uses BMGetButtonDetailsResponseType::setOptionDetails()
164
     * @uses BMGetButtonDetailsResponseType::setTextBox()
165
     * @uses BMGetButtonDetailsResponseType::setButtonImage()
166
     * @uses BMGetButtonDetailsResponseType::setButtonImageURL()
167
     * @uses BMGetButtonDetailsResponseType::setBuyNowText()
168
     * @uses BMGetButtonDetailsResponseType::setSubscribeText()
169
     * @uses BMGetButtonDetailsResponseType::setButtonCountry()
170
     * @uses BMGetButtonDetailsResponseType::setButtonLanguage()
171
     * @param string $website
172
     * @param string $email
173
     * @param string $mobile
174
     * @param string $hostedButtonID
175
     * @param string $buttonType
176
     * @param string $buttonCode
177
     * @param string $buttonSubType
178
     * @param string[] $buttonVar
179
     * @param \PayPal\StructType\OptionDetailsType[] $optionDetails
180
     * @param string[] $textBox
181
     * @param string $buttonImage
182
     * @param string $buttonImageURL
183
     * @param string $buyNowText
184
     * @param string $subscribeText
185
     * @param string $buttonCountry
186
     * @param string $buttonLanguage
187
     */
188
    public function __construct($website = null, $email = null, $mobile = null, $hostedButtonID = null, $buttonType = null, $buttonCode = null, $buttonSubType = null, array $buttonVar = array(), array $optionDetails = array(), array $textBox = array(), $buttonImage = null, $buttonImageURL = null, $buyNowText = null, $subscribeText = null, $buttonCountry = null, $buttonLanguage = null)
189
    {
190
        $this
191
            ->setWebsite($website)
192
            ->setEmail($email)
193
            ->setMobile($mobile)
194
            ->setHostedButtonID($hostedButtonID)
195
            ->setButtonType($buttonType)
196
            ->setButtonCode($buttonCode)
197
            ->setButtonSubType($buttonSubType)
198
            ->setButtonVar($buttonVar)
199
            ->setOptionDetails($optionDetails)
200
            ->setTextBox($textBox)
201
            ->setButtonImage($buttonImage)
202
            ->setButtonImageURL($buttonImageURL)
203
            ->setBuyNowText($buyNowText)
204
            ->setSubscribeText($subscribeText)
205
            ->setButtonCountry($buttonCountry)
206
            ->setButtonLanguage($buttonLanguage);
207
    }
208
    /**
209
     * Get Website value
210
     * @return string|null
211
     */
212
    public function getWebsite()
213
    {
214
        return $this->Website;
215
    }
216
    /**
217
     * Set Website value
218
     * @param string $website
219
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
220
     */
221
    public function setWebsite($website = null)
222
    {
223
        // validation for constraint: string
224
        if (!is_null($website) && !is_string($website)) {
0 ignored issues
show
introduced by
The condition is_string($website) is always true.
Loading history...
225
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($website, true), gettype($website)), __LINE__);
226
        }
227
        $this->Website = $website;
228
        return $this;
229
    }
230
    /**
231
     * Get Email value
232
     * @return string|null
233
     */
234
    public function getEmail()
235
    {
236
        return $this->Email;
237
    }
238
    /**
239
     * Set Email value
240
     * @param string $email
241
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
242
     */
243
    public function setEmail($email = null)
244
    {
245
        // validation for constraint: string
246
        if (!is_null($email) && !is_string($email)) {
0 ignored issues
show
introduced by
The condition is_string($email) is always true.
Loading history...
247
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($email, true), gettype($email)), __LINE__);
248
        }
249
        $this->Email = $email;
250
        return $this;
251
    }
252
    /**
253
     * Get Mobile value
254
     * @return string|null
255
     */
256
    public function getMobile()
257
    {
258
        return $this->Mobile;
259
    }
260
    /**
261
     * Set Mobile value
262
     * @param string $mobile
263
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
264
     */
265
    public function setMobile($mobile = null)
266
    {
267
        // validation for constraint: string
268
        if (!is_null($mobile) && !is_string($mobile)) {
0 ignored issues
show
introduced by
The condition is_string($mobile) is always true.
Loading history...
269
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($mobile, true), gettype($mobile)), __LINE__);
270
        }
271
        $this->Mobile = $mobile;
272
        return $this;
273
    }
274
    /**
275
     * Get HostedButtonID value
276
     * @return string|null
277
     */
278
    public function getHostedButtonID()
279
    {
280
        return $this->HostedButtonID;
281
    }
282
    /**
283
     * Set HostedButtonID value
284
     * @param string $hostedButtonID
285
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
286
     */
287
    public function setHostedButtonID($hostedButtonID = null)
288
    {
289
        // validation for constraint: string
290
        if (!is_null($hostedButtonID) && !is_string($hostedButtonID)) {
0 ignored issues
show
introduced by
The condition is_string($hostedButtonID) is always true.
Loading history...
291
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($hostedButtonID, true), gettype($hostedButtonID)), __LINE__);
292
        }
293
        $this->HostedButtonID = $hostedButtonID;
294
        return $this;
295
    }
296
    /**
297
     * Get ButtonType value
298
     * @return string|null
299
     */
300
    public function getButtonType()
301
    {
302
        return $this->ButtonType;
303
    }
304
    /**
305
     * Set ButtonType value
306
     * @uses \PayPal\EnumType\ButtonTypeType::valueIsValid()
307
     * @uses \PayPal\EnumType\ButtonTypeType::getValidValues()
308
     * @throws \InvalidArgumentException
309
     * @param string $buttonType
310
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
311
     */
312
    public function setButtonType($buttonType = null)
313
    {
314
        // validation for constraint: enumeration
315
        if (!\PayPal\EnumType\ButtonTypeType::valueIsValid($buttonType)) {
316
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\ButtonTypeType', is_array($buttonType) ? implode(', ', $buttonType) : var_export($buttonType, true), implode(', ', \PayPal\EnumType\ButtonTypeType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($buttonType) is always false.
Loading history...
317
        }
318
        $this->ButtonType = $buttonType;
319
        return $this;
320
    }
321
    /**
322
     * Get ButtonCode value
323
     * @return string|null
324
     */
325
    public function getButtonCode()
326
    {
327
        return $this->ButtonCode;
328
    }
329
    /**
330
     * Set ButtonCode value
331
     * @uses \PayPal\EnumType\ButtonCodeType::valueIsValid()
332
     * @uses \PayPal\EnumType\ButtonCodeType::getValidValues()
333
     * @throws \InvalidArgumentException
334
     * @param string $buttonCode
335
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
336
     */
337
    public function setButtonCode($buttonCode = null)
338
    {
339
        // validation for constraint: enumeration
340
        if (!\PayPal\EnumType\ButtonCodeType::valueIsValid($buttonCode)) {
341
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\ButtonCodeType', is_array($buttonCode) ? implode(', ', $buttonCode) : var_export($buttonCode, true), implode(', ', \PayPal\EnumType\ButtonCodeType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($buttonCode) is always false.
Loading history...
342
        }
343
        $this->ButtonCode = $buttonCode;
344
        return $this;
345
    }
346
    /**
347
     * Get ButtonSubType value
348
     * @return string|null
349
     */
350
    public function getButtonSubType()
351
    {
352
        return $this->ButtonSubType;
353
    }
354
    /**
355
     * Set ButtonSubType value
356
     * @uses \PayPal\EnumType\ButtonSubTypeType::valueIsValid()
357
     * @uses \PayPal\EnumType\ButtonSubTypeType::getValidValues()
358
     * @throws \InvalidArgumentException
359
     * @param string $buttonSubType
360
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
361
     */
362
    public function setButtonSubType($buttonSubType = null)
363
    {
364
        // validation for constraint: enumeration
365
        if (!\PayPal\EnumType\ButtonSubTypeType::valueIsValid($buttonSubType)) {
366
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\ButtonSubTypeType', is_array($buttonSubType) ? implode(', ', $buttonSubType) : var_export($buttonSubType, true), implode(', ', \PayPal\EnumType\ButtonSubTypeType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($buttonSubType) is always false.
Loading history...
367
        }
368
        $this->ButtonSubType = $buttonSubType;
369
        return $this;
370
    }
371
    /**
372
     * Get ButtonVar value
373
     * @return string[]|null
374
     */
375
    public function getButtonVar()
376
    {
377
        return $this->ButtonVar;
378
    }
379
    /**
380
     * This method is responsible for validating the values passed to the setButtonVar method
381
     * This method is willingly generated in order to preserve the one-line inline validation within the setButtonVar method
382
     * @param array $values
383
     * @return string A non-empty message if the values does not match the validation rules
384
     */
385
    public static function validateButtonVarForArrayConstraintsFromSetButtonVar(array $values = array())
386
    {
387
        $message = '';
388
        $invalidValues = [];
389
        foreach ($values as $bMGetButtonDetailsResponseTypeButtonVarItem) {
390
            // validation for constraint: itemType
391
            if (!is_string($bMGetButtonDetailsResponseTypeButtonVarItem)) {
392
                $invalidValues[] = is_object($bMGetButtonDetailsResponseTypeButtonVarItem) ? get_class($bMGetButtonDetailsResponseTypeButtonVarItem) : sprintf('%s(%s)', gettype($bMGetButtonDetailsResponseTypeButtonVarItem), var_export($bMGetButtonDetailsResponseTypeButtonVarItem, true));
393
            }
394
        }
395
        if (!empty($invalidValues)) {
396
            $message = sprintf('The ButtonVar property can only contain items of type string, %s given', is_object($invalidValues) ? get_class($invalidValues) : (is_array($invalidValues) ? implode(', ', $invalidValues) : gettype($invalidValues)));
0 ignored issues
show
introduced by
The condition is_object($invalidValues) is always false.
Loading history...
introduced by
The condition is_array($invalidValues) is always true.
Loading history...
397
        }
398
        unset($invalidValues);
399
        return $message;
400
    }
401
    /**
402
     * Set ButtonVar value
403
     * @throws \InvalidArgumentException
404
     * @param string[] $buttonVar
405
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
406
     */
407
    public function setButtonVar(array $buttonVar = array())
408
    {
409
        // validation for constraint: array
410
        if ('' !== ($buttonVarArrayErrorMessage = self::validateButtonVarForArrayConstraintsFromSetButtonVar($buttonVar))) {
411
            throw new \InvalidArgumentException($buttonVarArrayErrorMessage, __LINE__);
412
        }
413
        // validation for constraint: maxOccurs(1000)
414
        if (is_array($buttonVar) && count($buttonVar) > 1000) {
415
            throw new \InvalidArgumentException(sprintf('Invalid count of %s, the number of elements contained by the property must be less than or equal to 1000', count($buttonVar)), __LINE__);
416
        }
417
        $this->ButtonVar = $buttonVar;
418
        return $this;
419
    }
420
    /**
421
     * Add item to ButtonVar value
422
     * @throws \InvalidArgumentException
423
     * @param string $item
424
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
425
     */
426
    public function addToButtonVar($item)
427
    {
428
        // validation for constraint: itemType
429
        if (!is_string($item)) {
0 ignored issues
show
introduced by
The condition is_string($item) is always true.
Loading history...
430
            throw new \InvalidArgumentException(sprintf('The ButtonVar property can only contain items of type string, %s given', is_object($item) ? get_class($item) : (is_array($item) ? implode(', ', $item) : gettype($item))), __LINE__);
431
        }
432
        // validation for constraint: maxOccurs(1000)
433
        if (is_array($this->ButtonVar) && count($this->ButtonVar) >= 1000) {
434
            throw new \InvalidArgumentException(sprintf('You can\'t add anymore element to this property that already contains %s elements, the number of elements contained by the property must be less than or equal to 1000', count($this->ButtonVar)), __LINE__);
435
        }
436
        $this->ButtonVar[] = $item;
437
        return $this;
438
    }
439
    /**
440
     * Get OptionDetails value
441
     * @return \PayPal\StructType\OptionDetailsType[]|null
442
     */
443
    public function getOptionDetails()
444
    {
445
        return $this->OptionDetails;
446
    }
447
    /**
448
     * This method is responsible for validating the values passed to the setOptionDetails method
449
     * This method is willingly generated in order to preserve the one-line inline validation within the setOptionDetails method
450
     * @param array $values
451
     * @return string A non-empty message if the values does not match the validation rules
452
     */
453
    public static function validateOptionDetailsForArrayConstraintsFromSetOptionDetails(array $values = array())
454
    {
455
        $message = '';
456
        $invalidValues = [];
457
        foreach ($values as $bMGetButtonDetailsResponseTypeOptionDetailsItem) {
458
            // validation for constraint: itemType
459
            if (!$bMGetButtonDetailsResponseTypeOptionDetailsItem instanceof \PayPal\StructType\OptionDetailsType) {
460
                $invalidValues[] = is_object($bMGetButtonDetailsResponseTypeOptionDetailsItem) ? get_class($bMGetButtonDetailsResponseTypeOptionDetailsItem) : sprintf('%s(%s)', gettype($bMGetButtonDetailsResponseTypeOptionDetailsItem), var_export($bMGetButtonDetailsResponseTypeOptionDetailsItem, true));
461
            }
462
        }
463
        if (!empty($invalidValues)) {
464
            $message = sprintf('The OptionDetails property can only contain items of type \PayPal\StructType\OptionDetailsType, %s given', is_object($invalidValues) ? get_class($invalidValues) : (is_array($invalidValues) ? implode(', ', $invalidValues) : gettype($invalidValues)));
0 ignored issues
show
introduced by
The condition is_object($invalidValues) is always false.
Loading history...
introduced by
The condition is_array($invalidValues) is always true.
Loading history...
465
        }
466
        unset($invalidValues);
467
        return $message;
468
    }
469
    /**
470
     * Set OptionDetails value
471
     * @throws \InvalidArgumentException
472
     * @param \PayPal\StructType\OptionDetailsType[] $optionDetails
473
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
474
     */
475
    public function setOptionDetails(array $optionDetails = array())
476
    {
477
        // validation for constraint: array
478
        if ('' !== ($optionDetailsArrayErrorMessage = self::validateOptionDetailsForArrayConstraintsFromSetOptionDetails($optionDetails))) {
479
            throw new \InvalidArgumentException($optionDetailsArrayErrorMessage, __LINE__);
480
        }
481
        // validation for constraint: maxOccurs(5)
482
        if (is_array($optionDetails) && count($optionDetails) > 5) {
483
            throw new \InvalidArgumentException(sprintf('Invalid count of %s, the number of elements contained by the property must be less than or equal to 5', count($optionDetails)), __LINE__);
484
        }
485
        $this->OptionDetails = $optionDetails;
486
        return $this;
487
    }
488
    /**
489
     * Add item to OptionDetails value
490
     * @throws \InvalidArgumentException
491
     * @param \PayPal\StructType\OptionDetailsType $item
492
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
493
     */
494
    public function addToOptionDetails(\PayPal\StructType\OptionDetailsType $item)
495
    {
496
        // validation for constraint: itemType
497
        if (!$item instanceof \PayPal\StructType\OptionDetailsType) {
0 ignored issues
show
introduced by
$item is always a sub-type of PayPal\StructType\OptionDetailsType.
Loading history...
498
            throw new \InvalidArgumentException(sprintf('The OptionDetails property can only contain items of type \PayPal\StructType\OptionDetailsType, %s given', is_object($item) ? get_class($item) : (is_array($item) ? implode(', ', $item) : gettype($item))), __LINE__);
499
        }
500
        // validation for constraint: maxOccurs(5)
501
        if (is_array($this->OptionDetails) && count($this->OptionDetails) >= 5) {
502
            throw new \InvalidArgumentException(sprintf('You can\'t add anymore element to this property that already contains %s elements, the number of elements contained by the property must be less than or equal to 5', count($this->OptionDetails)), __LINE__);
503
        }
504
        $this->OptionDetails[] = $item;
505
        return $this;
506
    }
507
    /**
508
     * Get TextBox value
509
     * @return string[]|null
510
     */
511
    public function getTextBox()
512
    {
513
        return $this->TextBox;
514
    }
515
    /**
516
     * This method is responsible for validating the values passed to the setTextBox method
517
     * This method is willingly generated in order to preserve the one-line inline validation within the setTextBox method
518
     * @param array $values
519
     * @return string A non-empty message if the values does not match the validation rules
520
     */
521
    public static function validateTextBoxForArrayConstraintsFromSetTextBox(array $values = array())
522
    {
523
        $message = '';
524
        $invalidValues = [];
525
        foreach ($values as $bMGetButtonDetailsResponseTypeTextBoxItem) {
526
            // validation for constraint: itemType
527
            if (!is_string($bMGetButtonDetailsResponseTypeTextBoxItem)) {
528
                $invalidValues[] = is_object($bMGetButtonDetailsResponseTypeTextBoxItem) ? get_class($bMGetButtonDetailsResponseTypeTextBoxItem) : sprintf('%s(%s)', gettype($bMGetButtonDetailsResponseTypeTextBoxItem), var_export($bMGetButtonDetailsResponseTypeTextBoxItem, true));
529
            }
530
        }
531
        if (!empty($invalidValues)) {
532
            $message = sprintf('The TextBox property can only contain items of type string, %s given', is_object($invalidValues) ? get_class($invalidValues) : (is_array($invalidValues) ? implode(', ', $invalidValues) : gettype($invalidValues)));
0 ignored issues
show
introduced by
The condition is_array($invalidValues) is always true.
Loading history...
introduced by
The condition is_object($invalidValues) is always false.
Loading history...
533
        }
534
        unset($invalidValues);
535
        return $message;
536
    }
537
    /**
538
     * Set TextBox value
539
     * @throws \InvalidArgumentException
540
     * @param string[] $textBox
541
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
542
     */
543
    public function setTextBox(array $textBox = array())
544
    {
545
        // validation for constraint: array
546
        if ('' !== ($textBoxArrayErrorMessage = self::validateTextBoxForArrayConstraintsFromSetTextBox($textBox))) {
547
            throw new \InvalidArgumentException($textBoxArrayErrorMessage, __LINE__);
548
        }
549
        // validation for constraint: maxOccurs(2)
550
        if (is_array($textBox) && count($textBox) > 2) {
551
            throw new \InvalidArgumentException(sprintf('Invalid count of %s, the number of elements contained by the property must be less than or equal to 2', count($textBox)), __LINE__);
552
        }
553
        $this->TextBox = $textBox;
554
        return $this;
555
    }
556
    /**
557
     * Add item to TextBox value
558
     * @throws \InvalidArgumentException
559
     * @param string $item
560
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
561
     */
562
    public function addToTextBox($item)
563
    {
564
        // validation for constraint: itemType
565
        if (!is_string($item)) {
0 ignored issues
show
introduced by
The condition is_string($item) is always true.
Loading history...
566
            throw new \InvalidArgumentException(sprintf('The TextBox property can only contain items of type string, %s given', is_object($item) ? get_class($item) : (is_array($item) ? implode(', ', $item) : gettype($item))), __LINE__);
567
        }
568
        // validation for constraint: maxOccurs(2)
569
        if (is_array($this->TextBox) && count($this->TextBox) >= 2) {
570
            throw new \InvalidArgumentException(sprintf('You can\'t add anymore element to this property that already contains %s elements, the number of elements contained by the property must be less than or equal to 2', count($this->TextBox)), __LINE__);
571
        }
572
        $this->TextBox[] = $item;
573
        return $this;
574
    }
575
    /**
576
     * Get ButtonImage value
577
     * @return string|null
578
     */
579
    public function getButtonImage()
580
    {
581
        return $this->ButtonImage;
582
    }
583
    /**
584
     * Set ButtonImage value
585
     * @uses \PayPal\EnumType\ButtonImageType::valueIsValid()
586
     * @uses \PayPal\EnumType\ButtonImageType::getValidValues()
587
     * @throws \InvalidArgumentException
588
     * @param string $buttonImage
589
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
590
     */
591
    public function setButtonImage($buttonImage = null)
592
    {
593
        // validation for constraint: enumeration
594
        if (!\PayPal\EnumType\ButtonImageType::valueIsValid($buttonImage)) {
595
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\ButtonImageType', is_array($buttonImage) ? implode(', ', $buttonImage) : var_export($buttonImage, true), implode(', ', \PayPal\EnumType\ButtonImageType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($buttonImage) is always false.
Loading history...
596
        }
597
        $this->ButtonImage = $buttonImage;
598
        return $this;
599
    }
600
    /**
601
     * Get ButtonImageURL value
602
     * @return string|null
603
     */
604
    public function getButtonImageURL()
605
    {
606
        return $this->ButtonImageURL;
607
    }
608
    /**
609
     * Set ButtonImageURL value
610
     * @param string $buttonImageURL
611
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
612
     */
613
    public function setButtonImageURL($buttonImageURL = null)
614
    {
615
        // validation for constraint: string
616
        if (!is_null($buttonImageURL) && !is_string($buttonImageURL)) {
0 ignored issues
show
introduced by
The condition is_string($buttonImageURL) is always true.
Loading history...
617
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($buttonImageURL, true), gettype($buttonImageURL)), __LINE__);
618
        }
619
        $this->ButtonImageURL = $buttonImageURL;
620
        return $this;
621
    }
622
    /**
623
     * Get BuyNowText value
624
     * @return string|null
625
     */
626
    public function getBuyNowText()
627
    {
628
        return $this->BuyNowText;
629
    }
630
    /**
631
     * Set BuyNowText value
632
     * @uses \PayPal\EnumType\BuyNowTextType::valueIsValid()
633
     * @uses \PayPal\EnumType\BuyNowTextType::getValidValues()
634
     * @throws \InvalidArgumentException
635
     * @param string $buyNowText
636
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
637
     */
638
    public function setBuyNowText($buyNowText = null)
639
    {
640
        // validation for constraint: enumeration
641
        if (!\PayPal\EnumType\BuyNowTextType::valueIsValid($buyNowText)) {
642
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\BuyNowTextType', is_array($buyNowText) ? implode(', ', $buyNowText) : var_export($buyNowText, true), implode(', ', \PayPal\EnumType\BuyNowTextType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($buyNowText) is always false.
Loading history...
643
        }
644
        $this->BuyNowText = $buyNowText;
645
        return $this;
646
    }
647
    /**
648
     * Get SubscribeText value
649
     * @return string|null
650
     */
651
    public function getSubscribeText()
652
    {
653
        return $this->SubscribeText;
654
    }
655
    /**
656
     * Set SubscribeText value
657
     * @uses \PayPal\EnumType\SubscribeTextType::valueIsValid()
658
     * @uses \PayPal\EnumType\SubscribeTextType::getValidValues()
659
     * @throws \InvalidArgumentException
660
     * @param string $subscribeText
661
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
662
     */
663
    public function setSubscribeText($subscribeText = null)
664
    {
665
        // validation for constraint: enumeration
666
        if (!\PayPal\EnumType\SubscribeTextType::valueIsValid($subscribeText)) {
667
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\SubscribeTextType', is_array($subscribeText) ? implode(', ', $subscribeText) : var_export($subscribeText, true), implode(', ', \PayPal\EnumType\SubscribeTextType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($subscribeText) is always false.
Loading history...
668
        }
669
        $this->SubscribeText = $subscribeText;
670
        return $this;
671
    }
672
    /**
673
     * Get ButtonCountry value
674
     * @return string|null
675
     */
676
    public function getButtonCountry()
677
    {
678
        return $this->ButtonCountry;
679
    }
680
    /**
681
     * Set ButtonCountry value
682
     * @uses \PayPal\EnumType\CountryCodeType::valueIsValid()
683
     * @uses \PayPal\EnumType\CountryCodeType::getValidValues()
684
     * @throws \InvalidArgumentException
685
     * @param string $buttonCountry
686
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
687
     */
688
    public function setButtonCountry($buttonCountry = null)
689
    {
690
        // validation for constraint: enumeration
691
        if (!\PayPal\EnumType\CountryCodeType::valueIsValid($buttonCountry)) {
692
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\CountryCodeType', is_array($buttonCountry) ? implode(', ', $buttonCountry) : var_export($buttonCountry, true), implode(', ', \PayPal\EnumType\CountryCodeType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($buttonCountry) is always false.
Loading history...
693
        }
694
        $this->ButtonCountry = $buttonCountry;
695
        return $this;
696
    }
697
    /**
698
     * Get ButtonLanguage value
699
     * @return string|null
700
     */
701
    public function getButtonLanguage()
702
    {
703
        return $this->ButtonLanguage;
704
    }
705
    /**
706
     * Set ButtonLanguage value
707
     * @param string $buttonLanguage
708
     * @return \PayPal\StructType\BMGetButtonDetailsResponseType
709
     */
710
    public function setButtonLanguage($buttonLanguage = null)
711
    {
712
        // validation for constraint: string
713
        if (!is_null($buttonLanguage) && !is_string($buttonLanguage)) {
0 ignored issues
show
introduced by
The condition is_string($buttonLanguage) is always true.
Loading history...
714
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($buttonLanguage, true), gettype($buttonLanguage)), __LINE__);
715
        }
716
        $this->ButtonLanguage = $buttonLanguage;
717
        return $this;
718
    }
719
}
720