ClassNameNotFoundEvent::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 0
nc 1
nop 2
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Gacela\Framework\Event\ClassResolver\ClassNameFinder;
6
7
use Gacela\Framework\ClassResolver\ClassInfo;
8
use Gacela\Framework\Event\GacelaEventInterface;
9
use Override;
10
11
use function sprintf;
12
13
final class ClassNameNotFoundEvent implements GacelaEventInterface
14
{
15
    /**
16
     * @param list<string> $resolvableTypes
17
     */
18
    public function __construct(
19
        private readonly ClassInfo $classInfo,
20
        private readonly array $resolvableTypes,
21
    ) {
22
    }
23
24
    public function classInfo(): ClassInfo
25
    {
26
        return $this->classInfo;
27
    }
28
29
    /**
30
     * @return list<string>
31
     */
32
    public function resolvableTypes(): array
33
    {
34
        return $this->resolvableTypes;
35
    }
36
37
    #[Override]
38
    public function toString(): string
39
    {
40
        return sprintf(
41
            '%s {classInfo:"%s", resolvableTypes:"%s"}',
42
            self::class,
43
            $this->classInfo->toString(),
44
            implode(',', $this->resolvableTypes),
45
        );
46
    }
47
}
48