TdbmFluidColumn::date()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
4
namespace TheCodingMachine\FluidSchema;
5
6
7
use Doctrine\DBAL\Schema\Column;
8
use Doctrine\DBAL\Schema\Table;
9
10
class TdbmFluidColumn
11
{
12
    /**
13
     * @var TdbmFluidTable
14
     */
15
    private $tdbmFluidTable;
16
    /**
17
     * @var FluidColumn
18
     */
19
    private $fluidColumn;
20
    /**
21
     * @var NamingStrategyInterface
22
     */
23
    private $namingStrategy;
24
25
    public function __construct(TdbmFluidTable $tdbmFluidTable, FluidColumn $fluidColumn, NamingStrategyInterface $namingStrategy)
26
    {
27
        $this->tdbmFluidTable = $tdbmFluidTable;
28
        $this->fluidColumn = $fluidColumn;
29
        $this->namingStrategy = $namingStrategy;
30
    }
31
32
    private function getOptions(FluidColumnOptions $options): TdbmFluidColumnOptions
33
    {
34
        return new TdbmFluidColumnOptions($this->tdbmFluidTable, $this->fluidColumn, $options);
35
    }
36
37
    public function integer(): TdbmFluidColumnOptions
38
    {
39
        $options = $this->fluidColumn->integer();
40
        return $this->getOptions($options);
41
    }
42
43
    public function smallInt(): TdbmFluidColumnOptions
44
    {
45
        $options = $this->fluidColumn->smallInt();
46
        return $this->getOptions($options);
47
    }
48
49
    public function bigInt(): TdbmFluidColumnOptions
50
    {
51
        $options = $this->fluidColumn->bigInt();
52
        return $this->getOptions($options);
53
    }
54
55
    public function decimal(int $precision = 10, int $scale = 0): TdbmFluidColumnOptions
56
    {
57
        $options = $this->fluidColumn->decimal($precision, $scale);
58
        return $this->getOptions($options);
59
    }
60
61
    public function float(int $precision = 10, int $scale = 0): TdbmFluidColumnOptions
62
    {
63
        $options = $this->fluidColumn->float($precision, $scale);
64
        return $this->getOptions($options);
65
    }
66
67
    public function string(?int $length = null, bool $fixed = false): TdbmFluidColumnOptions
68
    {
69
        $options = $this->fluidColumn->string($length, $fixed);
70
        return $this->getOptions($options);
71
    }
72
73
    public function text(?int $length = null): TdbmFluidColumnOptions
74
    {
75
        $options = $this->fluidColumn->text($length);
76
        return $this->getOptions($options);
77
    }
78
79
    public function guid(): TdbmFluidColumnOptions
80
    {
81
        $options = $this->fluidColumn->guid();
82
        return $this->getOptions($options);
83
    }
84
85
    public function binary(?int $length = null, bool $fixed = false): TdbmFluidColumnOptions
86
    {
87
        $options = $this->fluidColumn->binary($length, $fixed);
88
        return $this->getOptions($options);
89
    }
90
91
    public function blob(): TdbmFluidColumnOptions
92
    {
93
        $options = $this->fluidColumn->blob();
94
        return $this->getOptions($options);
95
    }
96
97
    public function boolean(): TdbmFluidColumnOptions
98
    {
99
        $options = $this->fluidColumn->boolean();
100
        return $this->getOptions($options);
101
    }
102
103
    public function date(): TdbmFluidColumnOptions
104
    {
105
        $options = $this->fluidColumn->date();
106
        return $this->getOptions($options);
107
    }
108
109
    public function dateImmutable(): TdbmFluidColumnOptions
110
    {
111
        $options = $this->fluidColumn->dateImmutable();
112
        return $this->getOptions($options);
113
    }
114
115
    public function datetime(): TdbmFluidColumnOptions
116
    {
117
        $options = $this->fluidColumn->datetime();
118
        return $this->getOptions($options);
119
    }
120
121
    public function datetimeImmutable(): TdbmFluidColumnOptions
122
    {
123
        $options = $this->fluidColumn->datetimeImmutable();
124
        return $this->getOptions($options);
125
    }
126
127
    public function datetimeTz(): TdbmFluidColumnOptions
128
    {
129
        $options = $this->fluidColumn->datetimeTz();
130
        return $this->getOptions($options);
131
    }
132
133
    public function datetimeTzImmutable(): TdbmFluidColumnOptions
134
    {
135
        $options = $this->fluidColumn->datetimeTzImmutable();
136
        return $this->getOptions($options);
137
    }
138
139
    public function time(): TdbmFluidColumnOptions
140
    {
141
        $options = $this->fluidColumn->time();
142
        return $this->getOptions($options);
143
    }
144
145
    public function timeImmutable(): TdbmFluidColumnOptions
146
    {
147
        $options = $this->fluidColumn->timeImmutable();
148
        return $this->getOptions($options);
149
    }
150
151
    public function dateInterval(): TdbmFluidColumnOptions
152
    {
153
        $options = $this->fluidColumn->dateInterval();
154
        return $this->getOptions($options);
155
    }
156
157
    public function array(): TdbmFluidColumnOptions
158
    {
159
        $options = $this->fluidColumn->array();
160
        return $this->getOptions($options);
161
    }
162
163
    public function simpleArray(): TdbmFluidColumnOptions
164
    {
165
        $options = $this->fluidColumn->simpleArray();
166
        return $this->getOptions($options);
167
    }
168
169
    public function json(): TdbmFluidColumnOptions
170
    {
171
        $options = $this->fluidColumn->json();
172
        return $this->getOptions($options);
173
    }
174
175
    public function jsonArray(): TdbmFluidColumnOptions
176
    {
177
        $options = $this->fluidColumn->jsonArray();
0 ignored issues
show
Deprecated Code introduced by
The method TheCodingMachine\FluidSc...luidColumn::jsonArray() has been deprecated with message: From DBAL 2.6, use json() instead.

This method has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.

Loading history...
178
        return $this->getOptions($options);
179
    }
180
181
    public function object(): TdbmFluidColumnOptions
182
    {
183
        $options = $this->fluidColumn->object();
184
        return $this->getOptions($options);
185
    }
186
187
    public function references(string $tableName, ?string $constraintName = null, string $onUpdate = 'RESTRICT', string $onDelete = 'RESTRICT'): TdbmFluidColumnOptions
188
    {
189
        $options = $this->fluidColumn->references($tableName, $constraintName, $onUpdate, $onDelete);
190
        return $this->getOptions($options);
191
    }
192
193
    public function getDbalColumn(): Column
194
    {
195
        return $this->fluidColumn->getDbalColumn();
196
    }
197
}
198