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;
- }
- }
|