Passed
Push — 3.x ( 4e5cb3...f6084f )
by Aleksei
05:06
created

Embedded::setPrefix()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
c 0
b 0
f 0
nc 1
nop 1
dl 0
loc 5
ccs 3
cts 3
cp 1
crap 1
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Cycle\Annotated\Annotation\Relation;
6
7
use Doctrine\Common\Annotations\Annotation\NamedArgumentConstructor;
8
use JetBrains\PhpStorm\ExpectedValues;
9
10
/**
11
 * @Annotation
12
 * @NamedArgumentConstructor
13
 * @Target("PROPERTY")
14
 */
15
#[\Attribute(\Attribute::TARGET_PROPERTY), NamedArgumentConstructor]
16
final class Embedded extends Relation
17
{
18
    protected const TYPE = 'embedded';
19
    protected ?string $embeddedPrefix = null;
20
21
    /**
22
     * @param non-empty-string $target Entity to embed.
0 ignored issues
show
Documentation Bug introduced by
The doc comment non-empty-string at position 0 could not be parsed: Unknown type name 'non-empty-string' at position 0 in non-empty-string.
Loading history...
23
     * @param non-empty-string $load Relation load approach.
24
     * @param non-empty-string|null $prefix Prefix for embedded entity columns.
25
     */
26 36
    public function __construct(
27
        string $target,
28
        #[ExpectedValues(values: ['lazy', 'eager'])]
29
        string $load = 'eager',
30
        ?string $prefix = null,
31
    ) {
32 36
        $this->embeddedPrefix = $prefix;
33
34 36
        parent::__construct($target, $load);
35 36
    }
36
37 36
    public function getInverse(): ?Inverse
38
    {
39 36
        return null;
40
    }
41
42 36
    public function getPrefix(): ?string
43
    {
44 36
        return $this->embeddedPrefix;
45
    }
46
47 36
    public function setPrefix(string $prefix): self
48
    {
49 36
        $this->embeddedPrefix = $prefix;
50
51 36
        return $this;
52
    }
53
}
54