Beispiel #1
0
 public function parse($xrefs, $typeDelimiter, $overwrite = False, $ignore = True)
 {
     if (!is_array($xrefs)) {
         $xrefs = array($xrefs);
     }
     $parsed = array();
     foreach ($xrefs as $key => $value) {
         $xref = Xref::makeFromDefinitionString($value, $typeDelimiter);
         if ($this->has($xref)) {
             if (!$ignore) {
                 throw new AlreadyRegisteredException(sprintf('Not allowed to overwrite Xref of type "%s" with location "%s" already in collection.', $xref->getType(), $xref->getLocation()));
             }
             if ($overwrite && !$ignore) {
                 $this->add($xref);
             }
         } else {
             $this->add($xref);
         }
         $parsed[$key] = $xref;
     }
     return $parsed;
 }