PHP Classes

File: application/modules/extensions/aws/Aws/Api/Shape.php

Recommend this page to a friend!
  Classes of Tran Tuan   Pretty PHP S3 Files Manager   application/modules/extensions/aws/Aws/Api/Shape.php   Download  
File: application/modules/extensions/aws/Aws/Api/Shape.php
Role: Application script
Content type: text/plain
Description: Application script
Class: Pretty PHP S3 Files Manager
Web based interface to manage files in Amazon S3
Author: By
Last change:
Date: 8 years ago
Size: 1,752 bytes
 

Contents

Class file image Download
<?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'];
    }
}