Passed
Pull Request — master (#3)
by
unknown
01:41
created

IntColumn::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
dl 0
loc 17
rs 9.9666
c 1
b 0
f 0
cc 1
nc 1
nop 6
1
<?php
2
/********************************************************************************
3
 *   Apache License, Version 2.0                                                *
4
 *                                                                              *
5
 *   Copyright [2020] [Nurlan Mukhanov <[email protected]>]                      *
6
 *                                                                              *
7
 *   Licensed under the Apache License, Version 2.0 (the "License");            *
8
 *   you may not use this file except in compliance with the License.           *
9
 *   You may obtain a copy of the License at                                    *
10
 *                                                                              *
11
 *       http://www.apache.org/licenses/LICENSE-2.0                             *
12
 *                                                                              *
13
 *   Unless required by applicable law or agreed to in writing, software        *
14
 *   distributed under the License is distributed on an "AS IS" BASIS,          *
15
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   *
16
 *   See the License for the specific language governing permissions and        *
17
 *   limitations under the License.                                             *
18
 *                                                                              *
19
 ********************************************************************************/
20
21
declare(strict_types=1);
22
23
namespace DBD\Entity\Columns;
24
25
use Attribute;
26
use DBD\Entity\Column;
27
use DBD\Entity\Primitives\NumericPrimitives;
28
29
/**
30
 * Class IntColumn
31
 *
32
 * @package DBD\Entity\Columns
33
 */
34
#[Attribute(Attribute::TARGET_PROPERTY)]
35
class IntColumn extends Column
36
{
37
    public function __construct(
38
        string $name,
39
        bool $auto = false,
40
        bool $nullable = false,
41
        bool $primary = false,
42
        ?string $defaultValue = null,
43
        ?string $annotation = null
44
    ) {
45
        parent::__construct([
46
            Column::NAME            => $name,
47
            Column::PRIMITIVE_TYPE  => NumericPrimitives::Int32,
48
            Column::ORIGIN_TYPE     => 'int4',
49
            Column::IS_AUTO         => $auto,
50
            Column::NULLABLE        => $nullable,
51
            Column::KEY             => $primary,
52
            Column::DEFAULT         => $defaultValue,
53
            Column::ANNOTATION      => $annotation
54
        ]);
55
    }
56
}
57