/**
  * Creates a binding type descriptor.
  *
  * @param string                       $name        The name of the type.
  * @param string|null                  $description A human-readable
  *                                                  description of the type.
  * @param BindingParameterDescriptor[] $parameters  The parameters.
  *
  * @see BindingType
  */
 public function __construct($name, $description = null, array $parameters = array())
 {
     Assert::typeName($name);
     Assert::nullOrString($description, 'The description must be a string or null. Got: %s');
     Assert::nullOrNotEmpty($description, 'The description must not be empty.');
     Assert::allIsInstanceOf($parameters, __NAMESPACE__ . '\\BindingParameterDescriptor');
     $this->name = $name;
     $this->description = $description;
     foreach ($parameters as $parameter) {
         $this->parameters[$parameter->getName()] = $parameter;
     }
 }
示例#2
0
 /**
  * Creates a new binding descriptor.
  *
  * @param string $query           The query for the resources of the binding.
  * @param string $typeName        The name of the binding type.
  * @param array  $parameterValues The values of the binding parameters.
  * @param string $language        The language of the query.
  * @param Uuid   $uuid            The UUID of the binding. If no UUID is
  *                                passed, a UUID is generated.
  *
  * @throws InvalidArgumentException If any of the arguments is invalid.
  *
  * @see ResourceBinding
  */
 public function __construct($query, $typeName, array $parameterValues = array(), $language = 'glob', Uuid $uuid = null)
 {
     Assert::query($query);
     Assert::typeName($typeName);
     Assert::language($language);
     Assert::allParameterName(array_keys($parameterValues));
     Assert::allParameterValue($parameterValues);
     if (null === $uuid) {
         $uuid = Uuid::uuid4();
     }
     $this->uuid = $uuid;
     $this->query = $query;
     $this->language = $language;
     $this->typeName = $typeName;
     $this->parameterValues = $parameterValues;
 }