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            /**
784            * Returns an ordered range of all the web content articles matching the
785            * group, user, the root folder or any of its subfolders.
786            *
787            * @param groupId the primary key of the web content article's group
788            * @param userId the primary key of the user (optionally <code>0</code>)
789            * @param rootFolderId the primary key of the root folder to begin the
790            search
791            * @param start the lower bound of the range of web content articles to
792            return
793            * @param end the upper bound of the range of web content articles to
794            return (not inclusive)
795            * @param orderByComparator the comparator to order the web content
796            articles
797            * @return the range of matching web content articles ordered by the
798            comparator
799            * @throws PortalException if the root folder could not be found, if the
800            current user did not have permission to view the root folder, or
801            if a portal exception occurred
802            * @throws SystemException if a system exception occurred
803            */
804            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
805            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getGroupArticles(
806                    long groupId, long userId, long rootFolderId, int start, int end,
807                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
808                    throws com.liferay.portal.kernel.exception.PortalException,
809                            com.liferay.portal.kernel.exception.SystemException;
810    
811            /**
812            * Returns the number of web content articles matching the group, user, and
813            * the root folder or any of its subfolders.
814            *
815            * @param groupId the primary key of the web content article's group
816            * @param userId the primary key of the user (optionally <code>0</code>)
817            * @param rootFolderId the primary key of the root folder to begin the
818            search
819            * @return the number of matching web content articles
820            * @throws PortalException if the root folder could not be found, if the
821            current user did not have permission to view the root folder, or
822            if a portal exception occurred
823            * @throws SystemException if a system exception occurred
824            */
825            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
826            public int getGroupArticlesCount(long groupId, long userId,
827                    long rootFolderId)
828                    throws com.liferay.portal.kernel.exception.PortalException,
829                            com.liferay.portal.kernel.exception.SystemException;
830    
831            /**
832            * Returns the latest web content article matching the resource primary key,
833            * preferring articles with approved workflow status.
834            *
835            * @param resourcePrimKey the primary key of the resource instance
836            * @return the latest web content article matching the resource primary key,
837            preferring articles with approved workflow status
838            * @throws PortalException if the user did not have permission to view the
839            web content article or if a matching web content article could
840            not be found
841            * @throws SystemException if a system exception occurred
842            */
843            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
844            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
845                    long resourcePrimKey)
846                    throws com.liferay.portal.kernel.exception.PortalException,
847                            com.liferay.portal.kernel.exception.SystemException;
848    
849            /**
850            * Returns the latest web content article matching the group, article ID,
851            * and workflow status.
852            *
853            * @param groupId the primary key of the web content article's group
854            * @param articleId the primary key of the web content article
855            * @param status the web content article's workflow status. For more
856            information see {@link WorkflowConstants} for constants starting
857            with the "STATUS_" prefix.
858            * @return the latest matching web content article
859            * @throws PortalException if the user did not have permission to view the
860            web content article or if a matching web content article could
861            not be found
862            * @throws SystemException if a system exception occurred
863            */
864            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
865            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
866                    long groupId, java.lang.String articleId, int status)
867                    throws com.liferay.portal.kernel.exception.PortalException,
868                            com.liferay.portal.kernel.exception.SystemException;
869    
870            /**
871            * Returns the latest web content article matching the group, class name ID,
872            * and class PK.
873            *
874            * @param groupId the primary key of the web content article's group
875            * @param className the DDMStructure class name if the web content article
876            is related to a DDM structure, the class name associated with the
877            article, or {@link JournalArticleConstants#CLASSNAME_ID_DEFAULT}
878            otherwise
879            * @param classPK the primary key of the DDM structure, if the DDMStructure
880            class name is given as the <code>className</code> parameter, the
881            primary key of the class associated with the web content article,
882            or <code>0</code> otherwise
883            * @return the latest matching web content article
884            * @throws PortalException if a matching web content article could not be
885            found or if the user did not have permission to view the web
886            content article
887            * @throws SystemException if a system exception occurred
888            */
889            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
890            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
891                    long groupId, java.lang.String className, long classPK)
892                    throws com.liferay.portal.kernel.exception.PortalException,
893                            com.liferay.portal.kernel.exception.SystemException;
894    
895            /**
896            * Moves all versions of the the web content article matching the group and
897            * article ID to the folder.
898            *
899            * @param groupId the primary key of the web content article's group
900            * @param articleId the primary key of the web content article
901            * @param newFolderId the primary key of the web content article's new
902            folder
903            * @throws PortalException if the user did not have permission to update any
904            one of the versions of the web content article or if any one of
905            the versions of the web content article could not be moved to the
906            folder
907            * @throws SystemException if a system exception occurred
908            */
909            public void moveArticle(long groupId, java.lang.String articleId,
910                    long newFolderId)
911                    throws com.liferay.portal.kernel.exception.PortalException,
912                            com.liferay.portal.kernel.exception.SystemException;
913    
914            /**
915            * Moves the web content article from the Recycle Bin to the folder.
916            *
917            * @param groupId the primary key of the web content article's group
918            * @param resourcePrimKey the primary key of the resource instance
919            * @param newFolderId the primary key of the web content article's new
920            folder
921            * @param serviceContext the service context to be applied. Can set the
922            modification date, portlet preferences, and can set whether to
923            add the default command update for the web content article. With
924            respect to social activities, by setting the service context's
925            command to {@link
926            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
927            is considered a web content update activity; otherwise it is
928            considered a web content add activity.
929            * @return the updated web content article, which was moved from the Recycle
930            Bin to the folder
931            * @throws PortalException if the user did not have permission to view or
932            update the web content article, if a matching trashed web content
933            article could not be found, or if a portal exception occurred
934            * @throws SystemException if a system exception occurred
935            */
936            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
937                    long groupId, long resourcePrimKey, long newFolderId,
938                    com.liferay.portal.service.ServiceContext serviceContext)
939                    throws com.liferay.portal.kernel.exception.PortalException,
940                            com.liferay.portal.kernel.exception.SystemException;
941    
942            /**
943            * Moves the web content article from the Recycle Bin to the folder.
944            *
945            * @param groupId the primary key of the web content article's group
946            * @param articleId the primary key of the web content article
947            * @param newFolderId the primary key of the web content article's new
948            folder
949            * @param serviceContext the service context to be applied. Can set the
950            modification date, portlet preferences, and can set whether to
951            add the default command update for the web content article. With
952            respect to social activities, by setting the service context's
953            command to {@link
954            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
955            is considered a web content update activity; otherwise it is
956            considered a web content add activity.
957            * @return the updated web content article, which was moved from the Recycle
958            Bin to the folder
959            * @throws PortalException if the user did not have permission to view or
960            update the web content article, if a trashed web content article
961            with the primary key could not be found, or if a portal exception
962            occurred
963            * @throws SystemException if a system exception occurred
964            */
965            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
966                    long groupId, java.lang.String articleId, long newFolderId,
967                    com.liferay.portal.service.ServiceContext serviceContext)
968                    throws com.liferay.portal.kernel.exception.PortalException,
969                            com.liferay.portal.kernel.exception.SystemException;
970    
971            /**
972            * Moves the latest version of the web content article matching the group
973            * and article ID to the recycle bin.
974            *
975            * @param groupId the primary key of the web content article's group
976            * @param articleId the primary key of the web content article
977            * @return the moved web content article or <code>null</code> if no matching
978            article was found
979            * @throws PortalException if the user did not have permission to move the
980            article to the Recycle Bin or if a portal exception occurred
981            * @throws SystemException if a system exception occurred
982            */
983            public com.liferay.portlet.journal.model.JournalArticle moveArticleToTrash(
984                    long groupId, java.lang.String articleId)
985                    throws com.liferay.portal.kernel.exception.PortalException,
986                            com.liferay.portal.kernel.exception.SystemException;
987    
988            /**
989            * Removes the web content of all the company's web content articles
990            * matching the language.
991            *
992            * @param companyId the primary key of the web content article's company
993            * @param languageId the primary key of the language locale to remove
994            * @throws PortalException if the user did not have permission to update any
995            one of the the web content articles or if web content matching
996            the language could not be found for any one of the articles
997            * @throws SystemException if a system exception occurred
998            */
999            public void removeArticleLocale(long companyId, java.lang.String languageId)
1000                    throws com.liferay.portal.kernel.exception.PortalException,
1001                            com.liferay.portal.kernel.exception.SystemException;
1002    
1003            /**
1004            * Removes the web content of the web content article matching the group,
1005            * article ID, and version, and language.
1006            *
1007            * @param groupId the primary key of the web content article's group
1008            * @param articleId the primary key of the web content article
1009            * @param version the web content article's version
1010            * @param languageId the primary key of the language locale to remove
1011            * @return the updated web content article with the locale removed
1012            * @throws PortalException if the user did not have permission to update the
1013            web content article or if a matching web content article could
1014            not be found
1015            * @throws SystemException if a system exception occurred
1016            */
1017            public com.liferay.portlet.journal.model.JournalArticle removeArticleLocale(
1018                    long groupId, java.lang.String articleId, double version,
1019                    java.lang.String languageId)
1020                    throws com.liferay.portal.kernel.exception.PortalException,
1021                            com.liferay.portal.kernel.exception.SystemException;
1022    
1023            /**
1024            * Restores the web content article associated with the resource primary key
1025            * from the Recycle Bin.
1026            *
1027            * @param resourcePrimKey the primary key of the resource instance
1028            * @throws PortalException if a matching web content article could not be
1029            found in the Recycle Bin, if the user did not have permission to
1030            view or restore the article, or if a portal exception occurred
1031            * @throws SystemException if a system exception occurred
1032            */
1033            public void restoreArticleFromTrash(long resourcePrimKey)
1034                    throws com.liferay.portal.kernel.exception.PortalException,
1035                            com.liferay.portal.kernel.exception.SystemException;
1036    
1037            /**
1038            * Restores the web content article from the Recycle Bin.
1039            *
1040            * @param groupId the primary key of the web content article's group
1041            * @param articleId the primary key of the web content article
1042            * @throws PortalException if the web content article with the primary key
1043            could not be found in the Recycle Bin, if the user did not have
1044            permission to restore the article, or if a portal exception
1045            occurred
1046            * @throws SystemException if a system exception occurred
1047            */
1048            public void restoreArticleFromTrash(long groupId, java.lang.String articleId)
1049                    throws com.liferay.portal.kernel.exception.PortalException,
1050                            com.liferay.portal.kernel.exception.SystemException;
1051    
1052            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1053            public com.liferay.portal.kernel.search.Hits search(long groupId,
1054                    long creatorUserId, int status, int start, int end)
1055                    throws com.liferay.portal.kernel.exception.PortalException,
1056                            com.liferay.portal.kernel.exception.SystemException;
1057    
1058            /**
1059            * Returns an ordered range of all the web content articles matching the
1060            * parameters, including a keywords parameter for matching with the
1061            * article's ID, title, description, and content, a DDM structure key
1062            * parameter, and a DDM template key parameter.
1063            *
1064            * <p>
1065            * Useful when paginating results. Returns a maximum of <code>end -
1066            * start</code> instances. <code>start</code> and <code>end</code> are not
1067            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1068            * refers to the first result in the set. Setting both <code>start</code>
1069            * and <code>end</code> to {@link
1070            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1071            * result set.
1072            * </p>
1073            *
1074            * @param companyId the primary key of the web content article's company
1075            * @param groupId the primary key of the group (optionally <code>0</code>)
1076            * @param folderIds the primary keys of the web content article folders
1077            (optionally {@link java.util.Collections#EMPTY_LIST})
1078            * @param classNameId the primary key of the DDMStructure class if the web
1079            content article is related to a DDM structure, the primary key of
1080            the class name associated with the article, or {@link
1081            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1082            * @param keywords the keywords (space separated), which may occur in the
1083            web content article ID, title, description, or content
1084            (optionally <code>null</code>). If the keywords value is not
1085            <code>null</code>, the search uses the OR operator in connecting
1086            query criteria; otherwise it uses the AND operator.
1087            * @param version the web content article's version (optionally
1088            <code>null</code>)
1089            * @param type the web content article's type (optionally
1090            <code>null</code>)
1091            * @param ddmStructureKey the primary key of the web content article's DDM
1092            structure, if the article is related to a DDM structure, or
1093            <code>null</code> otherwise
1094            * @param ddmTemplateKey the primary key of the web content article's DDM
1095            template (optionally <code>null</code>). If the article is
1096            related to a DDM structure, the template's structure must match
1097            it.
1098            * @param displayDateGT the date after which a matching web content
1099            article's display date must be after (optionally
1100            <code>null</code>)
1101            * @param displayDateLT the date before which a matching web content
1102            article's display date must be before (optionally
1103            <code>null</code>)
1104            * @param status the web content article's workflow status. For more
1105            information see {@link WorkflowConstants} for constants starting
1106            with the "STATUS_" prefix.
1107            * @param reviewDate the web content article's scheduled review date
1108            (optionally <code>null</code>)
1109            * @param start the lower bound of the range of web content articles to
1110            return
1111            * @param end the upper bound of the range of web content articles to
1112            return (not inclusive)
1113            * @param obc the comparator to order the web content articles
1114            * @return the range of matching web content articles ordered by the
1115            comparator
1116            * @throws SystemException if a system exception occurred
1117            */
1118            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1119            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1120                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1121                    long classNameId, java.lang.String keywords, java.lang.Double version,
1122                    java.lang.String type, java.lang.String ddmStructureKey,
1123                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1124                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1125                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
1126                    throws com.liferay.portal.kernel.exception.SystemException;
1127    
1128            /**
1129            * Returns an ordered range of all the web content articles matching the
1130            * parameters, including keyword parameters for article ID, title,
1131            * description, and content, a DDM structure key parameter, a DDM template
1132            * key parameter, and an AND operator switch.
1133            *
1134            * <p>
1135            * Useful when paginating results. Returns a maximum of <code>end -
1136            * start</code> instances. <code>start</code> and <code>end</code> are not
1137            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1138            * refers to the first result in the set. Setting both <code>start</code>
1139            * and <code>end</code> to {@link
1140            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1141            * result set.
1142            * </p>
1143            *
1144            * @param companyId the primary key of the web content article's company
1145            * @param groupId the primary key of the group (optionally <code>0</code>)
1146            * @param folderIds the primary keys of the web content article folders
1147            (optionally {@link java.util.Collections#EMPTY_LIST})
1148            * @param classNameId the primary key of the DDMStructure class if the web
1149            content article is related to a DDM structure, the primary key of
1150            the class name associated with the article, or {@link
1151            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1152            * @param articleId the article ID keywords (space separated, optionally
1153            <code>null</code>)
1154            * @param version the web content article's version (optionally
1155            <code>null</code>)
1156            * @param title the title keywords (space separated, optionally
1157            <code>null</code>)
1158            * @param description the description keywords (space separated, optionally
1159            <code>null</code>)
1160            * @param content the content keywords (space separated, optionally
1161            <code>null</code>)
1162            * @param type the web content article's type (optionally
1163            <code>null</code>)
1164            * @param ddmStructureKey the primary key of the web content article's DDM
1165            structure, if the article is related to a DDM structure, or
1166            <code>null</code> otherwise
1167            * @param ddmTemplateKey the primary key of the web content article's DDM
1168            template (optionally <code>null</code>). If the article is
1169            related to a DDM structure, the template's structure must match
1170            it.
1171            * @param displayDateGT the date after which a matching web content
1172            article's display date must be after (optionally
1173            <code>null</code>)
1174            * @param displayDateLT the date before which a matching web content
1175            article's display date must be before (optionally
1176            <code>null</code>)
1177            * @param status the web content article's workflow status. For more
1178            information see {@link WorkflowConstants} for constants starting
1179            with the "STATUS_" prefix.
1180            * @param reviewDate the web content article's scheduled review date
1181            (optionally <code>null</code>)
1182            * @param andOperator whether every field must match its value or keywords,
1183            or just one field must match. Company, group, folder IDs, class
1184            name ID, and status must all match their values.
1185            * @param start the lower bound of the range of web content articles to
1186            return
1187            * @param end the upper bound of the range of web content articles to
1188            return (not inclusive)
1189            * @param obc the comparator to order the web content articles
1190            * @return the range of matching web content articles ordered by the
1191            comparator
1192            * @throws SystemException if a system exception occurred
1193            */
1194            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1195            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1196                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1197                    long classNameId, java.lang.String articleId, java.lang.Double version,
1198                    java.lang.String title, java.lang.String description,
1199                    java.lang.String content, java.lang.String type,
1200                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1201                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1202                    java.util.Date reviewDate, boolean andOperator, int start, int end,
1203                    com.liferay.portal.kernel.util.OrderByComparator obc)
1204                    throws com.liferay.portal.kernel.exception.SystemException;
1205    
1206            /**
1207            * Returns an ordered range of all the web content articles matching the
1208            * parameters, including keyword parameters for article ID, title,
1209            * description, and content, a DDM structure keys (plural) parameter, a DDM
1210            * template keys (plural) parameter, and an AND operator switch.
1211            *
1212            * <p>
1213            * Useful when paginating results. Returns a maximum of <code>end -
1214            * start</code> instances. <code>start</code> and <code>end</code> are not
1215            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1216            * refers to the first result in the set. Setting both <code>start</code>
1217            * and <code>end</code> to {@link
1218            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1219            * result set.
1220            * </p>
1221            *
1222            * @param companyId the primary key of the web content article's company
1223            * @param groupId the primary key of the group (optionally <code>0</code>)
1224            * @param folderIds the primary keys of the web content article folders
1225            (optionally {@link java.util.Collections#EMPTY_LIST})
1226            * @param classNameId the primary key of the DDMStructure class if the web
1227            content article is related to a DDM structure, the primary key of
1228            the class name associated with the article, or {@link
1229            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1230            * @param articleId the article ID keywords (space separated, optionally
1231            <code>null</code>)
1232            * @param version the web content article's version (optionally
1233            <code>null</code>)
1234            * @param title the title keywords (space separated, optionally
1235            <code>null</code>)
1236            * @param description the description keywords (space separated, optionally
1237            <code>null</code>)
1238            * @param content the content keywords (space separated, optionally
1239            <code>null</code>)
1240            * @param type the web content article's type (optionally
1241            <code>null</code>)
1242            * @param ddmStructureKeys the primary keys of the web content article's
1243            DDM structures, if the article is related to a DDM structure, or
1244            <code>null</code> otherwise
1245            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1246            templates (originally <code>null</code>). If the articles are
1247            related to a DDM structure, the template's structure must match
1248            it.
1249            * @param displayDateGT the date after which a matching web content
1250            article's display date must be after (optionally
1251            <code>null</code>)
1252            * @param displayDateLT the date before which a matching web content
1253            article's display date must be before (optionally
1254            <code>null</code>)
1255            * @param status the web content article's workflow status. For more
1256            information see {@link WorkflowConstants} for constants starting
1257            with the "STATUS_" prefix.
1258            * @param reviewDate the web content article's scheduled review date
1259            (optionally <code>null</code>)
1260            * @param andOperator whether every field must match its value or keywords,
1261            or just one field must match.  Company, group, folder IDs, class
1262            name ID, and status must all match their values.
1263            * @param start the lower bound of the range of web content articles to
1264            return
1265            * @param end the upper bound of the range of web content articles to
1266            return (not inclusive)
1267            * @param obc the comparator to order the web content articles
1268            * @return the range of matching web content articles ordered by the
1269            comparator
1270            * @throws SystemException if a system exception occurred
1271            */
1272            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1273            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1274                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1275                    long classNameId, java.lang.String articleId, java.lang.Double version,
1276                    java.lang.String title, java.lang.String description,
1277                    java.lang.String content, java.lang.String type,
1278                    java.lang.String[] ddmStructureKeys,
1279                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1280                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1281                    boolean andOperator, int start, int end,
1282                    com.liferay.portal.kernel.util.OrderByComparator obc)
1283                    throws com.liferay.portal.kernel.exception.SystemException;
1284    
1285            /**
1286            * Returns the number of web content articles matching the parameters,
1287            * including a keywords parameter for matching with the article's ID, title,
1288            * description, and content, a DDM structure key parameter, and a DDM
1289            * template key parameter.
1290            *
1291            * @param companyId the primary key of the web content article's company
1292            * @param groupId the primary key of the group (optionally <code>0</code>)
1293            * @param folderIds the primary keys of the web content article folders
1294            (optionally {@link java.util.Collections#EMPTY_LIST})
1295            * @param classNameId the primary key of the DDMStructure class if the web
1296            content article is related to a DDM structure, the primary key of
1297            the class name associated with the article, or {@link
1298            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1299            * @param keywords the keywords (space separated), which may occur in the
1300            web content article ID, title, description, or content
1301            (optionally <code>null</code>). If the keywords value is not
1302            <code>null</code>, the search uses the OR operator in connecting
1303            query criteria; otherwise it uses the AND operator.
1304            * @param version the web content article's version (optionally
1305            <code>null</code>)
1306            * @param type the web content article's type (optionally
1307            <code>null</code>)
1308            * @param ddmStructureKey the primary key of the web content article's DDM
1309            structure, if the article is related to a DDM structure, or
1310            <code>null</code> otherwise
1311            * @param ddmTemplateKey the primary key of the web content article's DDM
1312            template (optionally <code>null</code>). If the article is
1313            related to a DDM structure, the template's structure must match
1314            it.
1315            * @param displayDateGT the date after which a matching web content
1316            article's display date must be after (optionally
1317            <code>null</code>)
1318            * @param displayDateLT the date before which a matching web content
1319            article's display date must be before (optionally
1320            <code>null</code>)
1321            * @param status the web content article's workflow status. For more
1322            information see {@link WorkflowConstants} for constants starting
1323            with the "STATUS_" prefix.
1324            * @param reviewDate the web content article's scheduled review date
1325            (optionally <code>null</code>)
1326            * @return the number of matching web content articles
1327            * @throws SystemException if a system exception occurred
1328            */
1329            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1330            public int searchCount(long companyId, long groupId,
1331                    java.util.List<java.lang.Long> folderIds, long classNameId,
1332                    java.lang.String keywords, java.lang.Double version,
1333                    java.lang.String type, java.lang.String ddmStructureKey,
1334                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1335                    java.util.Date displayDateLT, int status, java.util.Date reviewDate)
1336                    throws com.liferay.portal.kernel.exception.SystemException;
1337    
1338            /**
1339            * Returns the number of web content articles matching the parameters,
1340            * including keyword parameters for article ID, title, description, and
1341            * content, a DDM structure key parameter, a DDM template key parameter, and
1342            * an AND operator switch.
1343            *
1344            * @param companyId the primary key of the web content article's company
1345            * @param groupId the primary key of the group (optionally <code>0</code>)
1346            * @param folderIds the primary keys of the web content article folders
1347            (optionally {@link java.util.Collections#EMPTY_LIST})
1348            * @param classNameId the primary key of the DDMStructure class if the web
1349            content article is related to a DDM structure, the primary key of
1350            the class name associated with the article, or {@link
1351            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1352            * @param articleId the article ID keywords (space separated, optionally
1353            <code>null</code>)
1354            * @param version the web content article's version (optionally
1355            <code>null</code>)
1356            * @param title the title keywords (space separated, optionally
1357            <code>null</code>)
1358            * @param description the description keywords (space separated, optionally
1359            <code>null</code>)
1360            * @param content the content keywords (space separated, optionally
1361            <code>null</code>)
1362            * @param type the web content article's type (optionally
1363            <code>null</code>)
1364            * @param ddmStructureKey the primary key of the web content article's DDM
1365            structure, if the article is related to a DDM structure, or
1366            <code>null</code> otherwise
1367            * @param ddmTemplateKey the primary key of the web content article's DDM
1368            template (optionally <code>null</code>). If the article is
1369            related to a DDM structure, the template's structure must match
1370            it.
1371            * @param displayDateGT the date after which a matching web content
1372            article's display date must be after (optionally
1373            <code>null</code>)
1374            * @param displayDateLT the date before which a matching web content
1375            article's display date must be before (optionally
1376            <code>null</code>)
1377            * @param status the web content article's workflow status. For more
1378            information see {@link WorkflowConstants} for constants starting
1379            with the "STATUS_" prefix.
1380            * @param reviewDate the web content article's scheduled review date
1381            (optionally <code>null</code>)
1382            * @param andOperator whether every field must match its value or keywords,
1383            or just one field must match. Group, folder IDs, class name ID,
1384            and status must all match their values.
1385            * @return the number of matching web content articles
1386            * @throws SystemException if a system exception occurred
1387            */
1388            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1389            public int searchCount(long companyId, long groupId,
1390                    java.util.List<java.lang.Long> folderIds, long classNameId,
1391                    java.lang.String articleId, java.lang.Double version,
1392                    java.lang.String title, java.lang.String description,
1393                    java.lang.String content, java.lang.String type,
1394                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1395                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1396                    java.util.Date reviewDate, boolean andOperator)
1397                    throws com.liferay.portal.kernel.exception.SystemException;
1398    
1399            /**
1400            * Returns the number of web content articles matching the parameters,
1401            * including keyword parameters for article ID, title, description, and
1402            * content, a DDM structure keys (plural) parameter, a DDM template keys
1403            * (plural) parameter, and an AND operator switch.
1404            *
1405            * @param companyId the primary key of the web content article's company
1406            * @param groupId the primary key of the group (optionally <code>0</code>)
1407            * @param folderIds the primary keys of the web content article folders
1408            (optionally {@link java.util.Collections#EMPTY_LIST})
1409            * @param classNameId the primary key of the DDMStructure class if the web
1410            content article is related to a DDM structure, the primary key of
1411            the class name associated with the article, or {@link
1412            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1413            * @param articleId the article ID keywords (space separated, optionally
1414            <code>null</code>)
1415            * @param version the web content article's version (optionally
1416            <code>null</code>)
1417            * @param title the title keywords (space separated, optionally
1418            <code>null</code>)
1419            * @param description the description keywords (space separated, optionally
1420            <code>null</code>)
1421            * @param content the content keywords (space separated, optionally
1422            <code>null</code>)
1423            * @param type the web content article's type (optionally
1424            <code>null</code>)
1425            * @param ddmStructureKeys the primary keys of the web content article's
1426            DDM structures, if the article is related to a DDM structure, or
1427            <code>null</code> otherwise
1428            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1429            templates (originally <code>null</code>). If the articles are
1430            related to a DDM structure, the template's structure must match
1431            it.
1432            * @param displayDateGT the date after which a matching web content
1433            article's display date must be after (optionally
1434            <code>null</code>)
1435            * @param displayDateLT the date before which a matching web content
1436            article's display date must be before (optionally
1437            <code>null</code>)
1438            * @param status the web content article's workflow status. For more
1439            information see {@link WorkflowConstants} for constants starting
1440            with the "STATUS_" prefix.
1441            * @param reviewDate the web content article's scheduled review date
1442            (optionally <code>null</code>)
1443            * @param andOperator whether every field must match its value or keywords,
1444            or just one field must match.  Group, folder IDs, class name ID,
1445            and status must all match their values.
1446            * @return the number of matching web content articles
1447            * @throws SystemException if a system exception occurred
1448            */
1449            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1450            public int searchCount(long companyId, long groupId,
1451                    java.util.List<java.lang.Long> folderIds, long classNameId,
1452                    java.lang.String articleId, java.lang.Double version,
1453                    java.lang.String title, java.lang.String description,
1454                    java.lang.String content, java.lang.String type,
1455                    java.lang.String[] ddmStructureKeys,
1456                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1457                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1458                    boolean andOperator)
1459                    throws com.liferay.portal.kernel.exception.SystemException;
1460    
1461            /**
1462            * Subscribes the user to notifications for the web content article matching
1463            * the group, notifying him the instant versions of the article are created,
1464            * deleted, or modified.
1465            *
1466            * @param groupId the primary key of the group
1467            * @throws PortalException if the user did not have permission to subscribe
1468            to the web content article or if a matching user or group could
1469            not be found
1470            * @throws SystemException if a system exception occurred
1471            */
1472            public void subscribe(long groupId)
1473                    throws com.liferay.portal.kernel.exception.PortalException,
1474                            com.liferay.portal.kernel.exception.SystemException;
1475    
1476            /**
1477            * Unsubscribes the user from notifications for the web content article
1478            * matching the group.
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 subscription
1483            could not be found
1484            * @throws SystemException if a system exception occurred
1485            */
1486            public void unsubscribe(long groupId)
1487                    throws com.liferay.portal.kernel.exception.PortalException,
1488                            com.liferay.portal.kernel.exception.SystemException;
1489    
1490            /**
1491            * Updates the web content article matching the version, replacing its
1492            * folder, title, description, content, and layout UUID.
1493            *
1494            * @param userId the primary key of the user updating the web content
1495            article
1496            * @param groupId the primary key of the web content article's group
1497            * @param folderId the primary key of the web content article folder
1498            * @param articleId the primary key of the web content article
1499            * @param version the web content article's version
1500            * @param titleMap the web content article's locales and localized titles
1501            * @param descriptionMap the web content article's locales and localized
1502            descriptions
1503            * @param content the HTML content wrapped in XML. For more information,
1504            see the content example in the class description for {@link
1505            JournalArticleLocalServiceImpl}.
1506            * @param layoutUuid the unique string identifying the web content
1507            article's display page
1508            * @param serviceContext the service context to be applied. Can set the
1509            modification date, expando bridge attributes, asset category IDs,
1510            asset tag names, asset link entry IDs, workflow actions, the
1511            "defaultLanguageId" and "urlTitle" attributes, and can set
1512            whether to add the default command update for the web content
1513            article. With respect to social activities, by setting the
1514            service context's command to {@link
1515            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1516            is considered a web content update activity; otherwise it is
1517            considered a web content add activity.
1518            * @return the updated web content article
1519            * @throws PortalException if a user with the primary key or a matching web
1520            content article could not be found, or if a portal exception
1521            occurred
1522            * @throws SystemException if a system exception occurred
1523            */
1524            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1525                    long userId, long groupId, long folderId, java.lang.String articleId,
1526                    double version,
1527                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1528                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1529                    java.lang.String content, java.lang.String layoutUuid,
1530                    com.liferay.portal.service.ServiceContext serviceContext)
1531                    throws com.liferay.portal.kernel.exception.PortalException,
1532                            com.liferay.portal.kernel.exception.SystemException;
1533    
1534            /**
1535            * Updates the web content article with additional parameters.
1536            *
1537            * @param groupId the primary key of the web content article's group
1538            * @param folderId the primary key of the web content article folder
1539            * @param articleId the primary key of the web content article
1540            * @param version the web content article's version
1541            * @param titleMap the web content article's locales and localized titles
1542            * @param descriptionMap the web content article's locales and localized
1543            descriptions
1544            * @param content the HTML content wrapped in XML. For more information,
1545            see the content example in the class description for {@link
1546            JournalArticleLocalServiceImpl}.
1547            * @param type the structure's type, if the web content article is related
1548            to a DDM structure. For more information, see {@link
1549            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
1550            * @param ddmStructureKey the primary key of the web content article's DDM
1551            structure, if the article is related to a DDM structure, or
1552            <code>null</code> otherwise
1553            * @param ddmTemplateKey the primary key of the web content article's DDM
1554            template (optionally <code>null</code>). If the article is
1555            related to a DDM structure, the template's structure must match
1556            it.
1557            * @param layoutUuid the unique string identifying the web content
1558            article's display page
1559            * @param displayDateMonth the month the web content article is set to
1560            display
1561            * @param displayDateDay the calendar day the web content article is set to
1562            display
1563            * @param displayDateYear the year the web content article is set to
1564            display
1565            * @param displayDateHour the hour the web content article is set to
1566            display
1567            * @param displayDateMinute the minute the web content article is set to
1568            display
1569            * @param expirationDateMonth the month the web content article is set to
1570            expire
1571            * @param expirationDateDay the calendar day the web content article is set
1572            to expire
1573            * @param expirationDateYear the year the web content article is set to
1574            expire
1575            * @param expirationDateHour the hour the web content article is set to
1576            expire
1577            * @param expirationDateMinute the minute the web content article is set to
1578            expire
1579            * @param neverExpire whether the web content article is not set to auto
1580            expire
1581            * @param reviewDateMonth the month the web content article is set for
1582            review
1583            * @param reviewDateDay the calendar day the web content article is set for
1584            review
1585            * @param reviewDateYear the year the web content article is set for review
1586            * @param reviewDateHour the hour the web content article is set for review
1587            * @param reviewDateMinute the minute the web content article is set for
1588            review
1589            * @param neverReview whether the web content article is not set for review
1590            * @param indexable whether the web content is searchable
1591            * @param smallImage whether to update web content article's a small image.
1592            A file must be passed in as <code>smallImageFile</code> value,
1593            otherwise the current small image is deleted.
1594            * @param smallImageURL the web content article's small image URL
1595            (optionally <code>null</code>)
1596            * @param smallFile the web content article's new small image file
1597            (optionally <code>null</code>). Must pass in
1598            <code>smallImage</code> value of <code>true</code> to replace the
1599            article's small image file.
1600            * @param images the web content's images (optionally <code>null</code>)
1601            * @param articleURL the web content article's accessible URL (optionally
1602            <code>null</code>)
1603            * @param serviceContext the service context to be applied. Can set the
1604            modification date, expando bridge attributes, asset category IDs,
1605            asset tag names, asset link entry IDs, workflow actions, the
1606            "defaultLanguageId" and "urlTitle" attributes, and can set
1607            whether to add the default command update for the web content
1608            article. With respect to social activities, by setting the
1609            service context's command to {@link
1610            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1611            is considered a web content update activity; otherwise it is
1612            considered a web content add activity.
1613            * @return the updated web content article
1614            * @throws PortalException if the user did not have permission to update the
1615            web content article, if a user with the primary key or a matching
1616            web content article could not be found, or if a portal exception
1617            occurred
1618            * @throws SystemException if a system exception occurred
1619            */
1620            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1621                    long groupId, long folderId, java.lang.String articleId,
1622                    double version,
1623                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1624                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1625                    java.lang.String content, java.lang.String type,
1626                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1627                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
1628                    int displayDateYear, int displayDateHour, int displayDateMinute,
1629                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
1630                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
1631                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
1632                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
1633                    boolean indexable, boolean smallImage, java.lang.String smallImageURL,
1634                    java.io.File smallFile, java.util.Map<java.lang.String, byte[]> images,
1635                    java.lang.String articleURL,
1636                    com.liferay.portal.service.ServiceContext serviceContext)
1637                    throws com.liferay.portal.kernel.exception.PortalException,
1638                            com.liferay.portal.kernel.exception.SystemException;
1639    
1640            /**
1641            * Updates the web content article matching the version, replacing its
1642            * folder and content.
1643            *
1644            * @param groupId the primary key of the web content article's group
1645            * @param folderId the primary key of the web content article folder
1646            * @param articleId the primary key of the web content article
1647            * @param version the web content article's version
1648            * @param content the HTML content wrapped in XML. For more information,
1649            see the content example in the class description for {@link
1650            JournalArticleLocalServiceImpl}.
1651            * @param serviceContext the service context to be applied. Can set the
1652            modification date, expando bridge attributes, asset category IDs,
1653            asset tag names, asset link entry IDs, workflow actions, the
1654            "defaultLanguageId" and "urlTitle" attributes, and can set
1655            whether to add the default command update for the web content
1656            article. With respect to social activities, by setting the
1657            service context's command to {@link
1658            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1659            is considered a web content update activity; otherwise it is
1660            considered a web content add activity.
1661            * @return the updated web content article
1662            * @throws PortalException if the user did not have permission to update the
1663            web content article, if a user with the primary key or a matching
1664            web content article could not be found, or if a portal exception
1665            occurred
1666            * @throws SystemException if a system exception occurred
1667            */
1668            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1669                    long groupId, long folderId, java.lang.String articleId,
1670                    double version, java.lang.String content,
1671                    com.liferay.portal.service.ServiceContext serviceContext)
1672                    throws com.liferay.portal.kernel.exception.PortalException,
1673                            com.liferay.portal.kernel.exception.SystemException;
1674    
1675            /**
1676            * @deprecated As of 6.2.0, replaced by {@link
1677            #updateArticleTranslation(long, String, double, Locale,
1678            String, String, String, Map, ServiceContext)}
1679            */
1680            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
1681                    long groupId, java.lang.String articleId, double version,
1682                    java.util.Locale locale, java.lang.String title,
1683                    java.lang.String description, java.lang.String content,
1684                    java.util.Map<java.lang.String, byte[]> images)
1685                    throws com.liferay.portal.kernel.exception.PortalException,
1686                            com.liferay.portal.kernel.exception.SystemException;
1687    
1688            /**
1689            * Updates the translation of the web content article.
1690            *
1691            * @param groupId the primary key of the web content article's group
1692            * @param articleId the primary key of the web content article
1693            * @param version the web content article's version
1694            * @param locale the locale of the web content article's display template
1695            * @param title the translated web content article title
1696            * @param description the translated web content article description
1697            * @param content the HTML content wrapped in XML. For more information,
1698            see the content example in the class description for {@link
1699            JournalArticleLocalServiceImpl}.
1700            * @param images the web content's images
1701            * @param serviceContext the service context to be applied. Can set the
1702            modification date and "urlTitle" attribute for the web content
1703            article.
1704            * @return the updated web content article
1705            * @throws PortalException if the user did not have permission to update the
1706            web content article, if a user with the primary key or a matching
1707            web content article could not be found, or if a portal exception
1708            occurred
1709            * @throws SystemException if a system exception occurred
1710            */
1711            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
1712                    long groupId, java.lang.String articleId, double version,
1713                    java.util.Locale locale, java.lang.String title,
1714                    java.lang.String description, java.lang.String content,
1715                    java.util.Map<java.lang.String, byte[]> images,
1716                    com.liferay.portal.service.ServiceContext serviceContext)
1717                    throws com.liferay.portal.kernel.exception.PortalException,
1718                            com.liferay.portal.kernel.exception.SystemException;
1719    
1720            /**
1721            * Updates the web content article matching the group, article ID, and
1722            * version, replacing its content.
1723            *
1724            * @param groupId the primary key of the web content article's group
1725            * @param articleId the primary key of the web content article
1726            * @param version the web content article's version
1727            * @param content the HTML content wrapped in XML. For more information,
1728            see the content example in the class description for {@link
1729            JournalArticleLocalServiceImpl}.
1730            * @return the updated web content article
1731            * @throws PortalException if the user did not have permission to update the
1732            web content article or if a matching web content article could
1733            not be found
1734            * @throws SystemException if a system exception occurred
1735            */
1736            public com.liferay.portlet.journal.model.JournalArticle updateContent(
1737                    long groupId, java.lang.String articleId, double version,
1738                    java.lang.String content)
1739                    throws com.liferay.portal.kernel.exception.PortalException,
1740                            com.liferay.portal.kernel.exception.SystemException;
1741    
1742            /**
1743            * Updates the workflow status of the web content article matching the
1744            * group, article ID, and version.
1745            *
1746            * @param groupId the primary key of the web content article's group
1747            * @param articleId the primary key of the web content article
1748            * @param version the web content article's version
1749            * @param status the web content article's workflow status. For more
1750            information see {@link WorkflowConstants} for constants starting
1751            with the "STATUS_" prefix.
1752            * @param articleURL the web content article's accessible URL
1753            * @param serviceContext the service context to be applied. Can set the
1754            modification date, portlet preferences, and can set whether to
1755            add the default command update for the web content article.
1756            * @return the updated web content article
1757            * @throws PortalException if the user did not have permission to update the
1758            web content article, if a matching web content article could not
1759            be found, or if a portal exception occurred
1760            * @throws SystemException if a system exception occurred
1761            */
1762            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
1763                    long groupId, java.lang.String articleId, double version, int status,
1764                    java.lang.String articleURL,
1765                    com.liferay.portal.service.ServiceContext serviceContext)
1766                    throws com.liferay.portal.kernel.exception.PortalException,
1767                            com.liferay.portal.kernel.exception.SystemException;
1768    }