Passed
Pull Request — 1.x (#334)
by Akihito
02:32
created

ContextFactory::createOpenContext()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
c 1
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BEAR\Resource\SemanticLog\Profile\Compact;
6
7
use BEAR\Resource\AbstractRequest;
8
use BEAR\Resource\ResourceObject;
9
use BEAR\Resource\SemanticLog\ContextFactoryInterface;
10
use Koriym\SemanticLogger\AbstractContext;
11
use Override;
12
use Throwable;
13
14
final class ContextFactory implements ContextFactoryInterface
15
{
16
    #[Override]
17
    public function createOpenContext(AbstractRequest $request): OpenContext
18
    {
19
        return OpenContext::create($request);
20
    }
21
22
    #[Override]
23
    public function createCompleteContext(ResourceObject $resource, AbstractContext $openContext): CompleteContext
24
    {
25
        /** @var OpenContext $openContext */
26
        return CompleteContext::create($resource, $openContext);
27
    }
28
29
    #[Override]
30
    public function createErrorContext(Throwable $exception, string $exceptionId = '', ?AbstractContext $openContext = null): ErrorContext
31
    {
32
        /** @var ?OpenContext $openContext */
33
        return ErrorContext::create($exception, $exceptionId, $openContext);
34
    }
35
}
36