Bump PHP version requirement to 7.0.0+
[lhc/web/wiklou.git] / includes / watcheditem / WatchedItem.php
1 <?php
2 /**
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 * http://www.gnu.org/copyleft/gpl.html
17 *
18 * @file
19 * @ingroup Watchlist
20 */
21
22 use MediaWiki\Linker\LinkTarget;
23
24 /**
25 * Representation of a pair of user and title for watchlist entries.
26 *
27 * @author Tim Starling
28 * @author Addshore
29 *
30 * @ingroup Watchlist
31 */
32 class WatchedItem {
33 /**
34 * @var LinkTarget
35 */
36 private $linkTarget;
37
38 /**
39 * @var User
40 */
41 private $user;
42
43 /**
44 * @var null|string the value of the wl_notificationtimestamp field
45 */
46 private $notificationTimestamp;
47
48 /**
49 * @param User $user
50 * @param LinkTarget $linkTarget
51 * @param null|string $notificationTimestamp the value of the wl_notificationtimestamp field
52 */
53 public function __construct(
54 User $user,
55 LinkTarget $linkTarget,
56 $notificationTimestamp
57 ) {
58 $this->user = $user;
59 $this->linkTarget = $linkTarget;
60 $this->notificationTimestamp = $notificationTimestamp;
61 }
62
63 /**
64 * @return User
65 */
66 public function getUser() {
67 return $this->user;
68 }
69
70 /**
71 * @return LinkTarget
72 */
73 public function getLinkTarget() {
74 return $this->linkTarget;
75 }
76
77 /**
78 * Get the notification timestamp of this entry.
79 *
80 * @return bool|null|string
81 */
82 public function getNotificationTimestamp() {
83 return $this->notificationTimestamp;
84 }
85 }