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\Common;
14
15use Tmdb\Model\AbstractModel;
16
17/**
18 * Class AccountStates
19 * @package Tmdb\Model\Common
20 */
21class AccountStates extends AbstractModel
22{
23    /**
24     * @var integer
25     */
26    private $id;
27
28    /**
29     * @var boolean
30     */
31    private $favorite;
32
33    /**
34     * @var Rating|boolean
35     */
36    private $rated;
37
38    /**
39     * @var boolean
40     */
41    private $watchlist;
42
43    public static $properties = [
44        'id',
45        'favorite',
46        'watchlist',
47    ];
48
49    /**
50     * Constructor
51     */
52    public function __construct()
53    {
54        $this->rated = new Rating();
55    }
56
57    /**
58     * @param  boolean $favorite
59     * @return $this
60     */
61    public function setFavorite($favorite)
62    {
63        $this->favorite = $favorite;
64
65        return $this;
66    }
67
68    /**
69     * @return boolean
70     */
71    public function getFavorite()
72    {
73        return $this->favorite;
74    }
75
76    /**
77     * @param  int   $id
78     * @return $this
79     */
80    public function setId($id)
81    {
82        $this->id = $id;
83
84        return $this;
85    }
86
87    /**
88     * @return int
89     */
90    public function getId()
91    {
92        return $this->id;
93    }
94
95    /**
96     * @param  Rating|bool $rated
97     * @return $this
98     */
99    public function setRated($rated)
100    {
101        $this->rated = $rated;
102
103        return $this;
104    }
105
106    /**
107     * @return Rating|bool
108     */
109    public function getRated()
110    {
111        return $this->rated;
112    }
113
114    /**
115     * @param  boolean $watchlist
116     * @return $this
117     */
118    public function setWatchlist($watchlist)
119    {
120        $this->watchlist = $watchlist;
121
122        return $this;
123    }
124
125    /**
126     * @return boolean
127     */
128    public function getWatchlist()
129    {
130        return $this->watchlist;
131    }
132}
133