commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
ExtensionInputBuilder.php
1<?php
2
3declare(strict_types=1);
10
18use stdClass;
19
23final class ExtensionInputBuilder implements Builder
24{
29 private $action;
30
35 private $resource;
36
41 private $oldResource;
42
49 public function getAction()
50 {
51 return $this->action;
52 }
53
60 public function getResource()
61 {
62 return $this->resource instanceof ReferenceBuilder ? $this->resource->build() : $this->resource;
63 }
64
71 public function getOldResource()
72 {
73 return $this->oldResource instanceof ReferenceBuilder ? $this->oldResource->build() : $this->oldResource;
74 }
75
80 public function withAction(?string $action)
81 {
82 $this->action = $action;
83
84 return $this;
85 }
86
91 public function withResource(?Reference $resource)
92 {
93 $this->resource = $resource;
94
95 return $this;
96 }
97
102 public function withOldResource(?Reference $oldResource)
103 {
104 $this->oldResource = $oldResource;
105
106 return $this;
107 }
108
113 public function withResourceBuilder(?ReferenceBuilder $resource)
114 {
115 $this->resource = $resource;
116
117 return $this;
118 }
119
124 public function withOldResourceBuilder(?ReferenceBuilder $oldResource)
125 {
126 $this->oldResource = $oldResource;
127
128 return $this;
129 }
130
131 public function build(): ExtensionInput
132 {
133 return new ExtensionInputModel(
134 $this->action,
135 $this->resource instanceof ReferenceBuilder ? $this->resource->build() : $this->resource,
136 $this->oldResource instanceof ReferenceBuilder ? $this->oldResource->build() : $this->oldResource
137 );
138 }
139
140 public static function of(): ExtensionInputBuilder
141 {
142 return new self();
143 }
144}