Table::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 0
nc 1
nop 3
dl 0
loc 5
ccs 1
cts 1
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Cycle\Annotated\Annotation;
6
7
use Cycle\Annotated\Annotation\Table\Index;
8
use Cycle\Annotated\Annotation\Table\PrimaryKey;
9
use Doctrine\Common\Annotations\Annotation\Target;
10
use Spiral\Attributes\NamedArgumentConstructor;
11
12
/**
13
 * @Annotation
14
 * @NamedArgumentConstructor
15
 * @Target({"CLASS", "ANNOTATION"})
16
 */
17
#[\Attribute(\Attribute::TARGET_CLASS), NamedArgumentConstructor]
18
final class Table
19
{
20
    /**
21
     * @param Column[] $columns
22
     * @param PrimaryKey|null $primary
23
     * @param Index[] $indexes
24
     */
25 86
    public function __construct(
26
        private array $columns = [],
27
        private ?PrimaryKey $primary = null,
28
        private array $indexes = [],
29
    ) {
30 86
    }
31
32 38
    public function getColumns(): array
33
    {
34 38
        return $this->columns;
35
    }
36
37 74
    public function getPrimary(): ?PrimaryKey
38
    {
39 74
        return $this->primary;
40
    }
41
42 74
    public function getIndexes(): array
43
    {
44 74
        return $this->indexes;
45
    }
46
}
47