Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
1 | <?php |
2 | |
3 | /** |
4 | * Entity model interface for search table |
5 | * |
6 | * PHP version 8 |
7 | * |
8 | * Copyright (C) Villanova University 2024. |
9 | * |
10 | * This program is free software; you can redistribute it and/or modify |
11 | * it under the terms of the GNU General Public License version 2, |
12 | * as published by the Free Software Foundation. |
13 | * |
14 | * This program is distributed in the hope that it will be useful, |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
17 | * GNU General Public License for more details. |
18 | * |
19 | * You should have received a copy of the GNU General Public License |
20 | * along with this program; if not, write to the Free Software |
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
22 | * |
23 | * @category VuFind |
24 | * @package Database |
25 | * @author Demian Katz <demian.katz@villanova.edu> |
26 | * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License |
27 | * @link https://vufind.org/wiki/development:plugins:database_gateways Wiki |
28 | */ |
29 | |
30 | namespace VuFind\Db\Entity; |
31 | |
32 | use DateTime; |
33 | |
34 | /** |
35 | * Entity model interface for search table |
36 | * |
37 | * @category VuFind |
38 | * @package Database |
39 | * @author Demian Katz <demian.katz@villanova.edu> |
40 | * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License |
41 | * @link https://vufind.org/wiki/development:plugins:database_gateways Wiki |
42 | */ |
43 | interface SearchEntityInterface extends EntityInterface |
44 | { |
45 | /** |
46 | * Get identifier (returns null for an uninitialized or non-persisted object). |
47 | * |
48 | * @return ?int |
49 | */ |
50 | public function getId(): ?int; |
51 | |
52 | /** |
53 | * Get user. |
54 | * |
55 | * @return ?UserEntityInterface |
56 | */ |
57 | public function getUser(): ?UserEntityInterface; |
58 | |
59 | /** |
60 | * Set user. |
61 | * |
62 | * @param ?UserEntityInterface $user User |
63 | * |
64 | * @return SearchEntityInterface |
65 | */ |
66 | public function setUser(?UserEntityInterface $user): SearchEntityInterface; |
67 | |
68 | /** |
69 | * Get session identifier. |
70 | * |
71 | * @return ?string |
72 | */ |
73 | public function getSessionId(): ?string; |
74 | |
75 | /** |
76 | * Set session identifier. |
77 | * |
78 | * @param ?string $sessionId Session id |
79 | * |
80 | * @return SearchEntityInterface |
81 | */ |
82 | public function setSessionId(?string $sessionId): SearchEntityInterface; |
83 | |
84 | /** |
85 | * Get created date. |
86 | * |
87 | * @return DateTime |
88 | */ |
89 | public function getCreated(): DateTime; |
90 | |
91 | /** |
92 | * Set created date. |
93 | * |
94 | * @param DateTime $dateTime Created date |
95 | * |
96 | * @return SearchEntityInterface |
97 | */ |
98 | public function setCreated(DateTime $dateTime): SearchEntityInterface; |
99 | |
100 | /** |
101 | * Get title. |
102 | * |
103 | * @return ?string |
104 | */ |
105 | public function getTitle(): ?string; |
106 | |
107 | /** |
108 | * Set title. |
109 | * |
110 | * @param ?string $title Title |
111 | * |
112 | * @return SearchEntityInterface |
113 | */ |
114 | public function setTitle(?string $title): SearchEntityInterface; |
115 | |
116 | /** |
117 | * Get saved. |
118 | * |
119 | * @return bool |
120 | */ |
121 | public function getSaved(): bool; |
122 | |
123 | /** |
124 | * Set saved. |
125 | * |
126 | * @param bool $saved Saved |
127 | * |
128 | * @return SearchEntityInterface |
129 | */ |
130 | public function setSaved(bool $saved): SearchEntityInterface; |
131 | |
132 | /** |
133 | * Get the search object from the row. |
134 | * |
135 | * @return ?\VuFind\Search\Minified |
136 | */ |
137 | public function getSearchObject(): ?\VuFind\Search\Minified; |
138 | |
139 | /** |
140 | * Set search object. |
141 | * |
142 | * @param ?\VuFind\Search\Minified $searchObject Search object |
143 | * |
144 | * @return SearchEntityInterface |
145 | */ |
146 | public function setSearchObject(?\VuFind\Search\Minified $searchObject): SearchEntityInterface; |
147 | |
148 | /** |
149 | * Get checksum. |
150 | * |
151 | * @return ?int |
152 | */ |
153 | public function getChecksum(): ?int; |
154 | |
155 | /** |
156 | * Set checksum. |
157 | * |
158 | * @param ?int $checksum Checksum |
159 | * |
160 | * @return SearchEntityInterface |
161 | */ |
162 | public function setChecksum(?int $checksum): SearchEntityInterface; |
163 | |
164 | /** |
165 | * Get notification frequency. |
166 | * |
167 | * @return int |
168 | */ |
169 | public function getNotificationFrequency(): int; |
170 | |
171 | /** |
172 | * Set notification frequency. |
173 | * |
174 | * @param int $notificationFrequency Notification frequency |
175 | * |
176 | * @return SearchEntityInterface |
177 | */ |
178 | public function setNotificationFrequency(int $notificationFrequency): SearchEntityInterface; |
179 | |
180 | /** |
181 | * When was the last notification sent? |
182 | * |
183 | * @return DateTime |
184 | */ |
185 | public function getLastNotificationSent(): DateTime; |
186 | |
187 | /** |
188 | * Set when last notification was sent. |
189 | * |
190 | * @param DateTime $lastNotificationSent Time when last notification was sent |
191 | * |
192 | * @return SearchEntityInterface |
193 | */ |
194 | public function setLastNotificationSent(Datetime $lastNotificationSent): SearchEntityInterface; |
195 | |
196 | /** |
197 | * Get notification base URL. |
198 | * |
199 | * @return string |
200 | */ |
201 | public function getNotificationBaseUrl(): string; |
202 | |
203 | /** |
204 | * Set notification base URL. |
205 | * |
206 | * @param string $notificationBaseUrl Notification base URL |
207 | * |
208 | * @return SearchEntityInterface |
209 | */ |
210 | public function setNotificationBaseUrl(string $notificationBaseUrl): SearchEntityInterface; |
211 | } |