<?php 
namespace Aws; 
 
use JmesPath\Env as JmesPath; 
 
/** 
 * AWS result. 
 */ 
class Result implements ResultInterface 
{ 
    use HasDataTrait; 
 
    public function __construct(array $data = []) 
    { 
        $this->data = $data; 
    } 
 
    public function hasKey($name) 
    { 
        return isset($this->data[$name]); 
    } 
 
    public function get($key) 
    { 
        return $this[$key]; 
    } 
 
    public function search($expression) 
    { 
        return JmesPath::search($expression, $this->toArray()); 
    } 
 
    public function __toString() 
    { 
        $jsonData = json_encode($this->toArray(), JSON_PRETTY_PRINT); 
        return <<<EOT 
Model Data 
---------- 
Data can be retrieved from the model object using the get() method of the 
model (e.g., `\$result->get(\$key)`) or "accessing the result like an 
associative array (e.g. `\$result['key']`). You can also execute JMESPath 
expressions on the result data using the search() method. 
 
{$jsonData} 
 
EOT; 
    } 
 
    /** 
     * @deprecated 
     */ 
    public function getPath($path) 
    { 
        return $this->search(str_replace('/', '.', $path)); 
    } 
} 
 
 |