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

TextColumn::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
dl 0
loc 13
rs 10
c 1
b 0
f 0
cc 1
nc 1
nop 4
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\StringPrimitives;
28
29
/**
30
 * Class TextColumn
31
 *
32
 * @package DBD\Entity\Columns
33
 */
34
#[Attribute(Attribute::TARGET_PROPERTY)]
35
class TextColumn extends Column
36
{
37
    public function __construct(
38
        string $name,
39
        bool $nullable = false,
40
        ?string $defaultValue = null,
41
        ?string $annotation = null
42
    ) {
43
        parent::__construct([
44
            Column::NAME            => $name,
45
            Column::PRIMITIVE_TYPE  => StringPrimitives::String,
46
            Column::ORIGIN_TYPE     => 'text',
47
            Column::NULLABLE        => $nullable,
48
            Column::DEFAULT         => $defaultValue,
49
            Column::ANNOTATION      => $annotation
50
        ]);
51
    }
52
}
53