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