001
014
015 package com.liferay.portlet.journal.service;
016
017 import com.liferay.portal.kernel.bean.PortalBeanLocatorUtil;
018 import com.liferay.portal.kernel.util.ReferenceRegistry;
019
020
033 public class JournalArticleServiceUtil {
034
039
040
045 public static java.lang.String getBeanIdentifier() {
046 return getService().getBeanIdentifier();
047 }
048
049
054 public static void setBeanIdentifier(java.lang.String beanIdentifier) {
055 getService().setBeanIdentifier(beanIdentifier);
056 }
057
058 public static com.liferay.portlet.journal.model.JournalArticle addArticle(
059 long groupId, long folderId, long classNameId, long classPK,
060 java.lang.String articleId, boolean autoArticleId,
061 java.util.Map<java.util.Locale, java.lang.String> titleMap,
062 java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
063 java.lang.String content, java.lang.String type,
064 java.lang.String structureId, java.lang.String templateId,
065 java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
066 int displayDateYear, int displayDateHour, int displayDateMinute,
067 int expirationDateMonth, int expirationDateDay, int expirationDateYear,
068 int expirationDateHour, int expirationDateMinute, boolean neverExpire,
069 int reviewDateMonth, int reviewDateDay, int reviewDateYear,
070 int reviewDateHour, int reviewDateMinute, boolean neverReview,
071 boolean indexable, boolean smallImage, java.lang.String smallImageURL,
072 java.io.File smallFile, java.util.Map<java.lang.String, byte[]> images,
073 java.lang.String articleURL,
074 com.liferay.portal.service.ServiceContext serviceContext)
075 throws com.liferay.portal.kernel.exception.PortalException,
076 com.liferay.portal.kernel.exception.SystemException {
077 return getService()
078 .addArticle(groupId, folderId, classNameId, classPK,
079 articleId, autoArticleId, titleMap, descriptionMap, content, type,
080 structureId, templateId, layoutUuid, displayDateMonth,
081 displayDateDay, displayDateYear, displayDateHour,
082 displayDateMinute, expirationDateMonth, expirationDateDay,
083 expirationDateYear, expirationDateHour, expirationDateMinute,
084 neverExpire, reviewDateMonth, reviewDateDay, reviewDateYear,
085 reviewDateHour, reviewDateMinute, neverReview, indexable,
086 smallImage, smallImageURL, smallFile, images, articleURL,
087 serviceContext);
088 }
089
090 public static com.liferay.portlet.journal.model.JournalArticle addArticle(
091 long groupId, long folderId, long classNameId, long classPK,
092 java.lang.String articleId, boolean autoArticleId,
093 java.util.Map<java.util.Locale, java.lang.String> titleMap,
094 java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
095 java.lang.String content, java.lang.String type,
096 java.lang.String structureId, java.lang.String templateId,
097 java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
098 int displayDateYear, int displayDateHour, int displayDateMinute,
099 int expirationDateMonth, int expirationDateDay, int expirationDateYear,
100 int expirationDateHour, int expirationDateMinute, boolean neverExpire,
101 int reviewDateMonth, int reviewDateDay, int reviewDateYear,
102 int reviewDateHour, int reviewDateMinute, boolean neverReview,
103 boolean indexable, java.lang.String articleURL,
104 com.liferay.portal.service.ServiceContext serviceContext)
105 throws com.liferay.portal.kernel.exception.PortalException,
106 com.liferay.portal.kernel.exception.SystemException {
107 return getService()
108 .addArticle(groupId, folderId, classNameId, classPK,
109 articleId, autoArticleId, titleMap, descriptionMap, content, type,
110 structureId, templateId, layoutUuid, displayDateMonth,
111 displayDateDay, displayDateYear, displayDateHour,
112 displayDateMinute, expirationDateMonth, expirationDateDay,
113 expirationDateYear, expirationDateHour, expirationDateMinute,
114 neverExpire, reviewDateMonth, reviewDateDay, reviewDateYear,
115 reviewDateHour, reviewDateMinute, neverReview, indexable,
116 articleURL, serviceContext);
117 }
118
119 public static com.liferay.portlet.journal.model.JournalArticle copyArticle(
120 long groupId, java.lang.String oldArticleId,
121 java.lang.String newArticleId, boolean autoArticleId, double version)
122 throws com.liferay.portal.kernel.exception.PortalException,
123 com.liferay.portal.kernel.exception.SystemException {
124 return getService()
125 .copyArticle(groupId, oldArticleId, newArticleId,
126 autoArticleId, version);
127 }
128
129 public static void deleteArticle(long groupId, java.lang.String articleId,
130 double version, java.lang.String articleURL,
131 com.liferay.portal.service.ServiceContext serviceContext)
132 throws com.liferay.portal.kernel.exception.PortalException,
133 com.liferay.portal.kernel.exception.SystemException {
134 getService()
135 .deleteArticle(groupId, articleId, version, articleURL,
136 serviceContext);
137 }
138
139 public static void deleteArticle(long groupId, java.lang.String articleId,
140 java.lang.String articleURL,
141 com.liferay.portal.service.ServiceContext serviceContext)
142 throws com.liferay.portal.kernel.exception.PortalException,
143 com.liferay.portal.kernel.exception.SystemException {
144 getService()
145 .deleteArticle(groupId, articleId, articleURL, serviceContext);
146 }
147
148 public static com.liferay.portlet.journal.model.JournalArticle expireArticle(
149 long groupId, java.lang.String articleId, double version,
150 java.lang.String articleURL,
151 com.liferay.portal.service.ServiceContext serviceContext)
152 throws com.liferay.portal.kernel.exception.PortalException,
153 com.liferay.portal.kernel.exception.SystemException {
154 return getService()
155 .expireArticle(groupId, articleId, version, articleURL,
156 serviceContext);
157 }
158
159 public static void expireArticle(long groupId, java.lang.String articleId,
160 java.lang.String articleURL,
161 com.liferay.portal.service.ServiceContext serviceContext)
162 throws com.liferay.portal.kernel.exception.PortalException,
163 com.liferay.portal.kernel.exception.SystemException {
164 getService()
165 .expireArticle(groupId, articleId, articleURL, serviceContext);
166 }
167
168 public static com.liferay.portlet.journal.model.JournalArticle getArticle(
169 long id)
170 throws com.liferay.portal.kernel.exception.PortalException,
171 com.liferay.portal.kernel.exception.SystemException {
172 return getService().getArticle(id);
173 }
174
175 public static com.liferay.portlet.journal.model.JournalArticle getArticle(
176 long groupId, java.lang.String articleId)
177 throws com.liferay.portal.kernel.exception.PortalException,
178 com.liferay.portal.kernel.exception.SystemException {
179 return getService().getArticle(groupId, articleId);
180 }
181
182 public static com.liferay.portlet.journal.model.JournalArticle getArticle(
183 long groupId, java.lang.String articleId, double version)
184 throws com.liferay.portal.kernel.exception.PortalException,
185 com.liferay.portal.kernel.exception.SystemException {
186 return getService().getArticle(groupId, articleId, version);
187 }
188
189 public static com.liferay.portlet.journal.model.JournalArticle getArticle(
190 long groupId, java.lang.String className, long classPK)
191 throws com.liferay.portal.kernel.exception.PortalException,
192 com.liferay.portal.kernel.exception.SystemException {
193 return getService().getArticle(groupId, className, classPK);
194 }
195
196 public static com.liferay.portlet.journal.model.JournalArticle getArticleByUrlTitle(
197 long groupId, java.lang.String urlTitle)
198 throws com.liferay.portal.kernel.exception.PortalException,
199 com.liferay.portal.kernel.exception.SystemException {
200 return getService().getArticleByUrlTitle(groupId, urlTitle);
201 }
202
203 public static java.lang.String getArticleContent(long groupId,
204 java.lang.String articleId, double version,
205 java.lang.String languageId,
206 com.liferay.portal.theme.ThemeDisplay themeDisplay)
207 throws com.liferay.portal.kernel.exception.PortalException,
208 com.liferay.portal.kernel.exception.SystemException {
209 return getService()
210 .getArticleContent(groupId, articleId, version, languageId,
211 themeDisplay);
212 }
213
214 public static java.lang.String getArticleContent(long groupId,
215 java.lang.String articleId, java.lang.String languageId,
216 com.liferay.portal.theme.ThemeDisplay themeDisplay)
217 throws com.liferay.portal.kernel.exception.PortalException,
218 com.liferay.portal.kernel.exception.SystemException {
219 return getService()
220 .getArticleContent(groupId, articleId, languageId,
221 themeDisplay);
222 }
223
224 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
225 long groupId, long folderId)
226 throws com.liferay.portal.kernel.exception.SystemException {
227 return getService().getArticles(groupId, folderId);
228 }
229
230 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
231 long groupId, long folderId, int start, int end,
232 com.liferay.portal.kernel.util.OrderByComparator obc)
233 throws com.liferay.portal.kernel.exception.SystemException {
234 return getService().getArticles(groupId, folderId, start, end, obc);
235 }
236
237 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByArticleId(
238 long groupId, java.lang.String articleId, int start, int end,
239 com.liferay.portal.kernel.util.OrderByComparator obc)
240 throws com.liferay.portal.kernel.exception.SystemException {
241 return getService()
242 .getArticlesByArticleId(groupId, articleId, start, end, obc);
243 }
244
245 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByLayoutUuid(
246 long groupId, java.lang.String layoutUuid)
247 throws com.liferay.portal.kernel.exception.SystemException {
248 return getService().getArticlesByLayoutUuid(groupId, layoutUuid);
249 }
250
251 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByStructureId(
252 long groupId, java.lang.String structureId, int start, int end,
253 com.liferay.portal.kernel.util.OrderByComparator obc)
254 throws com.liferay.portal.kernel.exception.SystemException {
255 return getService()
256 .getArticlesByStructureId(groupId, structureId, start, end,
257 obc);
258 }
259
260 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByUserId(
261 long groupId, long userId, int start, int end,
262 com.liferay.portal.kernel.util.OrderByComparator obc)
263 throws com.liferay.portal.kernel.exception.SystemException {
264 return getService().getArticlesByUserId(groupId, userId, start, end, obc);
265 }
266
267 public static int getArticlesCount(long groupId, long folderId)
268 throws com.liferay.portal.kernel.exception.SystemException {
269 return getService().getArticlesCount(groupId, folderId);
270 }
271
272 public static int getArticlesCountByArticleId(long groupId,
273 java.lang.String articleId)
274 throws com.liferay.portal.kernel.exception.SystemException {
275 return getService().getArticlesCountByArticleId(groupId, articleId);
276 }
277
278 public static int getArticlesCountByStructureId(long groupId,
279 java.lang.String structureId)
280 throws com.liferay.portal.kernel.exception.SystemException {
281 return getService().getArticlesCountByStructureId(groupId, structureId);
282 }
283
284 public static int getArticlesCountByUserId(long groupId, long userId)
285 throws com.liferay.portal.kernel.exception.SystemException {
286 return getService().getArticlesCountByUserId(groupId, userId);
287 }
288
289 public static com.liferay.portlet.journal.model.JournalArticle getDisplayArticleByUrlTitle(
290 long groupId, java.lang.String urlTitle)
291 throws com.liferay.portal.kernel.exception.PortalException,
292 com.liferay.portal.kernel.exception.SystemException {
293 return getService().getDisplayArticleByUrlTitle(groupId, urlTitle);
294 }
295
296 public static int getFoldersAndArticlesCount(long groupId,
297 java.util.List<java.lang.Long> folderIds)
298 throws com.liferay.portal.kernel.exception.SystemException {
299 return getService().getFoldersAndArticlesCount(groupId, folderIds);
300 }
301
302 public static com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
303 long resourcePrimKey)
304 throws com.liferay.portal.kernel.exception.PortalException,
305 com.liferay.portal.kernel.exception.SystemException {
306 return getService().getLatestArticle(resourcePrimKey);
307 }
308
309 public static com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
310 long groupId, java.lang.String articleId, int status)
311 throws com.liferay.portal.kernel.exception.PortalException,
312 com.liferay.portal.kernel.exception.SystemException {
313 return getService().getLatestArticle(groupId, articleId, status);
314 }
315
316 public static com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
317 long groupId, java.lang.String className, long classPK)
318 throws com.liferay.portal.kernel.exception.PortalException,
319 com.liferay.portal.kernel.exception.SystemException {
320 return getService().getLatestArticle(groupId, className, classPK);
321 }
322
323 public static void moveArticle(long groupId, java.lang.String articleId,
324 long newFolderId)
325 throws com.liferay.portal.kernel.exception.PortalException,
326 com.liferay.portal.kernel.exception.SystemException {
327 getService().moveArticle(groupId, articleId, newFolderId);
328 }
329
330 public static void removeArticleLocale(long companyId,
331 java.lang.String languageId)
332 throws com.liferay.portal.kernel.exception.PortalException,
333 com.liferay.portal.kernel.exception.SystemException {
334 getService().removeArticleLocale(companyId, languageId);
335 }
336
337 public static com.liferay.portlet.journal.model.JournalArticle removeArticleLocale(
338 long groupId, java.lang.String articleId, double version,
339 java.lang.String languageId)
340 throws com.liferay.portal.kernel.exception.PortalException,
341 com.liferay.portal.kernel.exception.SystemException {
342 return getService()
343 .removeArticleLocale(groupId, articleId, version, languageId);
344 }
345
346 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
347 long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
348 long classNameId, java.lang.String keywords, java.lang.Double version,
349 java.lang.String type, java.lang.String structureId,
350 java.lang.String templateId, java.util.Date displayDateGT,
351 java.util.Date displayDateLT, int status, java.util.Date reviewDate,
352 int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
353 throws com.liferay.portal.kernel.exception.SystemException {
354 return getService()
355 .search(companyId, groupId, folderIds, classNameId,
356 keywords, version, type, structureId, templateId, displayDateGT,
357 displayDateLT, status, reviewDate, start, end, obc);
358 }
359
360 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
361 long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
362 long classNameId, java.lang.String articleId, java.lang.Double version,
363 java.lang.String title, java.lang.String description,
364 java.lang.String content, java.lang.String type,
365 java.lang.String structureId, java.lang.String templateId,
366 java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
367 java.util.Date reviewDate, boolean andOperator, int start, int end,
368 com.liferay.portal.kernel.util.OrderByComparator obc)
369 throws com.liferay.portal.kernel.exception.SystemException {
370 return getService()
371 .search(companyId, groupId, folderIds, classNameId,
372 articleId, version, title, description, content, type, structureId,
373 templateId, displayDateGT, displayDateLT, status, reviewDate,
374 andOperator, start, end, obc);
375 }
376
377 public static java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
378 long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
379 long classNameId, java.lang.String articleId, java.lang.Double version,
380 java.lang.String title, java.lang.String description,
381 java.lang.String content, java.lang.String type,
382 java.lang.String[] structureIds, java.lang.String[] templateIds,
383 java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
384 java.util.Date reviewDate, boolean andOperator, int start, int end,
385 com.liferay.portal.kernel.util.OrderByComparator obc)
386 throws com.liferay.portal.kernel.exception.SystemException {
387 return getService()
388 .search(companyId, groupId, folderIds, classNameId,
389 articleId, version, title, description, content, type,
390 structureIds, templateIds, displayDateGT, displayDateLT, status,
391 reviewDate, andOperator, start, end, obc);
392 }
393
394 public static int searchCount(long companyId, long groupId,
395 java.util.List<java.lang.Long> folderIds, long classNameId,
396 java.lang.String keywords, java.lang.Double version,
397 java.lang.String type, java.lang.String structureId,
398 java.lang.String templateId, java.util.Date displayDateGT,
399 java.util.Date displayDateLT, int status, java.util.Date reviewDate)
400 throws com.liferay.portal.kernel.exception.SystemException {
401 return getService()
402 .searchCount(companyId, groupId, folderIds, classNameId,
403 keywords, version, type, structureId, templateId, displayDateGT,
404 displayDateLT, status, reviewDate);
405 }
406
407 public static int searchCount(long companyId, long groupId,
408 java.util.List<java.lang.Long> folderIds, long classNameId,
409 java.lang.String articleId, java.lang.Double version,
410 java.lang.String title, java.lang.String description,
411 java.lang.String content, java.lang.String type,
412 java.lang.String structureId, java.lang.String templateId,
413 java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
414 java.util.Date reviewDate, boolean andOperator)
415 throws com.liferay.portal.kernel.exception.SystemException {
416 return getService()
417 .searchCount(companyId, groupId, folderIds, classNameId,
418 articleId, version, title, description, content, type, structureId,
419 templateId, displayDateGT, displayDateLT, status, reviewDate,
420 andOperator);
421 }
422
423 public static int searchCount(long companyId, long groupId,
424 java.util.List<java.lang.Long> folderIds, long classNameId,
425 java.lang.String articleId, java.lang.Double version,
426 java.lang.String title, java.lang.String description,
427 java.lang.String content, java.lang.String type,
428 java.lang.String[] structureIds, java.lang.String[] templateIds,
429 java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
430 java.util.Date reviewDate, boolean andOperator)
431 throws com.liferay.portal.kernel.exception.SystemException {
432 return getService()
433 .searchCount(companyId, groupId, folderIds, classNameId,
434 articleId, version, title, description, content, type,
435 structureIds, templateIds, displayDateGT, displayDateLT, status,
436 reviewDate, andOperator);
437 }
438
439 public static void subscribe(long groupId)
440 throws com.liferay.portal.kernel.exception.PortalException,
441 com.liferay.portal.kernel.exception.SystemException {
442 getService().subscribe(groupId);
443 }
444
445 public static void unsubscribe(long groupId)
446 throws com.liferay.portal.kernel.exception.PortalException,
447 com.liferay.portal.kernel.exception.SystemException {
448 getService().unsubscribe(groupId);
449 }
450
451 public static com.liferay.portlet.journal.model.JournalArticle updateArticle(
452 long userId, long groupId, long folderId, java.lang.String articleId,
453 double version,
454 java.util.Map<java.util.Locale, java.lang.String> titleMap,
455 java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
456 java.lang.String content, java.lang.String layoutUuid,
457 com.liferay.portal.service.ServiceContext serviceContext)
458 throws com.liferay.portal.kernel.exception.PortalException,
459 com.liferay.portal.kernel.exception.SystemException {
460 return getService()
461 .updateArticle(userId, groupId, folderId, articleId,
462 version, titleMap, descriptionMap, content, layoutUuid,
463 serviceContext);
464 }
465
466 public static com.liferay.portlet.journal.model.JournalArticle updateArticle(
467 long groupId, long folderId, java.lang.String articleId,
468 double version,
469 java.util.Map<java.util.Locale, java.lang.String> titleMap,
470 java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
471 java.lang.String content, java.lang.String type,
472 java.lang.String structureId, java.lang.String templateId,
473 java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
474 int displayDateYear, int displayDateHour, int displayDateMinute,
475 int expirationDateMonth, int expirationDateDay, int expirationDateYear,
476 int expirationDateHour, int expirationDateMinute, boolean neverExpire,
477 int reviewDateMonth, int reviewDateDay, int reviewDateYear,
478 int reviewDateHour, int reviewDateMinute, boolean neverReview,
479 boolean indexable, boolean smallImage, java.lang.String smallImageURL,
480 java.io.File smallFile, java.util.Map<java.lang.String, byte[]> images,
481 java.lang.String articleURL,
482 com.liferay.portal.service.ServiceContext serviceContext)
483 throws com.liferay.portal.kernel.exception.PortalException,
484 com.liferay.portal.kernel.exception.SystemException {
485 return getService()
486 .updateArticle(groupId, folderId, articleId, version,
487 titleMap, descriptionMap, content, type, structureId, templateId,
488 layoutUuid, displayDateMonth, displayDateDay, displayDateYear,
489 displayDateHour, displayDateMinute, expirationDateMonth,
490 expirationDateDay, expirationDateYear, expirationDateHour,
491 expirationDateMinute, neverExpire, reviewDateMonth, reviewDateDay,
492 reviewDateYear, reviewDateHour, reviewDateMinute, neverReview,
493 indexable, smallImage, smallImageURL, smallFile, images,
494 articleURL, serviceContext);
495 }
496
497 public static com.liferay.portlet.journal.model.JournalArticle updateArticle(
498 long groupId, long folderId, java.lang.String articleId,
499 double version, java.lang.String content,
500 com.liferay.portal.service.ServiceContext serviceContext)
501 throws com.liferay.portal.kernel.exception.PortalException,
502 com.liferay.portal.kernel.exception.SystemException {
503 return getService()
504 .updateArticle(groupId, folderId, articleId, version,
505 content, serviceContext);
506 }
507
508
512 public static com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
513 long groupId, java.lang.String articleId, double version,
514 java.util.Locale locale, java.lang.String title,
515 java.lang.String description, java.lang.String content,
516 java.util.Map<java.lang.String, byte[]> images)
517 throws com.liferay.portal.kernel.exception.PortalException,
518 com.liferay.portal.kernel.exception.SystemException {
519 return getService()
520 .updateArticleTranslation(groupId, articleId, version,
521 locale, title, description, content, images);
522 }
523
524 public static com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
525 long groupId, java.lang.String articleId, double version,
526 java.util.Locale locale, java.lang.String title,
527 java.lang.String description, java.lang.String content,
528 java.util.Map<java.lang.String, byte[]> images,
529 com.liferay.portal.service.ServiceContext serviceContext)
530 throws com.liferay.portal.kernel.exception.PortalException,
531 com.liferay.portal.kernel.exception.SystemException {
532 return getService()
533 .updateArticleTranslation(groupId, articleId, version,
534 locale, title, description, content, images, serviceContext);
535 }
536
537 public static com.liferay.portlet.journal.model.JournalArticle updateContent(
538 long groupId, java.lang.String articleId, double version,
539 java.lang.String content)
540 throws com.liferay.portal.kernel.exception.PortalException,
541 com.liferay.portal.kernel.exception.SystemException {
542 return getService().updateContent(groupId, articleId, version, content);
543 }
544
545 public static com.liferay.portlet.journal.model.JournalArticle updateStatus(
546 long groupId, java.lang.String articleId, double version, int status,
547 java.lang.String articleURL,
548 com.liferay.portal.service.ServiceContext serviceContext)
549 throws com.liferay.portal.kernel.exception.PortalException,
550 com.liferay.portal.kernel.exception.SystemException {
551 return getService()
552 .updateStatus(groupId, articleId, version, status,
553 articleURL, serviceContext);
554 }
555
556 public static JournalArticleService getService() {
557 if (_service == null) {
558 _service = (JournalArticleService)PortalBeanLocatorUtil.locate(JournalArticleService.class.getName());
559
560 ReferenceRegistry.registerReference(JournalArticleServiceUtil.class,
561 "_service");
562 }
563
564 return _service;
565 }
566
567
570 public void setService(JournalArticleService service) {
571 }
572
573 private static JournalArticleService _service;
574 }