PluginProbe ʕ •ᴥ•ʔ
Transferito: WP Migration / trunk
Transferito: WP Migration vtrunk
trunk 11.4.0 12.0.0 13.1.0 14.0.0 14.0.11 14.0.7 14.1.0 14.1.1 14.1.2 14.1.3 14.1.4
transferito / vendor / aws / aws-sdk-php / src / Api / AbstractModel.php
transferito / vendor / aws / aws-sdk-php / src / Api Last commit date
ErrorParser 11 months ago Parser 11 months ago Serializer 11 months ago AbstractModel.php 11 months ago ApiProvider.php 11 months ago DateTimeResult.php 11 months ago DocModel.php 11 months ago ListShape.php 11 months ago MapShape.php 11 months ago Operation.php 11 months ago Service.php 11 months ago Shape.php 11 months ago ShapeMap.php 11 months ago StructureShape.php 11 months ago TimestampShape.php 11 months ago Validator.php 11 months ago
AbstractModel.php
90 lines
1 <?php
2 namespace Aws\Api;
3
4 /**
5 * Base class that is used by most API shapes
6 */
7 abstract class AbstractModel implements \ArrayAccess
8 {
9 /** @var array */
10 protected $definition;
11
12 /** @var ShapeMap */
13 protected $shapeMap;
14
15 /** @var array */
16 protected $contextParam;
17
18 /**
19 * @param array $definition Service description
20 * @param ShapeMap $shapeMap Shapemap used for creating shapes
21 */
22 public function __construct(array $definition, ShapeMap $shapeMap)
23 {
24 $this->definition = $definition;
25 $this->shapeMap = $shapeMap;
26 if (isset($definition['contextParam'])) {
27 $this->contextParam = $definition['contextParam'];
28 }
29 }
30
31 public function toArray()
32 {
33 return $this->definition;
34 }
35
36 /**
37 * @return mixed|null
38 */
39 #[\ReturnTypeWillChange]
40 public function offsetGet($offset)
41 {
42 return isset($this->definition[$offset])
43 ? $this->definition[$offset] : null;
44 }
45
46 /**
47 * @return void
48 */
49 #[\ReturnTypeWillChange]
50 public function offsetSet($offset, $value)
51 {
52 $this->definition[$offset] = $value;
53 }
54
55 /**
56 * @return bool
57 */
58 #[\ReturnTypeWillChange]
59 public function offsetExists($offset)
60 {
61 return isset($this->definition[$offset]);
62 }
63
64 /**
65 * @return void
66 */
67 #[\ReturnTypeWillChange]
68 public function offsetUnset($offset)
69 {
70 unset($this->definition[$offset]);
71 }
72
73 protected function shapeAt($key)
74 {
75 if (!isset($this->definition[$key])) {
76 throw new \InvalidArgumentException('Expected shape definition at '
77 . $key);
78 }
79
80 return $this->shapeFor($this->definition[$key]);
81 }
82
83 protected function shapeFor(array $definition)
84 {
85 return isset($definition['shape'])
86 ? $this->shapeMap->resolve($definition)
87 : Shape::create($definition, $this->shapeMap);
88 }
89 }
90