OfferAudiobook   A
last analyzed

Complexity

Total Complexity 12

Size/Duplication

Total Lines 158
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 39
c 1
b 0
f 0
dl 0
loc 158
rs 10
wmc 12

12 Methods

Rating   Name   Duplication   Size   Complexity  
A setStorage() 0 5 1
A getFormat() 0 3 1
A getRecordingLength() 0 3 1
A setRecordingLength() 0 5 1
A getPerformedBy() 0 3 1
A setPerformedBy() 0 5 1
A getOptions() 0 18 1
A setPerformanceType() 0 5 1
A setFormat() 0 5 1
A getType() 0 3 1
A getStorage() 0 3 1
A getPerformanceType() 0 3 1
1
<?php
2
3
/*
4
 * This file is part of the Bukashk0zzzYmlGenerator
5
 *
6
 * (c) Denis Golubovskiy <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Bukashk0zzz\YmlGenerator\Model\Offer;
13
14
/**
15
 * Class OfferAudiobook
16
 */
17
class OfferAudiobook extends AbstractOffer
18
{
19
    use OfferBookTrait;
20
21
    /**
22
     * @var string
23
     */
24
    private $performedBy;
25
26
    /**
27
     * @var string
28
     */
29
    private $performanceType;
30
31
    /**
32
     * @var string
33
     */
34
    private $format;
35
36
    /**
37
     * @var string
38
     */
39
    private $storage;
40
41
    /**
42
     * @var string
43
     */
44
    private $recordingLength;
45
46
    /**
47
     * @return string
48
     */
49
    public function getType()
50
    {
51
        return 'audiobook';
52
    }
53
54
    /**
55
     * @return string
56
     */
57
    public function getPerformedBy()
58
    {
59
        return $this->performedBy;
60
    }
61
62
    /**
63
     * @param string $performedBy
64
     *
65
     * @return $this
66
     */
67
    public function setPerformedBy($performedBy)
68
    {
69
        $this->performedBy = $performedBy;
70
71
        return $this;
72
    }
73
74
    /**
75
     * @return string
76
     */
77
    public function getPerformanceType()
78
    {
79
        return $this->performanceType;
80
    }
81
82
    /**
83
     * @param string $performanceType
84
     *
85
     * @return $this
86
     */
87
    public function setPerformanceType($performanceType)
88
    {
89
        $this->performanceType = $performanceType;
90
91
        return $this;
92
    }
93
94
    /**
95
     * @return string
96
     */
97
    public function getFormat()
98
    {
99
        return $this->format;
100
    }
101
102
    /**
103
     * @param string $format
104
     *
105
     * @return $this
106
     */
107
    public function setFormat($format)
108
    {
109
        $this->format = $format;
110
111
        return $this;
112
    }
113
114
    /**
115
     * @return string
116
     */
117
    public function getStorage()
118
    {
119
        return $this->storage;
120
    }
121
122
    /**
123
     * @param string $storage
124
     *
125
     * @return $this
126
     */
127
    public function setStorage($storage)
128
    {
129
        $this->storage = $storage;
130
131
        return $this;
132
    }
133
134
    /**
135
     * @return string
136
     */
137
    public function getRecordingLength()
138
    {
139
        return $this->recordingLength;
140
    }
141
142
    /**
143
     * @param string $recordingLength
144
     *
145
     * @return $this
146
     */
147
    public function setRecordingLength($recordingLength)
148
    {
149
        $this->recordingLength = $recordingLength;
150
151
        return $this;
152
    }
153
154
    /**
155
     * @return array
156
     */
157
    protected function getOptions()
158
    {
159
        return [
160
            'author' => $this->getAuthor(),
161
            'name' => $this->getName(),
162
            'publisher' => $this->getPublisher(),
163
            'series' => $this->getSeries(),
164
            'year' => $this->getYear(),
165
            'ISBN' => $this->getISBN(),
166
            'volume' => $this->getVolume(),
167
            'part' => $this->getPart(),
168
            'language' => $this->getLanguage(),
169
            'table_of_contents' => $this->getTableOfContents(),
170
            'performed_by' => $this->getPerformedBy(),
171
            'performance_type' => $this->getPerformanceType(),
172
            'storage' => $this->getStorage(),
173
            'format' => $this->getFormat(),
174
            'recording_length' => $this->getRecordingLength(),
175
        ];
176
    }
177
}
178