commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
CartDiscountDraftBuilder.php
1<?php
2
3declare(strict_types=1);
10
25use DateTimeImmutable;
26use stdClass;
27
31final class CartDiscountDraftBuilder implements Builder
32{
37 private $name;
38
43 private $key;
44
49 private $description;
50
55 private $value;
56
61 private $cartPredicate;
62
67 private $target;
68
73 private $sortOrder;
74
79 private $stores;
80
85 private $isActive;
86
91 private $validFrom;
92
97 private $validUntil;
98
103 private $requiresDiscountCode;
104
109 private $stackingMode;
110
115 private $custom;
116
121 private $discountGroup;
122
127 private $recurringOrderScope;
128
135 public function getName()
136 {
137 return $this->name instanceof LocalizedStringBuilder ? $this->name->build() : $this->name;
138 }
139
147 public function getKey()
148 {
149 return $this->key;
150 }
151
158 public function getDescription()
159 {
160 return $this->description instanceof LocalizedStringBuilder ? $this->description->build() : $this->description;
161 }
162
169 public function getValue()
170 {
171 return $this->value instanceof CartDiscountValueDraftBuilder ? $this->value->build() : $this->value;
172 }
173
180 public function getCartPredicate()
181 {
182 return $this->cartPredicate;
183 }
184
192 public function getTarget()
193 {
194 return $this->target instanceof CartDiscountTargetBuilder ? $this->target->build() : $this->target;
195 }
196
205 public function getSortOrder()
206 {
207 return $this->sortOrder;
208 }
209
221 public function getStores()
222 {
223 return $this->stores;
224 }
225
233 public function getIsActive()
234 {
235 return $this->isActive;
236 }
237
244 public function getValidFrom()
245 {
246 return $this->validFrom;
247 }
248
255 public function getValidUntil()
256 {
257 return $this->validUntil;
258 }
259
266 public function getRequiresDiscountCode()
267 {
268 return $this->requiresDiscountCode;
269 }
270
277 public function getStackingMode()
278 {
279 return $this->stackingMode;
280 }
281
288 public function getCustom()
289 {
290 return $this->custom instanceof CustomFieldsDraftBuilder ? $this->custom->build() : $this->custom;
291 }
292
300 public function getDiscountGroup()
301 {
302 return $this->discountGroup instanceof DiscountGroupResourceIdentifierBuilder ? $this->discountGroup->build() : $this->discountGroup;
303 }
304
312 public function getRecurringOrderScope()
313 {
314 return $this->recurringOrderScope instanceof RecurringOrderScopeDraftBuilder ? $this->recurringOrderScope->build() : $this->recurringOrderScope;
315 }
316
321 public function withName(?LocalizedString $name)
322 {
323 $this->name = $name;
324
325 return $this;
326 }
327
332 public function withKey(?string $key)
333 {
334 $this->key = $key;
335
336 return $this;
337 }
338
343 public function withDescription(?LocalizedString $description)
344 {
345 $this->description = $description;
346
347 return $this;
348 }
349
354 public function withValue(?CartDiscountValueDraft $value)
355 {
356 $this->value = $value;
357
358 return $this;
359 }
360
365 public function withCartPredicate(?string $cartPredicate)
366 {
367 $this->cartPredicate = $cartPredicate;
368
369 return $this;
370 }
371
376 public function withTarget(?CartDiscountTarget $target)
377 {
378 $this->target = $target;
379
380 return $this;
381 }
382
387 public function withSortOrder(?string $sortOrder)
388 {
389 $this->sortOrder = $sortOrder;
390
391 return $this;
392 }
393
399 {
400 $this->stores = $stores;
401
402 return $this;
403 }
404
409 public function withIsActive(?bool $isActive)
410 {
411 $this->isActive = $isActive;
412
413 return $this;
414 }
415
420 public function withValidFrom(?DateTimeImmutable $validFrom)
421 {
422 $this->validFrom = $validFrom;
423
424 return $this;
425 }
426
431 public function withValidUntil(?DateTimeImmutable $validUntil)
432 {
433 $this->validUntil = $validUntil;
434
435 return $this;
436 }
437
442 public function withRequiresDiscountCode(?bool $requiresDiscountCode)
443 {
444 $this->requiresDiscountCode = $requiresDiscountCode;
445
446 return $this;
447 }
448
453 public function withStackingMode(?string $stackingMode)
454 {
455 $this->stackingMode = $stackingMode;
456
457 return $this;
458 }
459
464 public function withCustom(?CustomFieldsDraft $custom)
465 {
466 $this->custom = $custom;
467
468 return $this;
469 }
470
475 public function withDiscountGroup(?DiscountGroupResourceIdentifier $discountGroup)
476 {
477 $this->discountGroup = $discountGroup;
478
479 return $this;
480 }
481
486 public function withRecurringOrderScope(?RecurringOrderScopeDraft $recurringOrderScope)
487 {
488 $this->recurringOrderScope = $recurringOrderScope;
489
490 return $this;
491 }
492
498 {
499 $this->name = $name;
500
501 return $this;
502 }
503
508 public function withDescriptionBuilder(?LocalizedStringBuilder $description)
509 {
510 $this->description = $description;
511
512 return $this;
513 }
514
520 {
521 $this->value = $value;
522
523 return $this;
524 }
525
531 {
532 $this->target = $target;
533
534 return $this;
535 }
536
542 {
543 $this->custom = $custom;
544
545 return $this;
546 }
547
553 {
554 $this->discountGroup = $discountGroup;
555
556 return $this;
557 }
558
564 {
565 $this->recurringOrderScope = $recurringOrderScope;
566
567 return $this;
568 }
569
570 public function build(): CartDiscountDraft
571 {
572 return new CartDiscountDraftModel(
573 $this->name instanceof LocalizedStringBuilder ? $this->name->build() : $this->name,
574 $this->key,
575 $this->description instanceof LocalizedStringBuilder ? $this->description->build() : $this->description,
576 $this->value instanceof CartDiscountValueDraftBuilder ? $this->value->build() : $this->value,
577 $this->cartPredicate,
578 $this->target instanceof CartDiscountTargetBuilder ? $this->target->build() : $this->target,
579 $this->sortOrder,
580 $this->stores,
581 $this->isActive,
582 $this->validFrom,
583 $this->validUntil,
584 $this->requiresDiscountCode,
585 $this->stackingMode,
586 $this->custom instanceof CustomFieldsDraftBuilder ? $this->custom->build() : $this->custom,
587 $this->discountGroup instanceof DiscountGroupResourceIdentifierBuilder ? $this->discountGroup->build() : $this->discountGroup,
588 $this->recurringOrderScope instanceof RecurringOrderScopeDraftBuilder ? $this->recurringOrderScope->build() : $this->recurringOrderScope
589 );
590 }
591
592 public static function of(): CartDiscountDraftBuilder
593 {
594 return new self();
595 }
596}
withDiscountGroup(?DiscountGroupResourceIdentifier $discountGroup)
withRecurringOrderScope(?RecurringOrderScopeDraft $recurringOrderScope)
withDiscountGroupBuilder(?DiscountGroupResourceIdentifierBuilder $discountGroup)
withRecurringOrderScopeBuilder(?RecurringOrderScopeDraftBuilder $recurringOrderScope)