commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
TaxPortionDraftBuilder.php
1 <?php
2 
3 declare(strict_types=1);
10 
18 use stdClass;
19 
23 final 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 }