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