commercetools-sdk-php-v2  master
The platform, import-api and ml-api PHP sdks generated from our api reference.
ReturnInfoModel.php
1 <?php
2 
3 declare(strict_types=1);
10 
15 use DateTimeImmutable;
16 use stdClass;
17 
21 final class ReturnInfoModel extends JsonObjectModel implements ReturnInfo
22 {
27  protected $items;
28 
33  protected $returnTrackingId;
34 
39  protected $returnDate;
40 
41 
45  public function __construct(
47  ?string $returnTrackingId = null,
48  ?DateTimeImmutable $returnDate = null
49  ) {
50  $this->items = $items;
51  $this->returnTrackingId = $returnTrackingId;
52  $this->returnDate = $returnDate;
53  }
54 
59  public function getItems()
60  {
61  if (is_null($this->items)) {
63  $data = $this->raw(self::FIELD_ITEMS);
64  if (is_null($data)) {
65  return null;
66  }
67  $this->items = ReturnItemDraftCollection::fromArray($data);
68  }
69 
70  return $this->items;
71  }
72 
79  public function getReturnTrackingId()
80  {
81  if (is_null($this->returnTrackingId)) {
83  $data = $this->raw(self::FIELD_RETURN_TRACKING_ID);
84  if (is_null($data)) {
85  return null;
86  }
87  $this->returnTrackingId = (string) $data;
88  }
89 
91  }
92 
99  public function getReturnDate()
100  {
101  if (is_null($this->returnDate)) {
103  $data = $this->raw(self::FIELD_RETURN_DATE);
104  if (is_null($data)) {
105  return null;
106  }
107  $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
108  if (false === $data) {
109  return null;
110  }
111  $this->returnDate = $data;
112  }
113 
114  return $this->returnDate;
115  }
116 
117 
121  public function setItems(?ReturnItemDraftCollection $items): void
122  {
123  $this->items = $items;
124  }
125 
129  public function setReturnTrackingId(?string $returnTrackingId): void
130  {
131  $this->returnTrackingId = $returnTrackingId;
132  }
133 
137  public function setReturnDate(?DateTimeImmutable $returnDate): void
138  {
139  $this->returnDate = $returnDate;
140  }
141 
142 
143  #[\ReturnTypeWillChange]
144  public function jsonSerialize()
145  {
146  $data = $this->toArray();
147  if (isset($data[ReturnInfo::FIELD_RETURN_DATE]) && $data[ReturnInfo::FIELD_RETURN_DATE] instanceof \DateTimeImmutable) {
148  $data[ReturnInfo::FIELD_RETURN_DATE] = $data[ReturnInfo::FIELD_RETURN_DATE]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
149  }
150  return (object) $data;
151  }
152 }
__construct(?ReturnItemDraftCollection $items=null, ?string $returnTrackingId=null, ?DateTimeImmutable $returnDate=null)