Exemplo n.º 1
0
 /**
  * @param $data
  * @return Segment
  * @throws MandatorySegmentPieceMissing
  * @throws UnknownSegmentException
  */
 public function populate(&$data)
 {
     $segmentData = array_shift($data);
     $code = $segmentData[0];
     $segment = new Segment();
     $segment->setCode($code);
     $segment->setRawData($segmentData);
     if (!isset($this->segmentConfig[$code])) {
         return $segment;
         //            throw new UnknownSegmentException(sprintf("Unknown segment found: %s", $code));
     }
     $config = $this->segmentConfig[$code];
     $values = $this->transformValues($config->getDataElements(), $segmentData);
     foreach ($values as $k => $v) {
         $segment->set($k, $v);
     }
     return $segment;
 }