Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/AWS/Aws/Api/StructureShape.php
Строк: 71
<?php
namespace AwsApi;

/**
 * Represents a structure shape and resolve member shape references.
 */
class StructureShape extends Shape
{
    
/**
     * @var Shape[]
     */
    
private $members;

    public function 
__construct(array $definitionShapeMap $shapeMap)
    {
        
$definition['type'] = 'structure';

        if (!isset(
$definition['members'])) {
            
$definition['members'] = [];
        }

        
parent::__construct($definition$shapeMap);
    }

    
/**
     * Gets a list of all members
     *
     * @return Shape[]
     */
    
public function getMembers()
    {
        if (empty(
$this->members)) {
            
$this->generateMembersHash();
        }

        return 
$this->members;
    }

    
/**
     * Check if a specific member exists by name.
     *
     * @param string $name Name of the member to check
     *
     * @return bool
     */
    
public function hasMember($name)
    {
        return isset(
$this->definition['members'][$name]);
    }

    
/**
     * Retrieve a member by name.
     *
     * @param string $name Name of the member to retrieve
     *
     * @return Shape
     * @throws InvalidArgumentException if the member is not found.
     */
    
public function getMember($name)
    {
        
$members $this->getMembers();

        if (!isset(
$members[$name])) {
            throw new 
InvalidArgumentException('Unknown member ' $name);
        }

        return 
$members[$name];
    }


    private function 
generateMembersHash()
    {
        
$this->members = [];

        foreach (
$this->definition['members'] as $name => $definition) {
            
$this->members[$name] = $this->shapeFor($definition);
        }
    }
}
Онлайн: 0
Реклама