Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
VersionRequirementException
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Phpdftk\Pdf\Core\File;
6
7use Phpdftk\Pdf\Core\PdfVersion;
8
9/**
10 * Thrown when strict version mode is enabled and a registered object
11 * requires a higher PDF version than the document is configured for.
12 */
13class VersionRequirementException extends \RuntimeException
14{
15    public function __construct(
16        public readonly string $objectClass,
17        public readonly PdfVersion $requiredVersion,
18        public readonly PdfVersion $currentVersion,
19    ) {
20        parent::__construct(sprintf(
21            '%s requires PDF %s, but the document version is %s. '
22            . 'Call setVersion(PdfVersion::%s) or disable strict mode '
23            . 'with setStrictVersionMode(false) to allow auto-bumping.',
24            $objectClass,
25            $requiredVersion->value,
26            $currentVersion->value,
27            $requiredVersion->name,
28        ));
29    }
30}