Seditio Source
Root |
./othercms/dle15_0/upload/engine/classes/composer/vendor/aws/aws-sdk-php/src/Api/Shape.php
<?php
namespace Aws\Api;

/**
 * Base class representing a modeled shape.
 */
class Shape extends AbstractModel
{
   
/**
     * Get a concrete shape for the given definition.
     *
     * @param array    $definition
     * @param ShapeMap $shapeMap
     *
     * @return mixed
     * @throws \RuntimeException if the type is invalid
     */
   
public static function create(array $definition, ShapeMap $shapeMap)
    {
        static
$map = [
           
'structure' => 'Aws\Api\StructureShape',
           
'map'       => 'Aws\Api\MapShape',
           
'list'      => 'Aws\Api\ListShape',
           
'timestamp' => 'Aws\Api\TimestampShape',
           
'integer'   => 'Aws\Api\Shape',
           
'double'    => 'Aws\Api\Shape',
           
'float'     => 'Aws\Api\Shape',
           
'long'      => 'Aws\Api\Shape',
           
'string'    => 'Aws\Api\Shape',
           
'byte'      => 'Aws\Api\Shape',
           
'character' => 'Aws\Api\Shape',
           
'blob'      => 'Aws\Api\Shape',
           
'boolean'   => 'Aws\Api\Shape'
       
];

        if (isset(
$definition['shape'])) {
            return
$shapeMap->resolve($definition);
        }

        if (!isset(
$map[$definition['type']])) {
            throw new \
RuntimeException('Invalid type: '
               
. print_r($definition, true));
        }

       
$type = $map[$definition['type']];

        return new
$type($definition, $shapeMap);
    }

   
/**
     * Get the type of the shape
     *
     * @return string
     */
   
public function getType()
    {
        return
$this->definition['type'];
    }

   
/**
     * Get the name of the shape
     *
     * @return string
     */
   
public function getName()
    {
        return
$this->definition['name'];
    }
}