12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace Aws\Api;
- class StructureShape extends Shape
- {
-
- private $members;
- public function __construct(array $definition, ShapeMap $shapeMap)
- {
- $definition['type'] = 'structure';
- if (!isset($definition['members'])) {
- $definition['members'] = [];
- }
- parent::__construct($definition, $shapeMap);
- }
-
- public function getMembers()
- {
- if (empty($this->members)) {
- $this->generateMembersHash();
- }
- return $this->members;
- }
-
- public function hasMember($name)
- {
- return isset($this->definition['members'][$name]);
- }
-
- public function getMember($name)
- {
- $members = $this->getMembers();
- if (!isset($members[$name])) {
- throw new \InvalidArgumentException('Unknown member ' . $name);
- }
- return $members[$name];
- }
- private function generateMembersHash()
- {
- $this->members = [];
- foreach ($this->definition['members'] as $name => $definition) {
- $this->members[$name] = $this->shapeFor($definition);
- }
- }
- }
|