AlkantarClanX12
Current Path : /home/thanudqk/128shen.com/wp-content/plugins/w3-total-cache/lib/Aws/Aws/Api/ |
Current File : /home/thanudqk/128shen.com/wp-content/plugins/w3-total-cache/lib/Aws/Aws/Api/StructureShape.php |
<?php namespace Aws\Api; /** * Represents a structure shape and resolve member shape references. */ class StructureShape extends Shape { /** * @var Shape[] */ private $members; public function __construct(array $definition, ShapeMap $shapeMap) { $definition['type'] = 'structure'; if (!isset($definition['members'])) { $definition['members'] = []; } parent::__construct($definition, $shapeMap); } /** * Gets a list of all members * * @return Shape[] */ public function getMembers() { if (empty($this->members)) { $this->generateMembersHash(); } return $this->members; } /** * Check if a specific member exists by name. * * @param string $name Name of the member to check * * @return bool */ public function hasMember($name) { return isset($this->definition['members'][$name]); } /** * Retrieve a member by name. * * @param string $name Name of the member to retrieve * * @return Shape * @throws \InvalidArgumentException if the member is not found. */ 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); } } }