| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <?phpnamespace 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;    }}
 |