/**
  * Return inner LineReader.
  *
  * @return \Contrib\Component\File\FileHandler\Plain\LineReaderInterface|NULL
  */
 public function getInnerLineReader()
 {
     if ($this->lineHandler instanceof \IteratorIterator) {
         $lineHandler = $this->lineHandler->getInnerIterator();
     } else {
         $lineHandler = $this->lineHandler;
     }
     if (is_object($lineHandler) && method_exists($lineHandler, 'getLineReader')) {
         $lineReader = $lineHandler->getLineReader();
         if ($lineReader instanceof LineReaderInterface) {
             return $lineReader;
         }
     }
     return null;
 }
Пример #2
0
 /**
  * Returns original data.
  *
  * @return array|\Traversable
  *
  * @throws DataException
  */
 public function getRaw()
 {
     switch ($this->type) {
         case self::TYPE_ARRAY:
             return $this->data->getArrayCopy();
         case self::TYPE_ITERATOR:
             return $this->data;
         case self::TYPE_AGGREGATE:
             return $this->data->getInnerIterator();
     }
     throw DataException::invalidCollectionData($this->data);
 }