1<?php
2/**
3 * This file is part of the Tmdb PHP API created by Michael Roterman.
4 *
5 * For the full copyright and license information, please view the LICENSE
6 * file that was distributed with this source code.
7 *
8 * @package Tmdb
9 * @author Michael Roterman <michael@wtfz.net>
10 * @copyright (c) 2013, Michael Roterman
11 * @version 0.0.1
12 */
13namespace Tmdb\Model;
14
15use Tmdb\Model\Credits\Media;
16
17/**
18 * Class Credits
19 * @package Tmdb\Model
20 */
21class Credits extends AbstractModel
22{
23    /**
24     * @var string
25     */
26    private $creditType;
27
28    /**
29     * @var string
30     */
31    private $department;
32
33    /**
34     * @var string
35     */
36    private $job;
37
38    /**
39     * @var Media
40     */
41    private $media;
42
43    /**
44     * @var string
45     */
46    private $mediaType;
47
48    /**
49     * @var string
50     */
51    private $id;
52
53    /**
54     * @var Person
55     */
56    private $person;
57
58    /**
59     * @var array
60     */
61    public static $properties = [
62        'credit_type',
63        'department',
64        'job',
65        'media_type',
66        'id',
67    ];
68
69    public function __construct()
70    {
71        $this->media = new Media();
72    }
73
74    /**
75     * @param  string $creditType
76     * @return $this
77     */
78    public function setCreditType($creditType)
79    {
80        $this->creditType = $creditType;
81
82        return $this;
83    }
84
85    /**
86     * @return string
87     */
88    public function getCreditType()
89    {
90        return $this->creditType;
91    }
92
93    /**
94     * @param  string $department
95     * @return $this
96     */
97    public function setDepartment($department)
98    {
99        $this->department = $department;
100
101        return $this;
102    }
103
104    /**
105     * @return string
106     */
107    public function getDepartment()
108    {
109        return $this->department;
110    }
111
112    /**
113     * @param  string $id
114     * @return $this
115     */
116    public function setId($id)
117    {
118        $this->id = $id;
119
120        return $this;
121    }
122
123    /**
124     * @return string
125     */
126    public function getId()
127    {
128        return $this->id;
129    }
130
131    /**
132     * @param  string $job
133     * @return $this
134     */
135    public function setJob($job)
136    {
137        $this->job = $job;
138
139        return $this;
140    }
141
142    /**
143     * @return string
144     */
145    public function getJob()
146    {
147        return $this->job;
148    }
149
150    /**
151     * @param  \Tmdb\Model\Credits\Media $media
152     * @return $this
153     */
154    public function setMedia($media)
155    {
156        $this->media = $media;
157
158        return $this;
159    }
160
161    /**
162     * @return \Tmdb\Model\Credits\Media
163     */
164    public function getMedia()
165    {
166        return $this->media;
167    }
168
169    /**
170     * @param  string $mediaType
171     * @return $this
172     */
173    public function setMediaType($mediaType)
174    {
175        $this->mediaType = $mediaType;
176
177        return $this;
178    }
179
180    /**
181     * @return string
182     */
183    public function getMediaType()
184    {
185        return $this->mediaType;
186    }
187
188    /**
189     * @param  \Tmdb\Model\Person $person
190     * @return $this
191     */
192    public function setPerson($person)
193    {
194        $this->person = $person;
195
196        return $this;
197    }
198
199    /**
200     * @return \Tmdb\Model\Person
201     */
202    public function getPerson()
203    {
204        return $this->person;
205    }
206}
207