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
146 public function getKey()
147 {
148 return $this->key;
149 }
150
157 public function getDescription()
158 {
159 return $this->description instanceof LocalizedStringBuilder ? $this->description->build() : $this->description;
160 }
161
168 public function getValue()
169 {
170 return $this->value instanceof CartDiscountValueDraftBuilder ? $this->value->build() : $this->value;
171 }
172
179 public function getCartPredicate()
180 {
181 return $this->cartPredicate;
182 }
183
191 public function getTarget()
192 {
193 return $this->target instanceof CartDiscountTargetBuilder ? $this->target->build() : $this->target;
194 }
195
204 public function getSortOrder()
205 {
206 return $this->sortOrder;
207 }
208
220 public function getStores()
221 {
222 return $this->stores;
223 }
224
232 public function getIsActive()
233 {
234 return $this->isActive;
235 }
236
243 public function getValidFrom()
244 {
245 return $this->validFrom;
246 }
247
254 public function getValidUntil()
255 {
256 return $this->validUntil;
257 }
258
265 public function getRequiresDiscountCode()
266 {
267 return $this->requiresDiscountCode;
268 }
269
276 public function getStackingMode()
277 {
278 return $this->stackingMode;
279 }
280
287 public function getCustom()
288 {
289 return $this->custom instanceof CustomFieldsDraftBuilder ? $this->custom->build() : $this->custom;
290 }
291
298 public function getDiscountGroup()
299 {
300 return $this->discountGroup instanceof DiscountGroupResourceIdentifierBuilder ? $this->discountGroup->build() : $this->discountGroup;
301 }
302
310 public function getRecurringOrderScope()
311 {
312 return $this->recurringOrderScope instanceof RecurringOrderScopeDraftBuilder ? $this->recurringOrderScope->build() : $this->recurringOrderScope;
313 }
314
319 public function withName(?LocalizedString $name)
320 {
321 $this->name = $name;
322
323 return $this;
324 }
325
330 public function withKey(?string $key)
331 {
332 $this->key = $key;
333
334 return $this;
335 }
336
341 public function withDescription(?LocalizedString $description)
342 {
343 $this->description = $description;
344
345 return $this;
346 }
347
352 public function withValue(?CartDiscountValueDraft $value)
353 {
354 $this->value = $value;
355
356 return $this;
357 }
358
363 public function withCartPredicate(?string $cartPredicate)
364 {
365 $this->cartPredicate = $cartPredicate;
366
367 return $this;
368 }
369
374 public function withTarget(?CartDiscountTarget $target)
375 {
376 $this->target = $target;
377
378 return $this;
379 }
380
385 public function withSortOrder(?string $sortOrder)
386 {
387 $this->sortOrder = $sortOrder;
388
389 return $this;
390 }
391
397 {
398 $this->stores = $stores;
399
400 return $this;
401 }
402
407 public function withIsActive(?bool $isActive)
408 {
409 $this->isActive = $isActive;
410
411 return $this;
412 }
413
418 public function withValidFrom(?DateTimeImmutable $validFrom)
419 {
420 $this->validFrom = $validFrom;
421
422 return $this;
423 }
424
429 public function withValidUntil(?DateTimeImmutable $validUntil)
430 {
431 $this->validUntil = $validUntil;
432
433 return $this;
434 }
435
440 public function withRequiresDiscountCode(?bool $requiresDiscountCode)
441 {
442 $this->requiresDiscountCode = $requiresDiscountCode;
443
444 return $this;
445 }
446
451 public function withStackingMode(?string $stackingMode)
452 {
453 $this->stackingMode = $stackingMode;
454
455 return $this;
456 }
457
462 public function withCustom(?CustomFieldsDraft $custom)
463 {
464 $this->custom = $custom;
465
466 return $this;
467 }
468
473 public function withDiscountGroup(?DiscountGroupResourceIdentifier $discountGroup)
474 {
475 $this->discountGroup = $discountGroup;
476
477 return $this;
478 }
479
484 public function withRecurringOrderScope(?RecurringOrderScopeDraft $recurringOrderScope)
485 {
486 $this->recurringOrderScope = $recurringOrderScope;
487
488 return $this;
489 }
490
496 {
497 $this->name = $name;
498
499 return $this;
500 }
501
506 public function withDescriptionBuilder(?LocalizedStringBuilder $description)
507 {
508 $this->description = $description;
509
510 return $this;
511 }
512
518 {
519 $this->value = $value;
520
521 return $this;
522 }
523
529 {
530 $this->target = $target;
531
532 return $this;
533 }
534
540 {
541 $this->custom = $custom;
542
543 return $this;
544 }
545
551 {
552 $this->discountGroup = $discountGroup;
553
554 return $this;
555 }
556
562 {
563 $this->recurringOrderScope = $recurringOrderScope;
564
565 return $this;
566 }
567
568 public function build(): CartDiscountDraft
569 {
570 return new CartDiscountDraftModel(
571 $this->name instanceof LocalizedStringBuilder ? $this->name->build() : $this->name,
572 $this->key,
573 $this->description instanceof LocalizedStringBuilder ? $this->description->build() : $this->description,
574 $this->value instanceof CartDiscountValueDraftBuilder ? $this->value->build() : $this->value,
575 $this->cartPredicate,
576 $this->target instanceof CartDiscountTargetBuilder ? $this->target->build() : $this->target,
577 $this->sortOrder,
578 $this->stores,
579 $this->isActive,
580 $this->validFrom,
581 $this->validUntil,
582 $this->requiresDiscountCode,
583 $this->stackingMode,
584 $this->custom instanceof CustomFieldsDraftBuilder ? $this->custom->build() : $this->custom,
585 $this->discountGroup instanceof DiscountGroupResourceIdentifierBuilder ? $this->discountGroup->build() : $this->discountGroup,
586 $this->recurringOrderScope instanceof RecurringOrderScopeDraftBuilder ? $this->recurringOrderScope->build() : $this->recurringOrderScope
587 );
588 }
589
590 public static function of(): CartDiscountDraftBuilder
591 {
592 return new self();
593 }
594}
withDiscountGroup(?DiscountGroupResourceIdentifier $discountGroup)
withRecurringOrderScope(?RecurringOrderScopeDraft $recurringOrderScope)
withDiscountGroupBuilder(?DiscountGroupResourceIdentifierBuilder $discountGroup)
withRecurringOrderScopeBuilder(?RecurringOrderScopeDraftBuilder $recurringOrderScope)