1: <?php
2: /*
3: * This class was auto-generated from the API references found at
4: * https://apireference.connect.worldline-solutions.com/
5: */
6: namespace Worldline\Connect\Sdk\V1\Domain;
7:
8: use UnexpectedValueException;
9:
10: /**
11: * @package Worldline\Connect\Sdk\V1\Domain
12: */
13: class SepaDirectDebitPaymentMethodSpecificInputBase extends AbstractSepaDirectDebitPaymentMethodSpecificInput
14: {
15: /**
16: * @var SepaDirectDebitPaymentProduct771SpecificInputBase|null
17: */
18: public ?SepaDirectDebitPaymentProduct771SpecificInputBase $paymentProduct771SpecificInput = null;
19:
20: /**
21: * @return object
22: */
23: public function toObject(): object
24: {
25: $object = parent::toObject();
26: if (!is_null($this->paymentProduct771SpecificInput)) {
27: $object->paymentProduct771SpecificInput = $this->paymentProduct771SpecificInput->toObject();
28: }
29: return $object;
30: }
31:
32: /**
33: * @param object $object
34: *
35: * @return $this
36: * @throws UnexpectedValueException
37: */
38: public function fromObject(object $object): SepaDirectDebitPaymentMethodSpecificInputBase
39: {
40: parent::fromObject($object);
41: if (property_exists($object, 'paymentProduct771SpecificInput')) {
42: if (!is_object($object->paymentProduct771SpecificInput)) {
43: throw new UnexpectedValueException('value \'' . print_r($object->paymentProduct771SpecificInput, true) . '\' is not an object');
44: }
45: $value = new SepaDirectDebitPaymentProduct771SpecificInputBase();
46: $this->paymentProduct771SpecificInput = $value->fromObject($object->paymentProduct771SpecificInput);
47: }
48: return $this;
49: }
50: }
51: