commercetools-sdk-php-v2  master
The platform, import-api and ml-api PHP sdks generated from our api reference.
ShippingInfoImportDraftBuilder.php
1 <?php
2 
3 declare(strict_types=1);
10 
24 use stdClass;
25 
30 {
35  private $shippingMethodName;
36 
41  private $price;
42 
47  private $shippingRate;
48 
53  private $taxRate;
54 
59  private $taxCategory;
60 
65  private $shippingMethod;
66 
71  private $deliveries;
72 
77  private $discountedPrice;
78 
83  private $shippingMethodState;
84 
89  public function getShippingMethodName()
90  {
91  return $this->shippingMethodName;
92  }
93 
98  public function getPrice()
99  {
100  return $this->price instanceof TypedMoneyBuilder ? $this->price->build() : $this->price;
101  }
102 
107  public function getShippingRate()
108  {
109  return $this->shippingRate instanceof ShippingRateDraftBuilder ? $this->shippingRate->build() : $this->shippingRate;
110  }
111 
116  public function getTaxRate()
117  {
118  return $this->taxRate instanceof TaxRateBuilder ? $this->taxRate->build() : $this->taxRate;
119  }
120 
127  public function getTaxCategory()
128  {
129  return $this->taxCategory instanceof TaxCategoryKeyReferenceBuilder ? $this->taxCategory->build() : $this->taxCategory;
130  }
131 
138  public function getShippingMethod()
139  {
140  return $this->shippingMethod instanceof ShippingMethodKeyReferenceBuilder ? $this->shippingMethod->build() : $this->shippingMethod;
141  }
142 
149  public function getDeliveries()
150  {
151  return $this->deliveries;
152  }
153 
158  public function getDiscountedPrice()
159  {
160  return $this->discountedPrice instanceof DiscountedLineItemPriceDraftBuilder ? $this->discountedPrice->build() : $this->discountedPrice;
161  }
162 
167  public function getShippingMethodState()
168  {
169  return $this->shippingMethodState;
170  }
171 
176  public function withShippingMethodName(?string $shippingMethodName)
177  {
178  $this->shippingMethodName = $shippingMethodName;
179 
180  return $this;
181  }
182 
187  public function withPrice(?TypedMoney $price)
188  {
189  $this->price = $price;
190 
191  return $this;
192  }
193 
198  public function withShippingRate(?ShippingRateDraft $shippingRate)
199  {
200  $this->shippingRate = $shippingRate;
201 
202  return $this;
203  }
204 
209  public function withTaxRate(?TaxRate $taxRate)
210  {
211  $this->taxRate = $taxRate;
212 
213  return $this;
214  }
215 
220  public function withTaxCategory(?TaxCategoryKeyReference $taxCategory)
221  {
222  $this->taxCategory = $taxCategory;
223 
224  return $this;
225  }
226 
231  public function withShippingMethod(?ShippingMethodKeyReference $shippingMethod)
232  {
233  $this->shippingMethod = $shippingMethod;
234 
235  return $this;
236  }
237 
242  public function withDeliveries(?DeliveryCollection $deliveries)
243  {
244  $this->deliveries = $deliveries;
245 
246  return $this;
247  }
248 
253  public function withDiscountedPrice(?DiscountedLineItemPriceDraft $discountedPrice)
254  {
255  $this->discountedPrice = $discountedPrice;
256 
257  return $this;
258  }
259 
264  public function withShippingMethodState(?string $shippingMethodState)
265  {
266  $this->shippingMethodState = $shippingMethodState;
267 
268  return $this;
269  }
270 
275  public function withPriceBuilder(?TypedMoneyBuilder $price)
276  {
277  $this->price = $price;
278 
279  return $this;
280  }
281 
286  public function withShippingRateBuilder(?ShippingRateDraftBuilder $shippingRate)
287  {
288  $this->shippingRate = $shippingRate;
289 
290  return $this;
291  }
292 
297  public function withTaxRateBuilder(?TaxRateBuilder $taxRate)
298  {
299  $this->taxRate = $taxRate;
300 
301  return $this;
302  }
303 
309  {
310  $this->taxCategory = $taxCategory;
311 
312  return $this;
313  }
314 
320  {
321  $this->shippingMethod = $shippingMethod;
322 
323  return $this;
324  }
325 
331  {
332  $this->discountedPrice = $discountedPrice;
333 
334  return $this;
335  }
336 
337  public function build(): ShippingInfoImportDraft
338  {
339  return new ShippingInfoImportDraftModel(
340  $this->shippingMethodName,
341  $this->price instanceof TypedMoneyBuilder ? $this->price->build() : $this->price,
342  $this->shippingRate instanceof ShippingRateDraftBuilder ? $this->shippingRate->build() : $this->shippingRate,
343  $this->taxRate instanceof TaxRateBuilder ? $this->taxRate->build() : $this->taxRate,
344  $this->taxCategory instanceof TaxCategoryKeyReferenceBuilder ? $this->taxCategory->build() : $this->taxCategory,
345  $this->shippingMethod instanceof ShippingMethodKeyReferenceBuilder ? $this->shippingMethod->build() : $this->shippingMethod,
346  $this->deliveries,
347  $this->discountedPrice instanceof DiscountedLineItemPriceDraftBuilder ? $this->discountedPrice->build() : $this->discountedPrice,
348  $this->shippingMethodState
349  );
350  }
351 
352  public static function of(): ShippingInfoImportDraftBuilder
353  {
354  return new self();
355  }
356 }
withDiscountedPriceBuilder(?DiscountedLineItemPriceDraftBuilder $discountedPrice)
withShippingMethodBuilder(?ShippingMethodKeyReferenceBuilder $shippingMethod)