Feature.php 5.65 KB
Newer Older
Christian Knauf's avatar
Christian Knauf committed
1
<?php
Thomas Löffler's avatar
Thomas Löffler committed
2
declare(strict_types=1);
Christian Knauf's avatar
Christian Knauf committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace T3o\Typo3Roadmap\Domain\Model;

/**
 * This file is part of the TYPO3 CMS project.
 *
 * It is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License, either version 2
 * of the License, or any later version.
 *
 * For the full copyright and license information, please read the
 * LICENSE.txt file that was distributed with this source code.
 *
 * The TYPO3 project - inspiring people to share!
 */

Thomas Löffler's avatar
Thomas Löffler committed
18
19
20
use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;

Christian Knauf's avatar
Christian Knauf committed
21
22
23
/**
 * Feature
 */
Thomas Löffler's avatar
Thomas Löffler committed
24
class Feature extends AbstractEntity
Christian Knauf's avatar
Christian Knauf committed
25
26
27
28
29
{
    /**
     * header
     *
     * @var string
Thomas Löffler's avatar
Thomas Löffler committed
30
     * @Extbase\Validate("NotEmpty")
Christian Knauf's avatar
Christian Knauf committed
31
32
33
34
35
36
37
     */
    protected $header = '';

    /**
     * description
     *
     * @var string
Thomas Löffler's avatar
Thomas Löffler committed
38
     * @Extbase\Validate("NotEmpty")
Christian Knauf's avatar
Christian Knauf committed
39
40
41
42
43
44
45
     */
    protected $description = '';

    /**
     * images
     *
     * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
Thomas Löffler's avatar
Thomas Löffler committed
46
     * @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove")
Christian Knauf's avatar
Christian Knauf committed
47
48
49
50
51
52
53
54
55
56
57
58
59
60
     */
    protected $images = null;

    /**
     * link
     *
     * @var string
     */
    protected $link = '';

    /**
     * typo3releaseminorversion
     *
     * @var \T3o\Typo3Roadmap\Domain\Model\MinorVersion
Thomas Löffler's avatar
Thomas Löffler committed
61
     * @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
Christian Knauf's avatar
Christian Knauf committed
62
63
64
65
66
67
68
     */
    protected $typo3releaseminorversion = null;

    /**
     * typo3releasemajorversion
     *
     * @var \T3o\Typo3Roadmap\Domain\Model\MajorVersion
Thomas Löffler's avatar
Thomas Löffler committed
69
     * @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
Christian Knauf's avatar
Christian Knauf committed
70
71
72
73
74
75
76
     */
    protected $typo3releasemajorversion = null;

    /**
     * featureArea
     *
     * @var \T3o\Typo3Roadmap\Domain\Model\FeatureArea
Thomas Löffler's avatar
Thomas Löffler committed
77
     * @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
Christian Knauf's avatar
Christian Knauf committed
78
79
80
     */
    protected $featureArea = null;

Thomas Löffler's avatar
Thomas Löffler committed
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
    /**
     * __construct
     */
    public function __construct()
    {
        //Do not remove the next line: It would break the functionality
        $this->initStorageObjects();
    }

    /**
     * Initializes all ObjectStorage properties
     * Do not modify this method!
     * It will be rewritten on each save in the extension builder
     * You may modify the constructor of this class instead
     *
     * @return void
     */
    protected function initStorageObjects(): void
    {
        $this->images = new ObjectStorage();
        $this->typo3releasemajorversion = new ObjectStorage();
        $this->typo3releaseminorversion = new ObjectStorage();
    }

Christian Knauf's avatar
Christian Knauf committed
105
106
107
108
109
    /**
     * Returns the header
     *
     * @return string $header
     */
Thomas Löffler's avatar
Thomas Löffler committed
110
    public function getHeader(): string
Christian Knauf's avatar
Christian Knauf committed
111
112
113
114
115
116
117
118
119
120
    {
        return $this->header;
    }

    /**
     * Sets the header
     *
     * @param string $header
     * @return void
     */
Thomas Löffler's avatar
Thomas Löffler committed
121
    public function setHeader(string $header): void
Christian Knauf's avatar
Christian Knauf committed
122
123
124
125
126
127
128
129
130
    {
        $this->header = $header;
    }

    /**
     * Returns the description
     *
     * @return string $description
     */
Thomas Löffler's avatar
Thomas Löffler committed
131
    public function getDescription(): string
Christian Knauf's avatar
Christian Knauf committed
132
133
134
135
136
137
138
139
140
141
    {
        return $this->description;
    }

    /**
     * Sets the description
     *
     * @param string $description
     * @return void
     */
Thomas Löffler's avatar
Thomas Löffler committed
142
    public function setDescription(string $description): void
Christian Knauf's avatar
Christian Knauf committed
143
144
145
146
147
148
149
150
151
    {
        $this->description = $description;
    }

    /**
     * Returns the link
     *
     * @return string $link
     */
Thomas Löffler's avatar
Thomas Löffler committed
152
    public function getLink(): string
Christian Knauf's avatar
Christian Knauf committed
153
154
155
156
157
158
159
160
161
162
    {
        return $this->link;
    }

    /**
     * Sets the link
     *
     * @param string $link
     * @return void
     */
Thomas Löffler's avatar
Thomas Löffler committed
163
    public function setLink(string $link): void
Christian Knauf's avatar
Christian Knauf committed
164
165
166
167
168
169
170
171
172
    {
        $this->link = $link;
    }

    /**
     * Returns the featureArea
     *
     * @return \T3o\Typo3Roadmap\Domain\Model\FeatureArea $featureArea
     */
Thomas Löffler's avatar
Thomas Löffler committed
173
    public function getFeatureArea(): FeatureArea
Christian Knauf's avatar
Christian Knauf committed
174
175
176
177
178
179
180
181
182
183
    {
        return $this->featureArea;
    }

    /**
     * Sets the featureArea
     *
     * @param \T3o\Typo3Roadmap\Domain\Model\FeatureArea $featureArea
     * @return void
     */
Thomas Löffler's avatar
Thomas Löffler committed
184
    public function setFeatureArea(FeatureArea $featureArea)
Christian Knauf's avatar
Christian Knauf committed
185
186
187
188
189
190
191
    {
        $this->featureArea = $featureArea;
    }

    /**
     * Returns the typo3releaseminorversion
     *
Thomas Löffler's avatar
Thomas Löffler committed
192
     * @return \T3o\Typo3Roadmap\Domain\Model\MinorVersion
Christian Knauf's avatar
Christian Knauf committed
193
     */
Thomas Löffler's avatar
Thomas Löffler committed
194
    public function getTypo3releaseminorversion(): MinorVersion
Christian Knauf's avatar
Christian Knauf committed
195
196
197
198
199
200
201
202
203
204
    {
        return $this->typo3releaseminorversion;
    }

    /**
     * Sets the typo3releaseminorversion
     *
     * @param \T3o\Typo3Roadmap\Domain\Model\MinorVersion $typo3releaseminorversion
     * @return void
     */
Thomas Löffler's avatar
Thomas Löffler committed
205
    public function setTypo3releaseminorversion(MinorVersion $typo3releaseminorversion): void
Christian Knauf's avatar
Christian Knauf committed
206
207
208
209
210
211
212
    {
        $this->typo3releaseminorversion = $typo3releaseminorversion;
    }

    /**
     * Returns the typo3releasemajorversion
     *
Thomas Löffler's avatar
Thomas Löffler committed
213
     * @return \T3o\Typo3Roadmap\Domain\Model\MajorVersion
Christian Knauf's avatar
Christian Knauf committed
214
     */
Thomas Löffler's avatar
Thomas Löffler committed
215
    public function getTypo3releasemajorversion(): MajorVersion
Christian Knauf's avatar
Christian Knauf committed
216
217
218
219
220
221
222
    {
        return $this->typo3releasemajorversion;
    }

    /**
     * Sets the typo3releasemajorversion
     *
Thomas Löffler's avatar
Thomas Löffler committed
223
     * @param \T3o\Typo3Roadmap\Domain\Model\MajorVersion $typo3releasemajorversion
Christian Knauf's avatar
Christian Knauf committed
224
225
     * @return void
     */
Thomas Löffler's avatar
Thomas Löffler committed
226
    public function setTypo3releasemajorversion(MajorVersion $typo3releasemajorversion): void
Christian Knauf's avatar
Christian Knauf committed
227
228
229
230
231
232
233
    {
        $this->typo3releasemajorversion = $typo3releasemajorversion;
    }

    /**
     * Returns the images
     *
Thomas Löffler's avatar
Thomas Löffler committed
234
     * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
Christian Knauf's avatar
Christian Knauf committed
235
     */
Thomas Löffler's avatar
Thomas Löffler committed
236
    public function getImages(): ObjectStorage
Christian Knauf's avatar
Christian Knauf committed
237
238
239
240
241
242
243
244
245
246
    {
        return $this->images;
    }

    /**
     * Sets the images
     *
     * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> $images
     * @return void
     */
Thomas Löffler's avatar
Thomas Löffler committed
247
    public function setImages(ObjectStorage $images): void
Christian Knauf's avatar
Christian Knauf committed
248
249
250
251
    {
        $this->images = $images;
    }
}