/**
  * Validate the parameters accepted by this hydrator
  *
  * By default, a multipart parameter accepts exactly two parameters:
  * - the minimum number of occurrences of the contained part aggregate
  * - the maximum number of occurrences of the contained part aggregate
  *
  * @param array $parameters Parameters
  * @return boolean Parameters are valid
  */
 public static function validateParameters(...$parameters)
 {
     // If the number of parameters isn't exactly 2
     if (count($parameters) != 2) {
         throw new InvalidArgumentException(sprintf('Invalid multipart hydrator parameter count (%s)', count($parameters)), InvalidArgumentException::INVALID_MULTIPART_HYDRATOR_PARAMETER_COUNT);
     }
     // Validate the occurrence numbers
     AbstractPartAggregate::validateOccurrences(intval($parameters[0]), intval($parameters[1]));
     return true;
 }
Пример #2
0
 /**
  * Return a particular part of a particular occurrence
  *
  * @param int $occurrence Occurrence index
  * @param string $part Part identifier
  * @return PartInterface Part instance
  */
 protected function getOccurrencePart(&$occurrence, &$part)
 {
     reset($this->occurrences[$occurrence]);
     if ($part == self::WILDCARD) {
         $part = key($this->occurrences[$occurrence]);
     }
     return parent::getOccurrencePart($occurrence, $part);
 }