Embedded::getPrefix()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Cycle\Annotated\Annotation\Relation;
6
7
use JetBrains\PhpStorm\ExpectedValues;
8
use Spiral\Attributes\NamedArgumentConstructor;
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 'eager'|'lazy' $load Relation load approach.
24
     * @param string|null $prefix Prefix for embedded entity columns.
25
     */
26 72
    public function __construct(
27
        string $target,
28
        #[ExpectedValues(values: ['lazy', 'eager'])]
29
        string $load = 'eager',
30
        ?string $prefix = null,
31
    ) {
32 72
        $this->embeddedPrefix = $prefix;
33
34 72
        parent::__construct($target, $load);
35 72
    }
36
37 72
    public function getInverse(): ?Inverse
38
    {
39 72
        return null;
40
    }
41
42 72
    public function getPrefix(): ?string
43
    {
44 72
        return $this->embeddedPrefix;
45
    }
46
47 72
    public function setPrefix(string $prefix): self
48
    {
49 72
        $this->embeddedPrefix = $prefix;
50
51 72
        return $this;
52
    }
53
}
54