/** * @param string $key * @return DateTimeImmutable * @throws UnexpectedValueException */ private function retrieveDate($key) { $object = $this->dictionary->get($key); if (!$object instanceof DateType) { throw new UnexpectedValueException(sprintf('Expected an object of type %s, but got %s', DateType::class, get_class($object))); } return $object->getDateTime(); }
/** * {@inheritdoc} */ public function writeToStream(SplFileObject $fileObject, $encryptionKey) { $this['Length'] = new NumericObject(strlen($this->data)); parent::writeToStream($fileObject, $encryptionKey); unset($this['Length']); $fileObject->fwrite("\nstream\n"); $data = $this->data; if (null !== $encryptionKey) { $data = EncryptionUtils::rc4($encryptionKey, $data); } $fileObject->fwrite($data); $fileObject->fwrite("\nendstream"); }
/** * Writes the trailer. * * @param SplFileObject $fileObject */ private function writeTrailer(SplFileObject $fileObject) { $fileObject->fwrite("trailer\n"); $trailer = new DictionaryObject(); $trailer['Size'] = new NumericObject(count($this->objects) + 1); $trailer['Root'] = $this->root; $trailer['Info'] = $this->info; $trailer['Id'] = new ArrayObject([$this->firstId, $this->secondId]); $trailer->writeToStream($fileObject, null); }
/** * {@inheritdoc} */ public function writeToStream(SplFileObject $fileObject, $encryptionKey) { $this->dictionary->writeToStream($fileObject, $encryptionKey); }