001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.journal.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
020    import com.liferay.portal.kernel.transaction.Isolation;
021    import com.liferay.portal.kernel.transaction.Propagation;
022    import com.liferay.portal.kernel.transaction.Transactional;
023    import com.liferay.portal.security.ac.AccessControlled;
024    import com.liferay.portal.service.BaseService;
025    
026    /**
027     * The interface for the journal article remote service.
028     *
029     * <p>
030     * This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely.
031     * </p>
032     *
033     * @author Brian Wing Shun Chan
034     * @see JournalArticleServiceUtil
035     * @see com.liferay.portlet.journal.service.base.JournalArticleServiceBaseImpl
036     * @see com.liferay.portlet.journal.service.impl.JournalArticleServiceImpl
037     * @generated
038     */
039    @AccessControlled
040    @JSONWebService
041    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
042            PortalException.class, SystemException.class})
043    public interface JournalArticleService extends BaseService {
044            /*
045             * NOTE FOR DEVELOPERS:
046             *
047             * Never modify or reference this interface directly. Always use {@link JournalArticleServiceUtil} to access the journal article remote service. Add custom service methods to {@link com.liferay.portlet.journal.service.impl.JournalArticleServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
048             */
049    
050            /**
051            * Returns the Spring bean ID for this bean.
052            *
053            * @return the Spring bean ID for this bean
054            */
055            public java.lang.String getBeanIdentifier();
056    
057            /**
058            * Sets the Spring bean ID for this bean.
059            *
060            * @param beanIdentifier the Spring bean ID for this bean
061            */
062            public void setBeanIdentifier(java.lang.String beanIdentifier);
063    
064            /**
065            * Adds a web content article with additional parameters.
066            *
067            * @param groupId the primary key of the web content article's group
068            * @param folderId the primary key of the web content article folder
069            * @param classNameId the primary key of the DDMStructure class if the web
070            content article is related to a DDM structure, the primary key of
071            the class name associated with the article, or {@link
072            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
073            * @param classPK the primary key of the DDM structure, if the primary key
074            of the DDMStructure class is given as the
075            <code>classNameId</code> parameter, the primary key of the class
076            associated with the web content article, or <code>0</code>
077            otherwise
078            * @param articleId the primary key of the web content article
079            * @param autoArticleId whether to auto generate the web content article ID
080            * @param titleMap the web content article's locales and localized titles
081            * @param descriptionMap the web content article's locales and localized
082            descriptions
083            * @param content the HTML content wrapped in XML. For more information,
084            see the content example in the class description for {@link
085            JournalArticleLocalServiceImpl}.
086            * @param type the structure's type, if the web content article is related
087            to a DDM structure. For more information, see {@link
088            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
089            * @param ddmStructureKey the primary key of the web content article's DDM
090            structure, if the article is related to a DDM structure, or
091            <code>null</code> otherwise
092            * @param ddmTemplateKey the primary key of the web content article's DDM
093            template (optionally <code>null</code>). If the article is
094            related to a DDM structure, the template's structure must match
095            it.
096            * @param layoutUuid the unique string identifying the web content
097            article's display page
098            * @param displayDateMonth the month the web content article is set to
099            display
100            * @param displayDateDay the calendar day the web content article is set to
101            display
102            * @param displayDateYear the year the web content article is set to
103            display
104            * @param displayDateHour the hour the web content article is set to
105            display
106            * @param displayDateMinute the minute the web content article is set to
107            display
108            * @param expirationDateMonth the month the web content article is set to
109            expire
110            * @param expirationDateDay the calendar day the web content article is set
111            to expire
112            * @param expirationDateYear the year the web content article is set to
113            expire
114            * @param expirationDateHour the hour the web content article is set to
115            expire
116            * @param expirationDateMinute the minute the web content article is set to
117            expire
118            * @param neverExpire whether the web content article is not set to auto
119            expire
120            * @param reviewDateMonth the month the web content article is set for
121            review
122            * @param reviewDateDay the calendar day the web content article is set for
123            review
124            * @param reviewDateYear the year the web content article is set for review
125            * @param reviewDateHour the hour the web content article is set for review
126            * @param reviewDateMinute the minute the web content article is set for
127            review
128            * @param neverReview whether the web content article is not set for review
129            * @param indexable whether the web content article is searchable
130            * @param smallImage whether the web content article has a small image
131            * @param smallImageURL the web content article's small image URL
132            * @param smallFile the web content article's small image file
133            * @param images the web content's images
134            * @param articleURL the web content article's accessible URL
135            * @param serviceContext the service context to be applied. Can set the
136            UUID, creation date, modification date, expando bridge
137            attributes, guest permissions, group permissions, asset category
138            IDs, asset tag names, asset link entry IDs, the "urlTitle"
139            attribute, and workflow actions for the web content article. Can
140            also set whether to add the default guest and group permissions.
141            * @return the web content article
142            * @throws PortalException if the user did not have permission to add the
143            web content article or if a portal exception occurred
144            * @throws SystemException if a system exception occurred
145            */
146            public com.liferay.portlet.journal.model.JournalArticle addArticle(
147                    long groupId, long folderId, long classNameId, long classPK,
148                    java.lang.String articleId, boolean autoArticleId,
149                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
150                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
151                    java.lang.String content, java.lang.String type,
152                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
153                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
154                    int displayDateYear, int displayDateHour, int displayDateMinute,
155                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
156                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
157                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
158                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
159                    boolean indexable, boolean smallImage, java.lang.String smallImageURL,
160                    java.io.File smallFile, java.util.Map<java.lang.String, byte[]> images,
161                    java.lang.String articleURL,
162                    com.liferay.portal.service.ServiceContext serviceContext)
163                    throws com.liferay.portal.kernel.exception.PortalException,
164                            com.liferay.portal.kernel.exception.SystemException;
165    
166            /**
167            * Adds a web content article without any images.
168            *
169            * @param groupId the primary key of the web content article's group
170            * @param folderId the primary key of the web content article folder
171            * @param classNameId the primary key of the DDMStructure class if the web
172            content article is related to a DDM structure, the primary key of
173            the class name associated with the article, or {@link
174            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
175            * @param classPK the primary key of the DDM structure, if the primary key
176            of the DDMStructure class is given as the
177            <code>classNameId</code> parameter, the primary key of the class
178            associated with the web content article, or <code>0</code>
179            otherwise
180            * @param articleId the primary key of the web content article
181            * @param autoArticleId whether to auto generate the web content article ID
182            * @param titleMap the web content article's locales and localized titles
183            * @param descriptionMap the web content article's locales and localized
184            descriptions
185            * @param content the HTML content wrapped in XML. For more information,
186            see the content example in the class description for {@link
187            JournalArticleLocalServiceImpl}.
188            * @param type the structure's type, if the web content article is related
189            to a DDM structure. For more information, see {@link
190            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
191            * @param ddmStructureKey the primary key of the web content article's DDM
192            structure, if the article is related to a DDM structure, or
193            <code>null</code> otherwise
194            * @param ddmTemplateKey the primary key of the web content article's DDM
195            template (optionally <code>null</code>). If the article is
196            related to a DDM structure, the template's structure must match
197            it.
198            * @param layoutUuid the unique string identifying the web content
199            article's display page
200            * @param displayDateMonth the month the web content article is set to
201            display
202            * @param displayDateDay the calendar day the web content article is set to
203            display
204            * @param displayDateYear the year the web content article is set to
205            display
206            * @param displayDateHour the hour the web content article is set to
207            display
208            * @param displayDateMinute the minute the web content article is set to
209            display
210            * @param expirationDateMonth the month the web content article is set to
211            expire
212            * @param expirationDateDay the calendar day the web content article is set
213            to expire
214            * @param expirationDateYear the year the web content article is set to
215            expire
216            * @param expirationDateHour the hour the web content article is set to
217            expire
218            * @param expirationDateMinute the minute the web content article is set to
219            expire
220            * @param neverExpire whether the web content article is not set to auto
221            expire
222            * @param reviewDateMonth the month the web content article is set for
223            review
224            * @param reviewDateDay the calendar day the web content article is set for
225            review
226            * @param reviewDateYear the year the web content article is set for review
227            * @param reviewDateHour the hour the web content article is set for review
228            * @param reviewDateMinute the minute the web content article is set for
229            review
230            * @param neverReview whether the web content article is not set for review
231            * @param indexable whether the web content article is searchable
232            * @param articleURL the web content article's accessible URL
233            * @param serviceContext the service context to be applied. Can set the
234            UUID, creation date, modification date, expando bridge
235            attributes, guest permissions, group permissions, asset category
236            IDs, asset tag names, asset link entry IDs, the "urlTitle"
237            attribute, and workflow actions for the web content article. Can
238            also set whether to add the default guest and group permissions.
239            * @return the web content article
240            * @throws PortalException if the user did not have permission to add the
241            web content article or if a portal exception occurred
242            * @throws SystemException if a system exception occurred
243            */
244            public com.liferay.portlet.journal.model.JournalArticle addArticle(
245                    long groupId, long folderId, long classNameId, long classPK,
246                    java.lang.String articleId, boolean autoArticleId,
247                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
248                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
249                    java.lang.String content, java.lang.String type,
250                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
251                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
252                    int displayDateYear, int displayDateHour, int displayDateMinute,
253                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
254                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
255                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
256                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
257                    boolean indexable, java.lang.String articleURL,
258                    com.liferay.portal.service.ServiceContext serviceContext)
259                    throws com.liferay.portal.kernel.exception.PortalException,
260                            com.liferay.portal.kernel.exception.SystemException;
261    
262            /**
263            * Copies the web content article matching the group, article ID, and
264            * version. This method creates a new article, extracting all the values
265            * from the old one and updating its article ID.
266            *
267            * @param groupId the primary key of the web content article's group
268            * @param oldArticleId the primary key of the old web content article
269            * @param newArticleId the primary key of the new web content article
270            * @param autoArticleId whether to auto-generate the web content article ID
271            * @param version the web content article's version
272            * @return the new web content article
273            * @throws PortalException if the user did not have permission to add the
274            copy the web content article, if a matching web content article
275            could not be found, or if a portal exception occurred
276            * @throws SystemException if a system exception occurred
277            */
278            public com.liferay.portlet.journal.model.JournalArticle copyArticle(
279                    long groupId, java.lang.String oldArticleId,
280                    java.lang.String newArticleId, boolean autoArticleId, double version)
281                    throws com.liferay.portal.kernel.exception.PortalException,
282                            com.liferay.portal.kernel.exception.SystemException;
283    
284            /**
285            * Deletes the web content article and its resources matching the group,
286            * article ID, and version, optionally sending email notifying denial of the
287            * web content article if it had not yet been approved.
288            *
289            * @param groupId the primary key of the web content article's group
290            * @param articleId the primary key of the web content article
291            * @param version the web content article's version
292            * @param articleURL the web content article's accessible URL
293            * @param serviceContext the service context to be applied. Can set the
294            portlet preferences that include email information to notify
295            recipients of the unapproved web content article's denial.
296            * @throws PortalException if the user did not have permission to delete the
297            web content article, if a matching web content article could not
298            be found, or if a portal exception occurred
299            * @throws SystemException if a system exception occurred
300            */
301            public void deleteArticle(long groupId, java.lang.String articleId,
302                    double version, java.lang.String articleURL,
303                    com.liferay.portal.service.ServiceContext serviceContext)
304                    throws com.liferay.portal.kernel.exception.PortalException,
305                            com.liferay.portal.kernel.exception.SystemException;
306    
307            /**
308            * Deletes all web content articles and their resources matching the group
309            * and article ID, optionally sending email notifying denial of article if
310            * it had not yet been approved.
311            *
312            * @param groupId the primary key of the web content article's group
313            * @param articleId the primary key of the web content article
314            * @param articleURL the web content article's accessible URL
315            * @param serviceContext the service context to be applied. Can set the
316            portlet preferences that include email information to notify
317            recipients of the unapproved web content article's denial.
318            * @throws PortalException if the user did not have permission to delete the
319            web content article or if a portal exception occurred
320            * @throws SystemException if a system exception occurred
321            */
322            public void deleteArticle(long groupId, java.lang.String articleId,
323                    java.lang.String articleURL,
324                    com.liferay.portal.service.ServiceContext serviceContext)
325                    throws com.liferay.portal.kernel.exception.PortalException,
326                            com.liferay.portal.kernel.exception.SystemException;
327    
328            /**
329            * Expires the web content article matching the group, article ID, and
330            * version.
331            *
332            * @param groupId the primary key of the web content article's group
333            * @param articleId the primary key of the web content article
334            * @param version the web content article's version
335            * @param articleURL the web content article's accessible URL
336            * @param serviceContext the service context to be applied. Can set the
337            modification date, status date, portlet preferences, and can set
338            whether to add the default command update for the web content
339            article. With respect to social activities, by setting the
340            service context's command to {@link
341            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
342            is considered a web content update activity; otherwise it is
343            considered a web content add activity.
344            * @return the web content article
345            * @throws PortalException if the user did not have permission to expire the
346            web content article, if a matching web content article could not
347            be found, or if a portal exception occurred
348            * @throws SystemException if a system exception occurred
349            */
350            public com.liferay.portlet.journal.model.JournalArticle expireArticle(
351                    long groupId, java.lang.String articleId, double version,
352                    java.lang.String articleURL,
353                    com.liferay.portal.service.ServiceContext serviceContext)
354                    throws com.liferay.portal.kernel.exception.PortalException,
355                            com.liferay.portal.kernel.exception.SystemException;
356    
357            /**
358            * Expires the web content article matching the group and article ID,
359            * expiring all of its versions if the
360            * <code>journal.article.expire.all.versions</code> portal property is
361            * <code>true</code>, otherwise expiring only its latest approved version.
362            *
363            * @param groupId the primary key of the web content article's group
364            * @param articleId the primary key of the web content article
365            * @param articleURL the web content article's accessible URL
366            * @param serviceContext the service context to be applied. Can set the
367            modification date, status date, portlet preferences, and can set
368            whether to add the default command update for the web content
369            article. With respect to social activities, by setting the
370            service context's command to {@link
371            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
372            is considered a web content update activity; otherwise it is
373            considered a web content add activity.
374            * @throws PortalException if the user did not have permission to expire the
375            web content article, if a matching web content article could not
376            be found, or if a portal exception occurred
377            * @throws SystemException if a system exception occurred
378            */
379            public void expireArticle(long groupId, java.lang.String articleId,
380                    java.lang.String articleURL,
381                    com.liferay.portal.service.ServiceContext serviceContext)
382                    throws com.liferay.portal.kernel.exception.PortalException,
383                            com.liferay.portal.kernel.exception.SystemException;
384    
385            /**
386            * Returns the web content article with the ID.
387            *
388            * @param id the primary key of the web content article
389            * @return the web content article with the ID
390            * @throws PortalException if a matching web content article could not be
391            found or if the user did not have permission to view the web
392            content article
393            * @throws SystemException if a system exception occurred
394            */
395            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
396            public com.liferay.portlet.journal.model.JournalArticle getArticle(long id)
397                    throws com.liferay.portal.kernel.exception.PortalException,
398                            com.liferay.portal.kernel.exception.SystemException;
399    
400            /**
401            * Returns the latest approved web content article, or the latest unapproved
402            * article if none are approved. Both approved and unapproved articles must
403            * match the group and article ID.
404            *
405            * @param groupId the primary key of the web content article's group
406            * @param articleId the primary key of the web content article
407            * @return the matching web content article
408            * @throws PortalException if the user did not have permission to view the
409            web content article or if a matching web content article could
410            not be found
411            * @throws SystemException if a system exception occurred
412            */
413            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
414            public com.liferay.portlet.journal.model.JournalArticle getArticle(
415                    long groupId, java.lang.String articleId)
416                    throws com.liferay.portal.kernel.exception.PortalException,
417                            com.liferay.portal.kernel.exception.SystemException;
418    
419            /**
420            * Returns the web content article matching the group, article ID, and
421            * version.
422            *
423            * @param groupId the primary key of the web content article's group
424            * @param articleId the primary key of the web content article
425            * @param version the web content article's version
426            * @return the matching web content article
427            * @throws PortalException if the user did not have permission to view the
428            web content article or if a matching web content article could
429            not be found
430            * @throws SystemException if a system exception occurred
431            */
432            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
433            public com.liferay.portlet.journal.model.JournalArticle getArticle(
434                    long groupId, java.lang.String articleId, double version)
435                    throws com.liferay.portal.kernel.exception.PortalException,
436                            com.liferay.portal.kernel.exception.SystemException;
437    
438            /**
439            * Returns the web content article matching the group, class name, and class
440            * PK.
441            *
442            * @param groupId the primary key of the web content article's group
443            * @param className the DDMStructure class name if the web content article
444            is related to a DDM structure, the primary key of the class name
445            associated with the article, or {@link
446            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
447            * @param classPK the primary key of the DDM structure, if the the
448            DDMStructure class name is given as the <code>className</code>
449            parameter, the primary key of the class associated with the web
450            content article, or <code>0</code> otherwise
451            * @return the matching web content article
452            * @throws PortalException if a matching web content article could not be
453            found or if the user did not have permission to view the web
454            content article
455            * @throws SystemException if a system exception occurred
456            */
457            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
458            public com.liferay.portlet.journal.model.JournalArticle getArticle(
459                    long groupId, java.lang.String className, long classPK)
460                    throws com.liferay.portal.kernel.exception.PortalException,
461                            com.liferay.portal.kernel.exception.SystemException;
462    
463            /**
464            * Returns the latest web content article that is approved, or the latest
465            * unapproved article if none are approved. Both approved and unapproved
466            * articles must match the group and URL title.
467            *
468            * @param groupId the primary key of the web content article's group
469            * @param urlTitle the web content article's accessible URL title
470            * @return the matching web content article
471            * @throws PortalException if the user did not have permission to view the
472            web content article or if a portal exception occurred
473            * @throws SystemException if a system exception occurred
474            */
475            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
476            public com.liferay.portlet.journal.model.JournalArticle getArticleByUrlTitle(
477                    long groupId, java.lang.String urlTitle)
478                    throws com.liferay.portal.kernel.exception.PortalException,
479                            com.liferay.portal.kernel.exception.SystemException;
480    
481            /**
482            * Returns the web content matching the group, article ID, and version.
483            *
484            * @param groupId the primary key of the web content article's group
485            * @param articleId the primary key of the web content article
486            * @param version the web content article's version
487            * @param languageId the primary key of the language translation to get
488            * @param themeDisplay the theme display
489            * @return the matching web content
490            * @throws PortalException if the user did not have permission to view the
491            web content article, if a matching web content article or DDM
492            template could not be found, or if a portal exception occurred
493            * @throws SystemException if a system exception occurred
494            */
495            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
496            public java.lang.String getArticleContent(long groupId,
497                    java.lang.String articleId, double version,
498                    java.lang.String languageId,
499                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
500                    throws com.liferay.portal.kernel.exception.PortalException,
501                            com.liferay.portal.kernel.exception.SystemException;
502    
503            /**
504            * Returns the latest web content matching the group and article ID.
505            *
506            * @param groupId the primary key of the web content article's group
507            * @param articleId the primary key of the web content article
508            * @param languageId the primary key of the language translation to get
509            * @param themeDisplay the theme display
510            * @return the matching web content
511            * @throws PortalException if the user did not have permission to view the
512            web content article, if a matching web content article or DDM
513            template could not be found, or if a portal exception occurred
514            * @throws SystemException if a system exception occurred
515            */
516            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
517            public java.lang.String getArticleContent(long groupId,
518                    java.lang.String articleId, java.lang.String languageId,
519                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
520                    throws com.liferay.portal.kernel.exception.PortalException,
521                            com.liferay.portal.kernel.exception.SystemException;
522    
523            /**
524            * Returns all the web content articles matching the group and folder.
525            *
526            * @param groupId the primary key of the web content article's group
527            * @param folderId the primary key of the web content article folder
528            * @return the matching web content articles
529            * @throws SystemException if a system exception occurred
530            */
531            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
532            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
533                    long groupId, long folderId)
534                    throws com.liferay.portal.kernel.exception.SystemException;
535    
536            /**
537            * Returns an ordered range of all the web content articles matching the
538            * group and folder.
539            *
540            * <p>
541            * Useful when paginating results. Returns a maximum of <code>end -
542            * start</code> instances. <code>start</code> and <code>end</code> are not
543            * primary keys, they are indexes in the result set. Thus, <code>0</code>
544            * refers to the first result in the set. Setting both <code>start</code>
545            * and <code>end</code> to {@link
546            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
547            * result set.
548            * </p>
549            *
550            * @param groupId the primary key of the web content article's group
551            * @param folderId the primary key of the web content article folder
552            * @param start the lower bound of the range of web content articles to
553            return
554            * @param end the upper bound of the range of web content articles to
555            return (not inclusive)
556            * @param obc the comparator to order the web content articles
557            * @return the matching web content articles
558            * @throws SystemException if a system exception occurred
559            */
560            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
561            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
562                    long groupId, long folderId, int start, int end,
563                    com.liferay.portal.kernel.util.OrderByComparator obc)
564                    throws com.liferay.portal.kernel.exception.SystemException;
565    
566            /**
567            * Returns an ordered range of all the web content articles matching the
568            * group and article ID.
569            *
570            * <p>
571            * Useful when paginating results. Returns a maximum of <code>end -
572            * start</code> instances. <code>start</code> and <code>end</code> are not
573            * primary keys, they are indexes in the result set. Thus, <code>0</code>
574            * refers to the first result in the set. Setting both <code>start</code>
575            * and <code>end</code> to {@link
576            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
577            * result set.
578            * </p>
579            *
580            * @param groupId the primary key of the web content article's group
581            * @param articleId the primary key of the web content article
582            * @param start the lower bound of the range of web content articles to
583            return
584            * @param end the upper bound of the range of web content articles to
585            return (not inclusive)
586            * @param obc the comparator to order the web content articles
587            * @return the range of matching web content articles ordered by the
588            comparator
589            * @throws SystemException if a system exception occurred
590            */
591            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
592            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByArticleId(
593                    long groupId, java.lang.String articleId, int start, int end,
594                    com.liferay.portal.kernel.util.OrderByComparator obc)
595                    throws com.liferay.portal.kernel.exception.SystemException;
596    
597            /**
598            * Returns all the web content articles matching the group and layout UUID.
599            *
600            * @param groupId the primary key of the web content article's group
601            * @param layoutUuid the unique string identifying the web content
602            article's display page
603            * @return the matching web content articles
604            * @throws SystemException if a system exception occurred
605            */
606            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
607            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByLayoutUuid(
608                    long groupId, java.lang.String layoutUuid)
609                    throws com.liferay.portal.kernel.exception.SystemException;
610    
611            /**
612            * Returns an ordered range of all the web content articles matching the
613            * group, class name ID, DDM structure key, and workflow status.
614            *
615            * <p>
616            * Useful when paginating results. Returns a maximum of <code>end -
617            * start</code> instances. <code>start</code> and <code>end</code> are not
618            * primary keys, they are indexes in the result set. Thus, <code>0</code>
619            * refers to the first result in the set. Setting both <code>start</code>
620            * and <code>end</code> to {@link
621            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
622            * result set.
623            * </p>
624            *
625            * @param groupId the primary key of the web content article's group
626            * @param classNameId the primary key of the DDMStructure class if the web
627            content article is related to a DDM structure, the primary key of
628            the class name associated with the article, or {@link
629            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
630            * @param ddmStructureKey the primary key of the web content article's DDM
631            structure
632            * @param status the web content article's workflow status. For more
633            information see {@link WorkflowConstants} for constants starting
634            with the "STATUS_" prefix.
635            * @param start the lower bound of the range of web content articles to
636            return
637            * @param end the upper bound of the range of web content articles to
638            return (not inclusive)
639            * @param obc the comparator to order the web content articles
640            * @return the range of matching web content articles ordered by the
641            comparator
642            * @throws SystemException if a system exception occurred
643            */
644            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
645            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByStructureId(
646                    long groupId, long classNameId, java.lang.String ddmStructureKey,
647                    int status, int start, int end,
648                    com.liferay.portal.kernel.util.OrderByComparator obc)
649                    throws com.liferay.portal.kernel.exception.SystemException;
650    
651            /**
652            * Returns an ordered range of all the web content articles matching the
653            * group, default class name ID, and DDM structure key.
654            *
655            * <p>
656            * Useful when paginating results. Returns a maximum of <code>end -
657            * start</code> instances. <code>start</code> and <code>end</code> are not
658            * primary keys, they are indexes in the result set. Thus, <code>0</code>
659            * refers to the first result in the set. Setting both <code>start</code>
660            * and <code>end</code> to {@link
661            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
662            * result set.
663            * </p>
664            *
665            * @param groupId the primary key of the web content article's group
666            * @param ddmStructureKey the primary key of the web content article's DDM
667            structure
668            * @param start the lower bound of the range of web content articles to
669            return
670            * @param end the upper bound of the range of web content articles to
671            return (not inclusive)
672            * @param obc the comparator to order the web content articles
673            * @return the range of matching web content articles ordered by the
674            comparator
675            * @throws SystemException if a system exception occurred
676            */
677            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
678            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByStructureId(
679                    long groupId, java.lang.String ddmStructureKey, int start, int end,
680                    com.liferay.portal.kernel.util.OrderByComparator obc)
681                    throws com.liferay.portal.kernel.exception.SystemException;
682    
683            /**
684            * Returns the number of web content articles matching the group and folder.
685            *
686            * @param groupId the primary key of the web content article's group
687            * @param folderId the primary key of the web content article folder
688            * @return the number of matching web content articles
689            * @throws SystemException if a system exception occurred
690            */
691            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
692            public int getArticlesCount(long groupId, long folderId)
693                    throws com.liferay.portal.kernel.exception.SystemException;
694    
695            /**
696            * Returns the number of web content articles matching the group and article
697            * ID.
698            *
699            * @param groupId the primary key of the web content article's group
700            * @param articleId the primary key of the web content article
701            * @return the number of matching web content articles
702            * @throws SystemException if a system exception occurred
703            */
704            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
705            public int getArticlesCountByArticleId(long groupId,
706                    java.lang.String articleId)
707                    throws com.liferay.portal.kernel.exception.SystemException;
708    
709            /**
710            * Returns the number of web content articles matching the group, class name
711            * ID, DDM structure key, and workflow status.
712            *
713            * @param groupId the primary key of the web content article's group
714            * @param classNameId the primary key of the DDMStructure class if the web
715            content article is related to a DDM structure, the primary key of
716            the class name associated with the article, or {@link
717            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
718            * @param ddmStructureKey the primary key of the web content article's DDM
719            structure
720            * @param status the web content article's workflow status. For more
721            information see {@link WorkflowConstants} for constants starting
722            with the "STATUS_" prefix.
723            * @return the number of matching web content articles
724            * @throws SystemException if a system exception occurred
725            */
726            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
727            public int getArticlesCountByStructureId(long groupId, long classNameId,
728                    java.lang.String ddmStructureKey, int status)
729                    throws com.liferay.portal.kernel.exception.SystemException;
730    
731            /**
732            * Returns the number of web content articles matching the group, default
733            * class name ID, and DDM structure key.
734            *
735            * @param groupId the primary key of the web content article's group
736            * @param ddmStructureKey the primary key of the web content article's DDM
737            structure
738            * @return the number of matching web content articles
739            * @throws SystemException if a system exception occurred
740            */
741            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
742            public int getArticlesCountByStructureId(long groupId,
743                    java.lang.String ddmStructureKey)
744                    throws com.liferay.portal.kernel.exception.SystemException;
745    
746            /**
747            * Returns the web content article matching the URL title that is currently
748            * displayed or next to be displayed if no article is currently displayed.
749            *
750            * @param groupId the primary key of the web content article's group
751            * @param urlTitle the web content article's accessible URL title
752            * @return the web content article matching the URL title that is currently
753            displayed, or next one to be displayed if no version of the
754            article is currently displayed
755            * @throws PortalException if the user did not have permission to view the
756            web content article or if no approved matching web content
757            articles could be found
758            * @throws SystemException if a system exception occurred
759            */
760            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
761            public com.liferay.portlet.journal.model.JournalArticle getDisplayArticleByUrlTitle(
762                    long groupId, java.lang.String urlTitle)
763                    throws com.liferay.portal.kernel.exception.PortalException,
764                            com.liferay.portal.kernel.exception.SystemException;
765    
766            /**
767            * Returns the number of folders containing web content articles belonging
768            * to the group.
769            *
770            * @param groupId the primary key of the web content article's group
771            * @param folderIds the primary keys of the web content article folders
772            (optionally {@link java.util.Collections#EMPTY_LIST})
773            * @return the number of matching folders containing web content articles
774            * @throws SystemException if a system exception occurred
775            */
776            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
777            public int getFoldersAndArticlesCount(long groupId,
778                    java.util.List<java.lang.Long> folderIds)
779                    throws com.liferay.portal.kernel.exception.SystemException;
780    
781            /**
782            * Returns an ordered range of all the web content articles matching the
783            * group, user, the root folder or any of its subfolders.
784            *
785            * @param groupId the primary key of the web content article's group
786            * @param userId the primary key of the user (optionally <code>0</code>)
787            * @param rootFolderId the primary key of the root folder to begin the
788            search
789            * @param start the lower bound of the range of web content articles to
790            return
791            * @param end the upper bound of the range of web content articles to
792            return (not inclusive)
793            * @param orderByComparator the comparator to order the web content
794            articles
795            * @return the range of matching web content articles ordered by the
796            comparator
797            * @throws PortalException if the root folder could not be found, if the
798            current user did not have permission to view the root folder, or
799            if a portal exception occurred
800            * @throws SystemException if a system exception occurred
801            */
802            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
803            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getGroupArticles(
804                    long groupId, long userId, long rootFolderId, int start, int end,
805                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
806                    throws com.liferay.portal.kernel.exception.PortalException,
807                            com.liferay.portal.kernel.exception.SystemException;
808    
809            /**
810            * Returns the number of web content articles matching the group, user, and
811            * the root folder or any of its subfolders.
812            *
813            * @param groupId the primary key of the web content article's group
814            * @param userId the primary key of the user (optionally <code>0</code>)
815            * @param rootFolderId the primary key of the root folder to begin the
816            search
817            * @return the number of matching web content articles
818            * @throws PortalException if the root folder could not be found, if the
819            current user did not have permission to view the root folder, or
820            if a portal exception occurred
821            * @throws SystemException if a system exception occurred
822            */
823            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
824            public int getGroupArticlesCount(long groupId, long userId,
825                    long rootFolderId)
826                    throws com.liferay.portal.kernel.exception.PortalException,
827                            com.liferay.portal.kernel.exception.SystemException;
828    
829            /**
830            * Returns the latest web content article matching the resource primary key,
831            * preferring articles with approved workflow status.
832            *
833            * @param resourcePrimKey the primary key of the resource instance
834            * @return the latest web content article matching the resource primary key,
835            preferring articles with approved workflow status
836            * @throws PortalException if the user did not have permission to view the
837            web content article or if a matching web content article could
838            not be found
839            * @throws SystemException if a system exception occurred
840            */
841            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
842            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
843                    long resourcePrimKey)
844                    throws com.liferay.portal.kernel.exception.PortalException,
845                            com.liferay.portal.kernel.exception.SystemException;
846    
847            /**
848            * Returns the latest web content article matching the group, article ID,
849            * and workflow status.
850            *
851            * @param groupId the primary key of the web content article's group
852            * @param articleId the primary key of the web content article
853            * @param status the web content article's workflow status. For more
854            information see {@link WorkflowConstants} for constants starting
855            with the "STATUS_" prefix.
856            * @return the latest matching web content article
857            * @throws PortalException if the user did not have permission to view the
858            web content article or if a matching web content article could
859            not be found
860            * @throws SystemException if a system exception occurred
861            */
862            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
863            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
864                    long groupId, java.lang.String articleId, int status)
865                    throws com.liferay.portal.kernel.exception.PortalException,
866                            com.liferay.portal.kernel.exception.SystemException;
867    
868            /**
869            * Returns the latest web content article matching the group, class name ID,
870            * and class PK.
871            *
872            * @param groupId the primary key of the web content article's group
873            * @param className the DDMStructure class name if the web content article
874            is related to a DDM structure, the class name associated with the
875            article, or {@link JournalArticleConstants#CLASSNAME_ID_DEFAULT}
876            otherwise
877            * @param classPK the primary key of the DDM structure, if the DDMStructure
878            class name is given as the <code>className</code> parameter, the
879            primary key of the class associated with the web content article,
880            or <code>0</code> otherwise
881            * @return the latest matching web content article
882            * @throws PortalException if a matching web content article could not be
883            found or if the user did not have permission to view the web
884            content article
885            * @throws SystemException if a system exception occurred
886            */
887            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
888            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
889                    long groupId, java.lang.String className, long classPK)
890                    throws com.liferay.portal.kernel.exception.PortalException,
891                            com.liferay.portal.kernel.exception.SystemException;
892    
893            /**
894            * Moves all versions of the the web content article matching the group and
895            * article ID to the folder.
896            *
897            * @param groupId the primary key of the web content article's group
898            * @param articleId the primary key of the web content article
899            * @param newFolderId the primary key of the web content article's new
900            folder
901            * @throws PortalException if the user did not have permission to update any
902            one of the versions of the web content article or if any one of
903            the versions of the web content article could not be moved to the
904            folder
905            * @throws SystemException if a system exception occurred
906            */
907            public void moveArticle(long groupId, java.lang.String articleId,
908                    long newFolderId)
909                    throws com.liferay.portal.kernel.exception.PortalException,
910                            com.liferay.portal.kernel.exception.SystemException;
911    
912            /**
913            * Moves the web content article from the Recycle Bin to the folder.
914            *
915            * @param groupId the primary key of the web content article's group
916            * @param resourcePrimKey the primary key of the resource instance
917            * @param newFolderId the primary key of the web content article's new
918            folder
919            * @param serviceContext the service context to be applied. Can set the
920            modification date, portlet preferences, and can set whether to
921            add the default command update for the web content article. With
922            respect to social activities, by setting the service context's
923            command to {@link
924            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
925            is considered a web content update activity; otherwise it is
926            considered a web content add activity.
927            * @return the updated web content article, which was moved from the Recycle
928            Bin to the folder
929            * @throws PortalException if the user did not have permission to view or
930            update the web content article, if a matching trashed web content
931            article could not be found, or if a portal exception occurred
932            * @throws SystemException if a system exception occurred
933            */
934            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
935                    long groupId, long resourcePrimKey, long newFolderId,
936                    com.liferay.portal.service.ServiceContext serviceContext)
937                    throws com.liferay.portal.kernel.exception.PortalException,
938                            com.liferay.portal.kernel.exception.SystemException;
939    
940            /**
941            * Moves the web content article from the Recycle Bin to the folder.
942            *
943            * @param groupId the primary key of the web content article's group
944            * @param articleId the primary key of the web content article
945            * @param newFolderId the primary key of the web content article's new
946            folder
947            * @param serviceContext the service context to be applied. Can set the
948            modification date, portlet preferences, and can set whether to
949            add the default command update for the web content article. With
950            respect to social activities, by setting the service context's
951            command to {@link
952            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
953            is considered a web content update activity; otherwise it is
954            considered a web content add activity.
955            * @return the updated web content article, which was moved from the Recycle
956            Bin to the folder
957            * @throws PortalException if the user did not have permission to view or
958            update the web content article, if a trashed web content article
959            with the primary key could not be found, or if a portal exception
960            occurred
961            * @throws SystemException if a system exception occurred
962            */
963            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
964                    long groupId, java.lang.String articleId, long newFolderId,
965                    com.liferay.portal.service.ServiceContext serviceContext)
966                    throws com.liferay.portal.kernel.exception.PortalException,
967                            com.liferay.portal.kernel.exception.SystemException;
968    
969            /**
970            * Moves the latest version of the web content article matching the group
971            * and article ID to the recycle bin.
972            *
973            * @param groupId the primary key of the web content article's group
974            * @param articleId the primary key of the web content article
975            * @return the moved web content article or <code>null</code> if no matching
976            article was found
977            * @throws PortalException if the user did not have permission to move the
978            article to the Recycle Bin or if a portal exception occurred
979            * @throws SystemException if a system exception occurred
980            */
981            public com.liferay.portlet.journal.model.JournalArticle moveArticleToTrash(
982                    long groupId, java.lang.String articleId)
983                    throws com.liferay.portal.kernel.exception.PortalException,
984                            com.liferay.portal.kernel.exception.SystemException;
985    
986            /**
987            * Removes the web content of all the company's web content articles
988            * matching the language.
989            *
990            * @param companyId the primary key of the web content article's company
991            * @param languageId the primary key of the language locale to remove
992            * @throws PortalException if the user did not have permission to update any
993            one of the the web content articles or if web content matching
994            the language could not be found for any one of the articles
995            * @throws SystemException if a system exception occurred
996            */
997            public void removeArticleLocale(long companyId, java.lang.String languageId)
998                    throws com.liferay.portal.kernel.exception.PortalException,
999                            com.liferay.portal.kernel.exception.SystemException;
1000    
1001            /**
1002            * Removes the web content of the web content article matching the group,
1003            * article ID, and version, and language.
1004            *
1005            * @param groupId the primary key of the web content article's group
1006            * @param articleId the primary key of the web content article
1007            * @param version the web content article's version
1008            * @param languageId the primary key of the language locale to remove
1009            * @return the updated web content article with the locale removed
1010            * @throws PortalException if the user did not have permission to update the
1011            web content article or if a matching web content article could
1012            not be found
1013            * @throws SystemException if a system exception occurred
1014            */
1015            public com.liferay.portlet.journal.model.JournalArticle removeArticleLocale(
1016                    long groupId, java.lang.String articleId, double version,
1017                    java.lang.String languageId)
1018                    throws com.liferay.portal.kernel.exception.PortalException,
1019                            com.liferay.portal.kernel.exception.SystemException;
1020    
1021            /**
1022            * Restores the web content article associated with the resource primary key
1023            * from the Recycle Bin.
1024            *
1025            * @param resourcePrimKey the primary key of the resource instance
1026            * @throws PortalException if a matching web content article could not be
1027            found in the Recycle Bin, if the user did not have permission to
1028            view or restore the article, or if a portal exception occurred
1029            * @throws SystemException if a system exception occurred
1030            */
1031            public void restoreArticleFromTrash(long resourcePrimKey)
1032                    throws com.liferay.portal.kernel.exception.PortalException,
1033                            com.liferay.portal.kernel.exception.SystemException;
1034    
1035            /**
1036            * Restores the web content article from the Recycle Bin.
1037            *
1038            * @param groupId the primary key of the web content article's group
1039            * @param articleId the primary key of the web content article
1040            * @throws PortalException if the web content article with the primary key
1041            could not be found in the Recycle Bin, if the user did not have
1042            permission to restore the article, or if a portal exception
1043            occurred
1044            * @throws SystemException if a system exception occurred
1045            */
1046            public void restoreArticleFromTrash(long groupId, java.lang.String articleId)
1047                    throws com.liferay.portal.kernel.exception.PortalException,
1048                            com.liferay.portal.kernel.exception.SystemException;
1049    
1050            /**
1051            * Returns an ordered range of all the web content articles matching the
1052            * parameters, including a keywords parameter for matching with the
1053            * article's ID, title, description, and content, a DDM structure key
1054            * parameter, and a DDM template key parameter.
1055            *
1056            * <p>
1057            * Useful when paginating results. Returns a maximum of <code>end -
1058            * start</code> instances. <code>start</code> and <code>end</code> are not
1059            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1060            * refers to the first result in the set. Setting both <code>start</code>
1061            * and <code>end</code> to {@link
1062            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1063            * result set.
1064            * </p>
1065            *
1066            * @param companyId the primary key of the web content article's company
1067            * @param groupId the primary key of the group (optionally <code>0</code>)
1068            * @param folderIds the primary keys of the web content article folders
1069            (optionally {@link java.util.Collections#EMPTY_LIST})
1070            * @param classNameId the primary key of the DDMStructure class if the web
1071            content article is related to a DDM structure, the primary key of
1072            the class name associated with the article, or {@link
1073            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1074            * @param keywords the keywords (space separated), which may occur in the
1075            web content article ID, title, description, or content
1076            (optionally <code>null</code>). If the keywords value is not
1077            <code>null</code>, the search uses the OR operator in connecting
1078            query criteria; otherwise it uses the AND operator.
1079            * @param version the web content article's version (optionally
1080            <code>null</code>)
1081            * @param type the web content article's type (optionally
1082            <code>null</code>)
1083            * @param ddmStructureKey the primary key of the web content article's DDM
1084            structure, if the article is related to a DDM structure, or
1085            <code>null</code> otherwise
1086            * @param ddmTemplateKey the primary key of the web content article's DDM
1087            template (optionally <code>null</code>). If the article is
1088            related to a DDM structure, the template's structure must match
1089            it.
1090            * @param displayDateGT the date after which a matching web content
1091            article's display date must be after (optionally
1092            <code>null</code>)
1093            * @param displayDateLT the date before which a matching web content
1094            article's display date must be before (optionally
1095            <code>null</code>)
1096            * @param status the web content article's workflow status. For more
1097            information see {@link WorkflowConstants} for constants starting
1098            with the "STATUS_" prefix.
1099            * @param reviewDate the web content article's scheduled review date
1100            (optionally <code>null</code>)
1101            * @param start the lower bound of the range of web content articles to
1102            return
1103            * @param end the upper bound of the range of web content articles to
1104            return (not inclusive)
1105            * @param obc the comparator to order the web content articles
1106            * @return the range of matching web content articles ordered by the
1107            comparator
1108            * @throws SystemException if a system exception occurred
1109            */
1110            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1111            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1112                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1113                    long classNameId, java.lang.String keywords, java.lang.Double version,
1114                    java.lang.String type, java.lang.String ddmStructureKey,
1115                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1116                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1117                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
1118                    throws com.liferay.portal.kernel.exception.SystemException;
1119    
1120            /**
1121            * Returns an ordered range of all the web content articles matching the
1122            * parameters, including keyword parameters for article ID, title,
1123            * description, and content, a DDM structure key parameter, a DDM template
1124            * key parameter, and an AND operator switch.
1125            *
1126            * <p>
1127            * Useful when paginating results. Returns a maximum of <code>end -
1128            * start</code> instances. <code>start</code> and <code>end</code> are not
1129            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1130            * refers to the first result in the set. Setting both <code>start</code>
1131            * and <code>end</code> to {@link
1132            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1133            * result set.
1134            * </p>
1135            *
1136            * @param companyId the primary key of the web content article's company
1137            * @param groupId the primary key of the group (optionally <code>0</code>)
1138            * @param folderIds the primary keys of the web content article folders
1139            (optionally {@link java.util.Collections#EMPTY_LIST})
1140            * @param classNameId the primary key of the DDMStructure class if the web
1141            content article is related to a DDM structure, the primary key of
1142            the class name associated with the article, or {@link
1143            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1144            * @param articleId the article ID keywords (space separated, optionally
1145            <code>null</code>)
1146            * @param version the web content article's version (optionally
1147            <code>null</code>)
1148            * @param title the title keywords (space separated, optionally
1149            <code>null</code>)
1150            * @param description the description keywords (space separated, optionally
1151            <code>null</code>)
1152            * @param content the content keywords (space separated, optionally
1153            <code>null</code>)
1154            * @param type the web content article's type (optionally
1155            <code>null</code>)
1156            * @param ddmStructureKey the primary key of the web content article's DDM
1157            structure, if the article is related to a DDM structure, or
1158            <code>null</code> otherwise
1159            * @param ddmTemplateKey the primary key of the web content article's DDM
1160            template (optionally <code>null</code>). If the article is
1161            related to a DDM structure, the template's structure must match
1162            it.
1163            * @param displayDateGT the date after which a matching web content
1164            article's display date must be after (optionally
1165            <code>null</code>)
1166            * @param displayDateLT the date before which a matching web content
1167            article's display date must be before (optionally
1168            <code>null</code>)
1169            * @param status the web content article's workflow status. For more
1170            information see {@link WorkflowConstants} for constants starting
1171            with the "STATUS_" prefix.
1172            * @param reviewDate the web content article's scheduled review date
1173            (optionally <code>null</code>)
1174            * @param andOperator whether every field must match its value or keywords,
1175            or just one field must match. Company, group, folder IDs, class
1176            name ID, and status must all match their values.
1177            * @param start the lower bound of the range of web content articles to
1178            return
1179            * @param end the upper bound of the range of web content articles to
1180            return (not inclusive)
1181            * @param obc the comparator to order the web content articles
1182            * @return the range of matching web content articles ordered by the
1183            comparator
1184            * @throws SystemException if a system exception occurred
1185            */
1186            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1187            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1188                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1189                    long classNameId, java.lang.String articleId, java.lang.Double version,
1190                    java.lang.String title, java.lang.String description,
1191                    java.lang.String content, java.lang.String type,
1192                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1193                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1194                    java.util.Date reviewDate, boolean andOperator, int start, int end,
1195                    com.liferay.portal.kernel.util.OrderByComparator obc)
1196                    throws com.liferay.portal.kernel.exception.SystemException;
1197    
1198            /**
1199            * Returns an ordered range of all the web content articles matching the
1200            * parameters, including keyword parameters for article ID, title,
1201            * description, and content, a DDM structure keys (plural) parameter, a DDM
1202            * template keys (plural) parameter, and an AND operator switch.
1203            *
1204            * <p>
1205            * Useful when paginating results. Returns a maximum of <code>end -
1206            * start</code> instances. <code>start</code> and <code>end</code> are not
1207            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1208            * refers to the first result in the set. Setting both <code>start</code>
1209            * and <code>end</code> to {@link
1210            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1211            * result set.
1212            * </p>
1213            *
1214            * @param companyId the primary key of the web content article's company
1215            * @param groupId the primary key of the group (optionally <code>0</code>)
1216            * @param folderIds the primary keys of the web content article folders
1217            (optionally {@link java.util.Collections#EMPTY_LIST})
1218            * @param classNameId the primary key of the DDMStructure class if the web
1219            content article is related to a DDM structure, the primary key of
1220            the class name associated with the article, or {@link
1221            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1222            * @param articleId the article ID keywords (space separated, optionally
1223            <code>null</code>)
1224            * @param version the web content article's version (optionally
1225            <code>null</code>)
1226            * @param title the title keywords (space separated, optionally
1227            <code>null</code>)
1228            * @param description the description keywords (space separated, optionally
1229            <code>null</code>)
1230            * @param content the content keywords (space separated, optionally
1231            <code>null</code>)
1232            * @param type the web content article's type (optionally
1233            <code>null</code>)
1234            * @param ddmStructureKeys the primary keys of the web content article's
1235            DDM structures, if the article is related to a DDM structure, or
1236            <code>null</code> otherwise
1237            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1238            templates (originally <code>null</code>). If the articles are
1239            related to a DDM structure, the template's structure must match
1240            it.
1241            * @param displayDateGT the date after which a matching web content
1242            article's display date must be after (optionally
1243            <code>null</code>)
1244            * @param displayDateLT the date before which a matching web content
1245            article's display date must be before (optionally
1246            <code>null</code>)
1247            * @param status the web content article's workflow status. For more
1248            information see {@link WorkflowConstants} for constants starting
1249            with the "STATUS_" prefix.
1250            * @param reviewDate the web content article's scheduled review date
1251            (optionally <code>null</code>)
1252            * @param andOperator whether every field must match its value or keywords,
1253            or just one field must match.  Company, group, folder IDs, class
1254            name ID, and status must all match their values.
1255            * @param start the lower bound of the range of web content articles to
1256            return
1257            * @param end the upper bound of the range of web content articles to
1258            return (not inclusive)
1259            * @param obc the comparator to order the web content articles
1260            * @return the range of matching web content articles ordered by the
1261            comparator
1262            * @throws SystemException if a system exception occurred
1263            */
1264            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1265            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1266                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1267                    long classNameId, java.lang.String articleId, java.lang.Double version,
1268                    java.lang.String title, java.lang.String description,
1269                    java.lang.String content, java.lang.String type,
1270                    java.lang.String[] ddmStructureKeys,
1271                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1272                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1273                    boolean andOperator, int start, int end,
1274                    com.liferay.portal.kernel.util.OrderByComparator obc)
1275                    throws com.liferay.portal.kernel.exception.SystemException;
1276    
1277            /**
1278            * Returns the number of web content articles matching the parameters,
1279            * including a keywords parameter for matching with the article's ID, title,
1280            * description, and content, a DDM structure key parameter, and a DDM
1281            * template key parameter.
1282            *
1283            * @param companyId the primary key of the web content article's company
1284            * @param groupId the primary key of the group (optionally <code>0</code>)
1285            * @param folderIds the primary keys of the web content article folders
1286            (optionally {@link java.util.Collections#EMPTY_LIST})
1287            * @param classNameId the primary key of the DDMStructure class if the web
1288            content article is related to a DDM structure, the primary key of
1289            the class name associated with the article, or {@link
1290            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1291            * @param keywords the keywords (space separated), which may occur in the
1292            web content article ID, title, description, or content
1293            (optionally <code>null</code>). If the keywords value is not
1294            <code>null</code>, the search uses the OR operator in connecting
1295            query criteria; otherwise it uses the AND operator.
1296            * @param version the web content article's version (optionally
1297            <code>null</code>)
1298            * @param type the web content article's type (optionally
1299            <code>null</code>)
1300            * @param ddmStructureKey the primary key of the web content article's DDM
1301            structure, if the article is related to a DDM structure, or
1302            <code>null</code> otherwise
1303            * @param ddmTemplateKey the primary key of the web content article's DDM
1304            template (optionally <code>null</code>). If the article is
1305            related to a DDM structure, the template's structure must match
1306            it.
1307            * @param displayDateGT the date after which a matching web content
1308            article's display date must be after (optionally
1309            <code>null</code>)
1310            * @param displayDateLT the date before which a matching web content
1311            article's display date must be before (optionally
1312            <code>null</code>)
1313            * @param status the web content article's workflow status. For more
1314            information see {@link WorkflowConstants} for constants starting
1315            with the "STATUS_" prefix.
1316            * @param reviewDate the web content article's scheduled review date
1317            (optionally <code>null</code>)
1318            * @return the number of matching web content articles
1319            * @throws SystemException if a system exception occurred
1320            */
1321            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1322            public int searchCount(long companyId, long groupId,
1323                    java.util.List<java.lang.Long> folderIds, long classNameId,
1324                    java.lang.String keywords, java.lang.Double version,
1325                    java.lang.String type, java.lang.String ddmStructureKey,
1326                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1327                    java.util.Date displayDateLT, int status, java.util.Date reviewDate)
1328                    throws com.liferay.portal.kernel.exception.SystemException;
1329    
1330            /**
1331            * Returns the number of web content articles matching the parameters,
1332            * including keyword parameters for article ID, title, description, and
1333            * content, a DDM structure key parameter, a DDM template key parameter, and
1334            * an AND operator switch.
1335            *
1336            * @param companyId the primary key of the web content article's company
1337            * @param groupId the primary key of the group (optionally <code>0</code>)
1338            * @param folderIds the primary keys of the web content article folders
1339            (optionally {@link java.util.Collections#EMPTY_LIST})
1340            * @param classNameId the primary key of the DDMStructure class if the web
1341            content article is related to a DDM structure, the primary key of
1342            the class name associated with the article, or {@link
1343            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1344            * @param articleId the article ID keywords (space separated, optionally
1345            <code>null</code>)
1346            * @param version the web content article's version (optionally
1347            <code>null</code>)
1348            * @param title the title keywords (space separated, optionally
1349            <code>null</code>)
1350            * @param description the description keywords (space separated, optionally
1351            <code>null</code>)
1352            * @param content the content keywords (space separated, optionally
1353            <code>null</code>)
1354            * @param type the web content article's type (optionally
1355            <code>null</code>)
1356            * @param ddmStructureKey the primary key of the web content article's DDM
1357            structure, if the article is related to a DDM structure, or
1358            <code>null</code> otherwise
1359            * @param ddmTemplateKey the primary key of the web content article's DDM
1360            template (optionally <code>null</code>). If the article is
1361            related to a DDM structure, the template's structure must match
1362            it.
1363            * @param displayDateGT the date after which a matching web content
1364            article's display date must be after (optionally
1365            <code>null</code>)
1366            * @param displayDateLT the date before which a matching web content
1367            article's display date must be before (optionally
1368            <code>null</code>)
1369            * @param status the web content article's workflow status. For more
1370            information see {@link WorkflowConstants} for constants starting
1371            with the "STATUS_" prefix.
1372            * @param reviewDate the web content article's scheduled review date
1373            (optionally <code>null</code>)
1374            * @param andOperator whether every field must match its value or keywords,
1375            or just one field must match. Group, folder IDs, class name ID,
1376            and status must all match their values.
1377            * @return the number of matching web content articles
1378            * @throws SystemException if a system exception occurred
1379            */
1380            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1381            public int searchCount(long companyId, long groupId,
1382                    java.util.List<java.lang.Long> folderIds, long classNameId,
1383                    java.lang.String articleId, java.lang.Double version,
1384                    java.lang.String title, java.lang.String description,
1385                    java.lang.String content, java.lang.String type,
1386                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1387                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1388                    java.util.Date reviewDate, boolean andOperator)
1389                    throws com.liferay.portal.kernel.exception.SystemException;
1390    
1391            /**
1392            * Returns the number of web content articles matching the parameters,
1393            * including keyword parameters for article ID, title, description, and
1394            * content, a DDM structure keys (plural) parameter, a DDM template keys
1395            * (plural) parameter, and an AND operator switch.
1396            *
1397            * @param companyId the primary key of the web content article's company
1398            * @param groupId the primary key of the group (optionally <code>0</code>)
1399            * @param folderIds the primary keys of the web content article folders
1400            (optionally {@link java.util.Collections#EMPTY_LIST})
1401            * @param classNameId the primary key of the DDMStructure class if the web
1402            content article is related to a DDM structure, the primary key of
1403            the class name associated with the article, or {@link
1404            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1405            * @param articleId the article ID keywords (space separated, optionally
1406            <code>null</code>)
1407            * @param version the web content article's version (optionally
1408            <code>null</code>)
1409            * @param title the title keywords (space separated, optionally
1410            <code>null</code>)
1411            * @param description the description keywords (space separated, optionally
1412            <code>null</code>)
1413            * @param content the content keywords (space separated, optionally
1414            <code>null</code>)
1415            * @param type the web content article's type (optionally
1416            <code>null</code>)
1417            * @param ddmStructureKeys the primary keys of the web content article's
1418            DDM structures, if the article is related to a DDM structure, or
1419            <code>null</code> otherwise
1420            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1421            templates (originally <code>null</code>). If the articles are
1422            related to a DDM structure, the template's structure must match
1423            it.
1424            * @param displayDateGT the date after which a matching web content
1425            article's display date must be after (optionally
1426            <code>null</code>)
1427            * @param displayDateLT the date before which a matching web content
1428            article's display date must be before (optionally
1429            <code>null</code>)
1430            * @param status the web content article's workflow status. For more
1431            information see {@link WorkflowConstants} for constants starting
1432            with the "STATUS_" prefix.
1433            * @param reviewDate the web content article's scheduled review date
1434            (optionally <code>null</code>)
1435            * @param andOperator whether every field must match its value or keywords,
1436            or just one field must match.  Group, folder IDs, class name ID,
1437            and status must all match their values.
1438            * @return the number of matching web content articles
1439            * @throws SystemException if a system exception occurred
1440            */
1441            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1442            public int searchCount(long companyId, long groupId,
1443                    java.util.List<java.lang.Long> folderIds, long classNameId,
1444                    java.lang.String articleId, java.lang.Double version,
1445                    java.lang.String title, java.lang.String description,
1446                    java.lang.String content, java.lang.String type,
1447                    java.lang.String[] ddmStructureKeys,
1448                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1449                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1450                    boolean andOperator)
1451                    throws com.liferay.portal.kernel.exception.SystemException;
1452    
1453            /**
1454            * Subscribes the user to notifications for the web content article matching
1455            * the group, notifying him the instant versions of the article are created,
1456            * deleted, or modified.
1457            *
1458            * @param groupId the primary key of the group
1459            * @throws PortalException if the user did not have permission to subscribe
1460            to the web content article or if a matching user or group could
1461            not be found
1462            * @throws SystemException if a system exception occurred
1463            */
1464            public void subscribe(long groupId)
1465                    throws com.liferay.portal.kernel.exception.PortalException,
1466                            com.liferay.portal.kernel.exception.SystemException;
1467    
1468            /**
1469            * Unsubscribes the user from notifications for the web content article
1470            * matching the group.
1471            *
1472            * @param groupId the primary key of the group
1473            * @throws PortalException if the user did not have permission to subscribe
1474            to the web content article or if a matching user or subscription
1475            could not be found
1476            * @throws SystemException if a system exception occurred
1477            */
1478            public void unsubscribe(long groupId)
1479                    throws com.liferay.portal.kernel.exception.PortalException,
1480                            com.liferay.portal.kernel.exception.SystemException;
1481    
1482            /**
1483            * Updates the web content article matching the version, replacing its
1484            * folder, title, description, content, and layout UUID.
1485            *
1486            * @param userId the primary key of the user updating the web content
1487            article
1488            * @param groupId the primary key of the web content article's group
1489            * @param folderId the primary key of the web content article folder
1490            * @param articleId the primary key of the web content article
1491            * @param version the web content article's version
1492            * @param titleMap the web content article's locales and localized titles
1493            * @param descriptionMap the web content article's locales and localized
1494            descriptions
1495            * @param content the HTML content wrapped in XML. For more information,
1496            see the content example in the class description for {@link
1497            JournalArticleLocalServiceImpl}.
1498            * @param layoutUuid the unique string identifying the web content
1499            article's display page
1500            * @param serviceContext the service context to be applied. Can set the
1501            modification date, expando bridge attributes, asset category IDs,
1502            asset tag names, asset link entry IDs, workflow actions, the
1503            "defaultLanguageId" and "urlTitle" attributes, and can set
1504            whether to add the default command update for the web content
1505            article. With respect to social activities, by setting the
1506            service context's command to {@link
1507            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1508            is considered a web content update activity; otherwise it is
1509            considered a web content add activity.
1510            * @return the updated web content article
1511            * @throws PortalException if a user with the primary key or a matching web
1512            content article could not be found, or if a portal exception
1513            occurred
1514            * @throws SystemException if a system exception occurred
1515            */
1516            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1517                    long userId, long groupId, long folderId, java.lang.String articleId,
1518                    double version,
1519                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1520                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1521                    java.lang.String content, java.lang.String layoutUuid,
1522                    com.liferay.portal.service.ServiceContext serviceContext)
1523                    throws com.liferay.portal.kernel.exception.PortalException,
1524                            com.liferay.portal.kernel.exception.SystemException;
1525    
1526            /**
1527            * Updates the web content article with additional parameters.
1528            *
1529            * @param groupId the primary key of the web content article's group
1530            * @param folderId the primary key of the web content article folder
1531            * @param articleId the primary key of the web content article
1532            * @param version the web content article's version
1533            * @param titleMap the web content article's locales and localized titles
1534            * @param descriptionMap the web content article's locales and localized
1535            descriptions
1536            * @param content the HTML content wrapped in XML. For more information,
1537            see the content example in the class description for {@link
1538            JournalArticleLocalServiceImpl}.
1539            * @param type the structure's type, if the web content article is related
1540            to a DDM structure. For more information, see {@link
1541            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
1542            * @param ddmStructureKey the primary key of the web content article's DDM
1543            structure, if the article is related to a DDM structure, or
1544            <code>null</code> otherwise
1545            * @param ddmTemplateKey the primary key of the web content article's DDM
1546            template (optionally <code>null</code>). If the article is
1547            related to a DDM structure, the template's structure must match
1548            it.
1549            * @param layoutUuid the unique string identifying the web content
1550            article's display page
1551            * @param displayDateMonth the month the web content article is set to
1552            display
1553            * @param displayDateDay the calendar day the web content article is set to
1554            display
1555            * @param displayDateYear the year the web content article is set to
1556            display
1557            * @param displayDateHour the hour the web content article is set to
1558            display
1559            * @param displayDateMinute the minute the web content article is set to
1560            display
1561            * @param expirationDateMonth the month the web content article is set to
1562            expire
1563            * @param expirationDateDay the calendar day the web content article is set
1564            to expire
1565            * @param expirationDateYear the year the web content article is set to
1566            expire
1567            * @param expirationDateHour the hour the web content article is set to
1568            expire
1569            * @param expirationDateMinute the minute the web content article is set to
1570            expire
1571            * @param neverExpire whether the web content article is not set to auto
1572            expire
1573            * @param reviewDateMonth the month the web content article is set for
1574            review
1575            * @param reviewDateDay the calendar day the web content article is set for
1576            review
1577            * @param reviewDateYear the year the web content article is set for review
1578            * @param reviewDateHour the hour the web content article is set for review
1579            * @param reviewDateMinute the minute the web content article is set for
1580            review
1581            * @param neverReview whether the web content article is not set for review
1582            * @param indexable whether the web content is searchable
1583            * @param smallImage whether to update web content article's a small image.
1584            A file must be passed in as <code>smallImageFile</code> value,
1585            otherwise the current small image is deleted.
1586            * @param smallImageURL the web content article's small image URL
1587            (optionally <code>null</code>)
1588            * @param smallFile the web content article's new small image file
1589            (optionally <code>null</code>). Must pass in
1590            <code>smallImage</code> value of <code>true</code> to replace the
1591            article's small image file.
1592            * @param images the web content's images (optionally <code>null</code>)
1593            * @param articleURL the web content article's accessible URL (optionally
1594            <code>null</code>)
1595            * @param serviceContext the service context to be applied. Can set the
1596            modification date, expando bridge attributes, asset category IDs,
1597            asset tag names, asset link entry IDs, workflow actions, the
1598            "defaultLanguageId" and "urlTitle" attributes, and can set
1599            whether to add the default command update for the web content
1600            article. With respect to social activities, by setting the
1601            service context's command to {@link
1602            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1603            is considered a web content update activity; otherwise it is
1604            considered a web content add activity.
1605            * @return the updated web content article
1606            * @throws PortalException if the user did not have permission to update the
1607            web content article, if a user with the primary key or a matching
1608            web content article could not be found, or if a portal exception
1609            occurred
1610            * @throws SystemException if a system exception occurred
1611            */
1612            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1613                    long groupId, long folderId, java.lang.String articleId,
1614                    double version,
1615                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1616                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1617                    java.lang.String content, java.lang.String type,
1618                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1619                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
1620                    int displayDateYear, int displayDateHour, int displayDateMinute,
1621                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
1622                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
1623                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
1624                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
1625                    boolean indexable, boolean smallImage, java.lang.String smallImageURL,
1626                    java.io.File smallFile, java.util.Map<java.lang.String, byte[]> images,
1627                    java.lang.String articleURL,
1628                    com.liferay.portal.service.ServiceContext serviceContext)
1629                    throws com.liferay.portal.kernel.exception.PortalException,
1630                            com.liferay.portal.kernel.exception.SystemException;
1631    
1632            /**
1633            * Updates the web content article matching the version, replacing its
1634            * folder and content.
1635            *
1636            * @param groupId the primary key of the web content article's group
1637            * @param folderId the primary key of the web content article folder
1638            * @param articleId the primary key of the web content article
1639            * @param version the web content article's version
1640            * @param content the HTML content wrapped in XML. For more information,
1641            see the content example in the class description for {@link
1642            JournalArticleLocalServiceImpl}.
1643            * @param serviceContext the service context to be applied. Can set the
1644            modification date, expando bridge attributes, asset category IDs,
1645            asset tag names, asset link entry IDs, workflow actions, the
1646            "defaultLanguageId" and "urlTitle" attributes, and can set
1647            whether to add the default command update for the web content
1648            article. With respect to social activities, by setting the
1649            service context's command to {@link
1650            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1651            is considered a web content update activity; otherwise it is
1652            considered a web content add activity.
1653            * @return the updated web content article
1654            * @throws PortalException if the user did not have permission to update the
1655            web content article, if a user with the primary key or a matching
1656            web content article could not be found, or if a portal exception
1657            occurred
1658            * @throws SystemException if a system exception occurred
1659            */
1660            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1661                    long groupId, long folderId, java.lang.String articleId,
1662                    double version, java.lang.String content,
1663                    com.liferay.portal.service.ServiceContext serviceContext)
1664                    throws com.liferay.portal.kernel.exception.PortalException,
1665                            com.liferay.portal.kernel.exception.SystemException;
1666    
1667            /**
1668            * @deprecated As of 6.2.0, replaced by {@link
1669            #updateArticleTranslation(long, String, double, Locale,
1670            String, String, String, Map, ServiceContext)}
1671            */
1672            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
1673                    long groupId, java.lang.String articleId, double version,
1674                    java.util.Locale locale, java.lang.String title,
1675                    java.lang.String description, java.lang.String content,
1676                    java.util.Map<java.lang.String, byte[]> images)
1677                    throws com.liferay.portal.kernel.exception.PortalException,
1678                            com.liferay.portal.kernel.exception.SystemException;
1679    
1680            /**
1681            * Updates the translation of the web content article.
1682            *
1683            * @param groupId the primary key of the web content article's group
1684            * @param articleId the primary key of the web content article
1685            * @param version the web content article's version
1686            * @param locale the locale of the web content article's display template
1687            * @param title the translated web content article title
1688            * @param description the translated web content article description
1689            * @param content the HTML content wrapped in XML. For more information,
1690            see the content example in the class description for {@link
1691            JournalArticleLocalServiceImpl}.
1692            * @param images the web content's images
1693            * @param serviceContext the service context to be applied. Can set the
1694            modification date and "urlTitle" attribute for the web content
1695            article.
1696            * @return the updated web content article
1697            * @throws PortalException if the user did not have permission to update the
1698            web content article, if a user with the primary key or a matching
1699            web content article could not be found, or if a portal exception
1700            occurred
1701            * @throws SystemException if a system exception occurred
1702            */
1703            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
1704                    long groupId, java.lang.String articleId, double version,
1705                    java.util.Locale locale, java.lang.String title,
1706                    java.lang.String description, java.lang.String content,
1707                    java.util.Map<java.lang.String, byte[]> images,
1708                    com.liferay.portal.service.ServiceContext serviceContext)
1709                    throws com.liferay.portal.kernel.exception.PortalException,
1710                            com.liferay.portal.kernel.exception.SystemException;
1711    
1712            /**
1713            * Updates the web content article matching the group, article ID, and
1714            * version, replacing its content.
1715            *
1716            * @param groupId the primary key of the web content article's group
1717            * @param articleId the primary key of the web content article
1718            * @param version the web content article's version
1719            * @param content the HTML content wrapped in XML. For more information,
1720            see the content example in the class description for {@link
1721            JournalArticleLocalServiceImpl}.
1722            * @return the updated web content article
1723            * @throws PortalException if the user did not have permission to update the
1724            web content article or if a matching web content article could
1725            not be found
1726            * @throws SystemException if a system exception occurred
1727            */
1728            public com.liferay.portlet.journal.model.JournalArticle updateContent(
1729                    long groupId, java.lang.String articleId, double version,
1730                    java.lang.String content)
1731                    throws com.liferay.portal.kernel.exception.PortalException,
1732                            com.liferay.portal.kernel.exception.SystemException;
1733    
1734            /**
1735            * Updates the workflow status of the web content article matching the
1736            * group, article ID, and version.
1737            *
1738            * @param groupId the primary key of the web content article's group
1739            * @param articleId the primary key of the web content article
1740            * @param version the web content article's version
1741            * @param status the web content article's workflow status. For more
1742            information see {@link WorkflowConstants} for constants starting
1743            with the "STATUS_" prefix.
1744            * @param articleURL the web content article's accessible URL
1745            * @param serviceContext the service context to be applied. Can set the
1746            modification date, portlet preferences, and can set whether to
1747            add the default command update for the web content article.
1748            * @return the updated web content article
1749            * @throws PortalException if the user did not have permission to update the
1750            web content article, if a matching web content article could not
1751            be found, or if a portal exception occurred
1752            * @throws SystemException if a system exception occurred
1753            */
1754            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
1755                    long groupId, java.lang.String articleId, double version, int status,
1756                    java.lang.String articleURL,
1757                    com.liferay.portal.service.ServiceContext serviceContext)
1758                    throws com.liferay.portal.kernel.exception.PortalException,
1759                            com.liferay.portal.kernel.exception.SystemException;
1760    }