| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 | 
							- <?php
 
- namespace Aws\EndpointV2\Ruleset;
 
- use Aws\Exception\UnresolvedEndpointException;
 
- /**
 
-  * Houses properties of an individual parameter definition.
 
-  */
 
- class RulesetParameter
 
- {
 
-     /** @var string */
 
-     private $name;
 
-     /** @var string */
 
-     private $type;
 
-     /** @var string */
 
-     private $builtIn;
 
-     /** @var string */
 
-     private $default;
 
-     /** @var array */
 
-     private $required;
 
-     /** @var string */
 
-     private $documentation;
 
-     /** @var boolean */
 
-     private $deprecated;
 
-     public function __construct($name, array $definition)
 
-     {
 
-         $type = ucfirst($definition['type']);
 
-         if ($this->isValidType($type)) {
 
-             $this->type = $type;
 
-         } else {
 
-             throw new UnresolvedEndpointException(
 
-                 'Unknown parameter type ' . "`{$type}`" .
 
-                 '. Parameters must be of type `String` or `Boolean`.'
 
-             );
 
-         }
 
-         $this->name = $name;
 
-         $this->builtIn = isset($definition['builtIn']) ? $definition['builtIn'] : null;
 
-         $this->default = isset($definition['default']) ? $definition['default'] : null;
 
-         $this->required =  isset($definition['required']) ?
 
-             $definition['required'] : false;
 
-         $this->documentation =  isset($definition['documentation']) ?
 
-             $definition['documentation'] : null;
 
-         $this->deprecated =  isset($definition['deprecated']) ?
 
-             $definition['deprecated'] : false;
 
-     }
 
-     /**
 
-      * @return mixed
 
-      */
 
-     public function getName()
 
-     {
 
-         return $this->name;
 
-     }
 
-     /**
 
-      * @return mixed
 
-      */
 
-     public function getType()
 
-     {
 
-         return $this->type;
 
-     }
 
-     /**
 
-      * @return mixed
 
-      */
 
-     public function getBuiltIn()
 
-     {
 
-         return $this->builtIn;
 
-     }
 
-     /**
 
-      * @return mixed
 
-      */
 
-     public function getDefault()
 
-     {
 
-         return $this->default;
 
-     }
 
-     /**
 
-      * @return boolean
 
-      */
 
-     public function getRequired()
 
-     {
 
-         return $this->required;
 
-     }
 
-     /**
 
-      * @return string
 
-      */
 
-     public function getDocumentation()
 
-     {
 
-         return $this->documentation;
 
-     }
 
-     /**
 
-      * @return boolean
 
-      */
 
-     public function getDeprecated()
 
-     {
 
-         return $this->deprecated;
 
-     }
 
-     /**
 
-      * Validates that an input parameter matches the type provided in its definition.
 
-      *
 
-      * @return void
 
-      * @throws InvalidArgumentException
 
-      */
 
-     public function validateInputParam($inputParam)
 
-     {
 
-         $typeMap = [
 
-             'String' => 'is_string',
 
-             'Boolean' => 'is_bool'
 
-         ];
 
-         if ($typeMap[$this->type]($inputParam) === false) {
 
-             throw new UnresolvedEndpointException(
 
-                 "Input parameter `{$this->name}` is the wrong type. Must be a {$this->type}."
 
-             );
 
-         }
 
-         if ($this->deprecated) {
 
-             $deprecated = $this->deprecated;
 
-             $deprecationString = "{$this->name} has been deprecated ";
 
-             $msg = isset($deprecated['message']) ? $deprecated['message'] : null;
 
-             $since = isset($deprecated['since']) ? $deprecated['since'] : null;
 
-             if (!is_null($since)) $deprecationString = $deprecationString
 
-                 . 'since '. $since . '. ';
 
-             if (!is_null($msg)) $deprecationString = $deprecationString . $msg;
 
-             trigger_error($deprecationString, E_USER_WARNING);
 
-         }
 
-     }
 
-     private function isValidType($type)
 
-     {
 
-         return in_array($type, ['String', 'Boolean']);
 
-     }
 
- }
 
 
  |