| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- <?php
 
- namespace Aws\Api;
 
- /**
 
-  * Represents a map shape.
 
-  */
 
- class MapShape extends Shape
 
- {
 
-     /** @var Shape */
 
-     private $value;
 
-     /** @var Shape */
 
-     private $key;
 
-     public function __construct(array $definition, ShapeMap $shapeMap)
 
-     {
 
-         $definition['type'] = 'map';
 
-         parent::__construct($definition, $shapeMap);
 
-     }
 
-     /**
 
-      * @return Shape
 
-      * @throws \RuntimeException if no value is specified
 
-      */
 
-     public function getValue()
 
-     {
 
-         if (!$this->value) {
 
-             if (!isset($this->definition['value'])) {
 
-                 throw new \RuntimeException('No value specified');
 
-             }
 
-             $this->value = Shape::create(
 
-                 $this->definition['value'],
 
-                 $this->shapeMap
 
-             );
 
-         }
 
-         return $this->value;
 
-     }
 
-     /**
 
-      * @return Shape
 
-      */
 
-     public function getKey()
 
-     {
 
-         if (!$this->key) {
 
-             $this->key = isset($this->definition['key'])
 
-                 ? Shape::create($this->definition['key'], $this->shapeMap)
 
-                 : new Shape(['type' => 'string'], $this->shapeMap);
 
-         }
 
-         return $this->key;
 
-     }
 
- }
 
 
  |