commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
TaxPortionDraftBuilder.php
1<?php
2
3declare(strict_types=1);
10
18use stdClass;
19
23final class TaxPortionDraftBuilder implements Builder
24{
29 private $name;
30
35 private $rate;
36
41 private $amount;
42
49 public function getName()
50 {
51 return $this->name;
52 }
53
60 public function getRate()
61 {
62 return $this->rate;
63 }
64
71 public function getAmount()
72 {
73 return $this->amount instanceof MoneyBuilder ? $this->amount->build() : $this->amount;
74 }
75
80 public function withName(?string $name)
81 {
82 $this->name = $name;
83
84 return $this;
85 }
86
91 public function withRate(?float $rate)
92 {
93 $this->rate = $rate;
94
95 return $this;
96 }
97
102 public function withAmount(?Money $amount)
103 {
104 $this->amount = $amount;
105
106 return $this;
107 }
108
113 public function withAmountBuilder(?MoneyBuilder $amount)
114 {
115 $this->amount = $amount;
116
117 return $this;
118 }
119
120 public function build(): TaxPortionDraft
121 {
122 return new TaxPortionDraftModel(
123 $this->name,
124 $this->rate,
125 $this->amount instanceof MoneyBuilder ? $this->amount->build() : $this->amount
126 );
127 }
128
129 public static function of(): TaxPortionDraftBuilder
130 {
131 return new self();
132 }
133}