commercetools-sdk-php-v2  master
The platform, import-api and ml-api PHP sdks generated from our api reference.
DiscountedLineItemPortionBuilder.php
1 <?php
2 
3 declare(strict_types=1);
10 
20 use stdClass;
21 
26 {
31  private $discount;
32 
37  private $discountedAmount;
38 
45  public function getDiscount()
46  {
47  return $this->discount instanceof CartDiscountKeyReferenceBuilder ? $this->discount->build() : $this->discount;
48  }
49 
54  public function getDiscountedAmount()
55  {
56  return $this->discountedAmount instanceof MoneyBuilder ? $this->discountedAmount->build() : $this->discountedAmount;
57  }
58 
63  public function withDiscount(?CartDiscountKeyReference $discount)
64  {
65  $this->discount = $discount;
66 
67  return $this;
68  }
69 
74  public function withDiscountedAmount(?Money $discountedAmount)
75  {
76  $this->discountedAmount = $discountedAmount;
77 
78  return $this;
79  }
80 
86  {
87  $this->discount = $discount;
88 
89  return $this;
90  }
91 
96  public function withDiscountedAmountBuilder(?MoneyBuilder $discountedAmount)
97  {
98  $this->discountedAmount = $discountedAmount;
99 
100  return $this;
101  }
102 
103  public function build(): DiscountedLineItemPortion
104  {
106  $this->discount instanceof CartDiscountKeyReferenceBuilder ? $this->discount->build() : $this->discount,
107  $this->discountedAmount instanceof MoneyBuilder ? $this->discountedAmount->build() : $this->discountedAmount
108  );
109  }
110 
111  public static function of(): DiscountedLineItemPortionBuilder
112  {
113  return new self();
114  }
115 }