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.security.access.control.AccessControlled;
023    import com.liferay.portal.kernel.transaction.Isolation;
024    import com.liferay.portal.kernel.transaction.Propagation;
025    import com.liferay.portal.kernel.transaction.Transactional;
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
071            * @param ddmStructureKey the primary key of the web content article's DDM
072            structure, if the article is related to a DDM structure, or
073            <code>null</code> otherwise
074            * @param ddmTemplateKey the primary key of the web content article's DDM
075            template
076            * @param layoutUuid the unique string identifying the web content
077            article's display page
078            * @param displayDateMonth the month the web content article is set to
079            display
080            * @param displayDateDay the calendar day the web content article is set to
081            display
082            * @param displayDateYear the year the web content article is set to
083            display
084            * @param displayDateHour the hour the web content article is set to
085            display
086            * @param displayDateMinute the minute the web content article is set to
087            display
088            * @param expirationDateMonth the month the web content article is set to
089            expire
090            * @param expirationDateDay the calendar day the web content article is set
091            to expire
092            * @param expirationDateYear the year the web content article is set to
093            expire
094            * @param expirationDateHour the hour the web content article is set to
095            expire
096            * @param expirationDateMinute the minute the web content article is set to
097            expire
098            * @param neverExpire whether the web content article is not set to auto
099            expire
100            * @param reviewDateMonth the month the web content article is set for
101            review
102            * @param reviewDateDay the calendar day the web content article is set for
103            review
104            * @param reviewDateYear the year the web content article is set for review
105            * @param reviewDateHour the hour the web content article is set for review
106            * @param reviewDateMinute the minute the web content article is set for
107            review
108            * @param neverReview whether the web content article is not set for review
109            * @param indexable whether the web content article is searchable
110            * @param articleURL the web content article's accessible URL
111            * @param serviceContext the service context to be applied. Can set the
112            UUID, creation date, modification date, expando bridge
113            attributes, guest permissions, group permissions, asset category
114            IDs, asset tag names, asset link entry IDs, URL title, and
115            workflow actions for the web content article. Can also set
116            whether to add the default guest and group permissions.
117            * @return the web content article
118            * @throws PortalException if the user did not have permission to add the
119            web content article or if a portal exception occurred
120            */
121            public com.liferay.portlet.journal.model.JournalArticle addArticle(
122                    long groupId, long folderId, long classNameId, long classPK,
123                    java.lang.String articleId, boolean autoArticleId,
124                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
125                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
126                    java.lang.String content, java.lang.String ddmStructureKey,
127                    java.lang.String ddmTemplateKey, java.lang.String layoutUuid,
128                    int displayDateMonth, int displayDateDay, int displayDateYear,
129                    int displayDateHour, int displayDateMinute, int expirationDateMonth,
130                    int expirationDateDay, int expirationDateYear, int expirationDateHour,
131                    int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
132                    int reviewDateDay, int reviewDateYear, int reviewDateHour,
133                    int reviewDateMinute, boolean neverReview, boolean indexable,
134                    java.lang.String articleURL,
135                    com.liferay.portal.service.ServiceContext serviceContext)
136                    throws PortalException;
137    
138            /**
139            * Adds a web content article with additional parameters.
140            *
141            * @param groupId the primary key of the web content article's group
142            * @param folderId the primary key of the web content article folder
143            * @param classNameId the primary key of the DDMStructure class if the web
144            content article is related to a DDM structure, the primary key of
145            the class name associated with the article, or {@link
146            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
147            * @param classPK the primary key of the DDM structure, if the primary key
148            of the DDMStructure class is given as the
149            <code>classNameId</code> parameter, the primary key of the class
150            associated with the web content article, or <code>0</code>
151            otherwise
152            * @param articleId the primary key of the web content article
153            * @param autoArticleId whether to auto generate the web content article ID
154            * @param titleMap the web content article's locales and localized titles
155            * @param descriptionMap the web content article's locales and localized
156            descriptions
157            * @param content the HTML content wrapped in XML. For more information,
158            see the content example in the {@link #updateArticle(long, long,
159            String, double, String, ServiceContext)} description.
160            * @param ddmStructureKey the primary key of the web content article's DDM
161            structure, if the article is related to a DDM structure, or
162            <code>null</code> otherwise
163            * @param ddmTemplateKey the primary key of the web content article's DDM
164            template
165            * @param layoutUuid the unique string identifying the web content
166            article's display page
167            * @param displayDateMonth the month the web content article is set to
168            display
169            * @param displayDateDay the calendar day the web content article is set to
170            display
171            * @param displayDateYear the year the web content article is set to
172            display
173            * @param displayDateHour the hour the web content article is set to
174            display
175            * @param displayDateMinute the minute the web content article is set to
176            display
177            * @param expirationDateMonth the month the web content article is set to
178            expire
179            * @param expirationDateDay the calendar day the web content article is set
180            to expire
181            * @param expirationDateYear the year the web content article is set to
182            expire
183            * @param expirationDateHour the hour the web content article is set to
184            expire
185            * @param expirationDateMinute the minute the web content article is set to
186            expire
187            * @param neverExpire whether the web content article is not set to auto
188            expire
189            * @param reviewDateMonth the month the web content article is set for
190            review
191            * @param reviewDateDay the calendar day the web content article is set for
192            review
193            * @param reviewDateYear the year the web content article is set for review
194            * @param reviewDateHour the hour the web content article is set for review
195            * @param reviewDateMinute the minute the web content article is set for
196            review
197            * @param neverReview whether the web content article is not set for review
198            * @param indexable whether the web content article is searchable
199            * @param smallImage whether the web content article has a small image
200            * @param smallImageURL the web content article's small image URL
201            * @param smallFile the web content article's small image file
202            * @param images the web content's images
203            * @param articleURL the web content article's accessible URL
204            * @param serviceContext the service context to be applied. Can set the
205            UUID, creation date, modification date, expando bridge
206            attributes, guest permissions, group permissions, asset category
207            IDs, asset tag names, asset link entry IDs, URL title, and
208            workflow actions for the web content article. Can also set
209            whether to add the default guest and group permissions.
210            * @return the web content article
211            * @throws PortalException if the user did not have permission to add the
212            web content article or if a portal exception occurred
213            */
214            public com.liferay.portlet.journal.model.JournalArticle addArticle(
215                    long groupId, long folderId, long classNameId, long classPK,
216                    java.lang.String articleId, boolean autoArticleId,
217                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
218                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
219                    java.lang.String content, java.lang.String ddmStructureKey,
220                    java.lang.String ddmTemplateKey, java.lang.String layoutUuid,
221                    int displayDateMonth, int displayDateDay, int displayDateYear,
222                    int displayDateHour, int displayDateMinute, int expirationDateMonth,
223                    int expirationDateDay, int expirationDateYear, int expirationDateHour,
224                    int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
225                    int reviewDateDay, int reviewDateYear, int reviewDateHour,
226                    int reviewDateMinute, boolean neverReview, boolean indexable,
227                    boolean smallImage, java.lang.String smallImageURL,
228                    java.io.File smallFile, java.util.Map<java.lang.String, byte[]> images,
229                    java.lang.String articleURL,
230                    com.liferay.portal.service.ServiceContext serviceContext)
231                    throws PortalException;
232    
233            /**
234            * Copies the web content article matching the group, article ID, and
235            * version. This method creates a new article, extracting all the values
236            * from the old one and updating its article ID.
237            *
238            * @param groupId the primary key of the web content article's group
239            * @param oldArticleId the primary key of the old web content article
240            * @param newArticleId the primary key of the new web content article
241            * @param autoArticleId whether to auto-generate the web content article ID
242            * @param version the web content article's version
243            * @return the new web content article
244            * @throws PortalException if the user did not have permission to add the
245            copy the web content article, if a matching web content article
246            could not be found, or if a portal exception occurred
247            */
248            public com.liferay.portlet.journal.model.JournalArticle copyArticle(
249                    long groupId, java.lang.String oldArticleId,
250                    java.lang.String newArticleId, boolean autoArticleId, double version)
251                    throws PortalException;
252    
253            /**
254            * Deletes all web content articles and their resources matching the group
255            * and article ID, optionally sending email notifying denial of article if
256            * it had not yet been approved.
257            *
258            * @param groupId the primary key of the web content article's group
259            * @param articleId the primary key of the web content article
260            * @param articleURL the web content article's accessible URL
261            * @param serviceContext the service context to be applied. Can set the
262            portlet preferences that include email information to notify
263            recipients of the unapproved web content article's denial.
264            * @throws PortalException if the user did not have permission to delete the
265            web content article or if a portal exception occurred
266            */
267            public void deleteArticle(long groupId, java.lang.String articleId,
268                    java.lang.String articleURL,
269                    com.liferay.portal.service.ServiceContext serviceContext)
270                    throws PortalException;
271    
272            /**
273            * Deletes the web content article and its resources matching the group,
274            * article ID, and version, optionally sending email notifying denial of the
275            * web content article if it had not yet been approved.
276            *
277            * @param groupId the primary key of the web content article's group
278            * @param articleId the primary key of the web content article
279            * @param version the web content article's version
280            * @param articleURL the web content article's accessible URL
281            * @param serviceContext the service context to be applied. Can set the
282            portlet preferences that include email information to notify
283            recipients of the unapproved web content article's denial.
284            * @throws PortalException if the user did not have permission to delete the
285            web content article, if a matching web content article could not
286            be found, or if a portal exception occurred
287            */
288            public void deleteArticle(long groupId, java.lang.String articleId,
289                    double version, java.lang.String articleURL,
290                    com.liferay.portal.service.ServiceContext serviceContext)
291                    throws PortalException;
292    
293            /**
294            * Expires the web content article matching the group and article ID,
295            * expiring all of its versions if the
296            * <code>journal.article.expire.all.versions</code> portal property is
297            * <code>true</code>, otherwise expiring only its latest approved version.
298            *
299            * @param groupId the primary key of the web content article's group
300            * @param articleId the primary key of the web content article
301            * @param articleURL the web content article's accessible URL
302            * @param serviceContext the service context to be applied. Can set the
303            modification date, status date, portlet preferences, and can set
304            whether to add the default command update for the web content
305            article. With respect to social activities, by setting the
306            service context's command to {@link
307            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
308            is considered a web content update activity; otherwise it is
309            considered a web content add activity.
310            * @throws PortalException if the user did not have permission to expire the
311            web content article, if a matching web content article could not
312            be found, or if a portal exception occurred
313            */
314            public void expireArticle(long groupId, java.lang.String articleId,
315                    java.lang.String articleURL,
316                    com.liferay.portal.service.ServiceContext serviceContext)
317                    throws PortalException;
318    
319            /**
320            * Expires the web content article matching the group, article ID, and
321            * version.
322            *
323            * @param groupId the primary key of the web content article's group
324            * @param articleId the primary key of the web content article
325            * @param version the web content article's version
326            * @param articleURL the web content article's accessible URL
327            * @param serviceContext the service context to be applied. Can set the
328            modification date, status date, portlet preferences, and can set
329            whether to add the default command update for the web content
330            article. With respect to social activities, by setting the
331            service context's command to {@link
332            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
333            is considered a web content update activity; otherwise it is
334            considered a web content add activity.
335            * @return the web content article
336            * @throws PortalException if the user did not have permission to expire the
337            web content article, if a matching web content article could not
338            be found, or if a portal exception occurred
339            */
340            public com.liferay.portlet.journal.model.JournalArticle expireArticle(
341                    long groupId, java.lang.String articleId, double version,
342                    java.lang.String articleURL,
343                    com.liferay.portal.service.ServiceContext serviceContext)
344                    throws PortalException;
345    
346            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
347            public com.liferay.portlet.journal.model.JournalArticle fetchArticle(
348                    long groupId, java.lang.String articleId) throws PortalException;
349    
350            /**
351            * Returns the latest approved web content article, or the latest unapproved
352            * article if none are approved. Both approved and unapproved articles must
353            * match the group and article ID.
354            *
355            * @param groupId the primary key of the web content article's group
356            * @param articleId the primary key of the web content article
357            * @return the matching web content article
358            * @throws PortalException if the user did not have permission to view the
359            web content article or if a matching web content article could
360            not be found
361            */
362            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
363            public com.liferay.portlet.journal.model.JournalArticle getArticle(
364                    long groupId, java.lang.String articleId) throws PortalException;
365    
366            /**
367            * Returns the web content article matching the group, article ID, and
368            * version.
369            *
370            * @param groupId the primary key of the web content article's group
371            * @param articleId the primary key of the web content article
372            * @param version the web content article's version
373            * @return the matching web content article
374            * @throws PortalException if the user did not have permission to view the
375            web content article or if a matching web content article could
376            not be found
377            */
378            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
379            public com.liferay.portlet.journal.model.JournalArticle getArticle(
380                    long groupId, java.lang.String articleId, double version)
381                    throws PortalException;
382    
383            /**
384            * Returns the web content article matching the group, class name, and class
385            * PK.
386            *
387            * @param groupId the primary key of the web content article's group
388            * @param className the DDMStructure class name if the web content article
389            is related to a DDM structure, the primary key of the class name
390            associated with the article, or {@link
391            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
392            * @param classPK the primary key of the DDM structure, if the the
393            DDMStructure class name is given as the <code>className</code>
394            parameter, the primary key of the class associated with the web
395            content article, or <code>0</code> otherwise
396            * @return the matching web content article
397            * @throws PortalException if a matching web content article could not be
398            found or if the user did not have permission to view the web
399            content article
400            */
401            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
402            public com.liferay.portlet.journal.model.JournalArticle getArticle(
403                    long groupId, java.lang.String className, long classPK)
404                    throws PortalException;
405    
406            /**
407            * Returns the web content article with the ID.
408            *
409            * @param id the primary key of the web content article
410            * @return the web content article with the ID
411            * @throws PortalException if a matching web content article could not be
412            found or if the user did not have permission to view the web
413            content article
414            */
415            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
416            public com.liferay.portlet.journal.model.JournalArticle getArticle(long id)
417                    throws PortalException;
418    
419            /**
420            * Returns the latest web content article that is approved, or the latest
421            * unapproved article if none are approved. Both approved and unapproved
422            * articles must match the group and URL title.
423            *
424            * @param groupId the primary key of the web content article's group
425            * @param urlTitle the web content article's accessible URL title
426            * @return the matching web content article
427            * @throws PortalException if the user did not have permission to view the
428            web content article or if a portal exception occurred
429            */
430            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
431            public com.liferay.portlet.journal.model.JournalArticle getArticleByUrlTitle(
432                    long groupId, java.lang.String urlTitle) throws 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 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 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 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 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) throws PortalException;
766    
767            /**
768            * Returns the number of folders containing web content articles belonging
769            * to the group.
770            *
771            * @param groupId the primary key of the web content article's group
772            * @param folderIds the primary keys of the web content article folders
773            (optionally {@link java.util.Collections#EMPTY_LIST})
774            * @return the number of matching folders containing web content articles
775            */
776            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
777            public int getFoldersAndArticlesCount(long groupId,
778                    java.util.List<java.lang.Long> folderIds);
779    
780            /**
781            * Returns an ordered range of all the web content articles matching the
782            * group, user, the root folder or any of its subfolders.
783            *
784            * <p>
785            * Useful when paginating results. Returns a maximum of <code>end -
786            * start</code> instances. <code>start</code> and <code>end</code> are not
787            * primary keys, they are indexes in the result set. Thus, <code>0</code>
788            * refers to the first result in the set. Setting both <code>start</code>
789            * and <code>end</code> to {@link
790            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
791            * result set.
792            * </p>
793            *
794            * @param groupId the primary key of the web content article's group
795            * @param userId the primary key of the user (optionally <code>0</code>)
796            * @param rootFolderId the primary key of the root folder to begin the
797            search
798            * @param start the lower bound of the range of web content articles to
799            return
800            * @param end the upper bound of the range of web content articles to
801            return (not inclusive)
802            * @param orderByComparator the comparator to order the web content
803            articles
804            * @return the range of matching web content articles ordered by the
805            comparator
806            * @throws PortalException if the root folder could not be found, if the
807            current user did not have permission to view the root folder, or
808            if a portal exception occurred
809            */
810            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
811            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getGroupArticles(
812                    long groupId, long userId, long rootFolderId, int start, int end,
813                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.journal.model.JournalArticle> orderByComparator)
814                    throws PortalException;
815    
816            /**
817            * Returns an ordered range of all the web content articles matching the
818            * group, user, the root folder or any of its subfolders.
819            *
820            * <p>
821            * Useful when paginating results. Returns a maximum of <code>end -
822            * start</code> instances. <code>start</code> and <code>end</code> are not
823            * primary keys, they are indexes in the result set. Thus, <code>0</code>
824            * refers to the first result in the set. Setting both <code>start</code>
825            * and <code>end</code> to {@link
826            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
827            * result set.
828            * </p>
829            *
830            * @param groupId the primary key of the web content article's group
831            * @param userId the primary key of the user (optionally <code>0</code>)
832            * @param rootFolderId the primary key of the root folder to begin the
833            search
834            * @param status the web content article's workflow status. For more
835            information see {@link WorkflowConstants} for constants starting
836            with the "STATUS_" prefix.
837            * @param start the lower bound of the range of web content articles to
838            return
839            * @param end the upper bound of the range of web content articles to
840            return (not inclusive)
841            * @param orderByComparator the comparator to order the web content
842            articles
843            * @return the range of matching web content articles ordered by the
844            comparator
845            * @throws PortalException if a portal exception occurred
846            */
847            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
848            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getGroupArticles(
849                    long groupId, long userId, long rootFolderId, int status, int start,
850                    int end,
851                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.journal.model.JournalArticle> orderByComparator)
852                    throws PortalException;
853    
854            /**
855            * Returns the number of web content articles matching the group, user, and
856            * the root folder or any of its subfolders.
857            *
858            * @param groupId the primary key of the web content article's group
859            * @param userId the primary key of the user (optionally <code>0</code>)
860            * @param rootFolderId the primary key of the root folder to begin the
861            search
862            * @return the number of matching web content articles
863            * @throws PortalException if the root folder could not be found, if the
864            current user did not have permission to view the root folder, or
865            if a portal exception occurred
866            */
867            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
868            public int getGroupArticlesCount(long groupId, long userId,
869                    long rootFolderId) throws PortalException;
870    
871            /**
872            * Returns the number of web content articles matching the group, user, and
873            * the root folder or any of its subfolders.
874            *
875            * @param groupId the primary key of the web content article's group
876            * @param userId the primary key of the user (optionally <code>0</code>)
877            * @param rootFolderId the primary key of the root folder to begin the
878            search
879            * @param status the web content article's workflow status. For more
880            information see {@link WorkflowConstants} for constants starting
881            with the "STATUS_" prefix.
882            * @return the number of matching web content articles
883            * @throws PortalException if a portal exception occurred
884            */
885            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
886            public int getGroupArticlesCount(long groupId, long userId,
887                    long rootFolderId, int status) throws PortalException;
888    
889            /**
890            * Returns the latest web content article matching the group, article ID,
891            * and workflow status.
892            *
893            * @param groupId the primary key of the web content article's group
894            * @param articleId the primary key of the web content article
895            * @param status the web content article's workflow status. For more
896            information see {@link WorkflowConstants} for constants starting
897            with the "STATUS_" prefix.
898            * @return the latest matching web content article
899            * @throws PortalException if the user did not have permission to view the
900            web content article or if a matching web content article could
901            not be found
902            */
903            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
904            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
905                    long groupId, java.lang.String articleId, int status)
906                    throws PortalException;
907    
908            /**
909            * Returns the latest web content article matching the group, class name ID,
910            * and class PK.
911            *
912            * @param groupId the primary key of the web content article's group
913            * @param className the DDMStructure class name if the web content article
914            is related to a DDM structure, the class name associated with the
915            article, or {@link JournalArticleConstants#CLASSNAME_ID_DEFAULT}
916            otherwise
917            * @param classPK the primary key of the DDM structure, if the DDMStructure
918            class name is given as the <code>className</code> parameter, the
919            primary key of the class associated with the web content article,
920            or <code>0</code> otherwise
921            * @return the latest matching web content article
922            * @throws PortalException if a matching web content article could not be
923            found or if the user did not have permission to view the web
924            content article
925            */
926            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
927            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
928                    long groupId, java.lang.String className, long classPK)
929                    throws PortalException;
930    
931            /**
932            * Returns the latest web content article matching the resource primary key,
933            * preferring articles with approved workflow status.
934            *
935            * @param resourcePrimKey the primary key of the resource instance
936            * @return the latest web content article matching the resource primary key,
937            preferring articles with approved workflow status
938            * @throws PortalException if the user did not have permission to view the
939            web content article or if a matching web content article could
940            not be found
941            */
942            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
943            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
944                    long resourcePrimKey) throws PortalException;
945    
946            /**
947            * Moves all versions of the the web content article matching the group and
948            * article ID to the folder.
949            *
950            * @param groupId the primary key of the web content article's group
951            * @param articleId the primary key of the web content article
952            * @param newFolderId the primary key of the web content article's new
953            folder
954            * @throws PortalException if the user did not have permission to update
955            any one of the versions of the web content article or if any
956            one of the versions of the web content article could not be
957            moved to the folder
958            * @deprecated As of 7.0.0, replaced by {@link #moveArticle(long, String,
959            long, ServiceContext)}
960            */
961            @java.lang.Deprecated
962            public void moveArticle(long groupId, java.lang.String articleId,
963                    long newFolderId) throws PortalException;
964    
965            /**
966            * Moves all versions of the the web content article matching the group and
967            * article ID to the folder.
968            *
969            * @param groupId the primary key of the web content article's group
970            * @param articleId the primary key of the web content article
971            * @param newFolderId the primary key of the web content article's new
972            folder
973            * @param serviceContext the service context to be applied. Can set the
974            user ID, language ID, portlet preferences, portlet request,
975            portlet response, theme display, and can set whether to add the
976            default command update for the web content article. With respect
977            to social activities, by setting the service context's command to
978            {@link com.liferay.portal.kernel.util.Constants#UPDATE}, the
979            invocation is considered a web content update activity; otherwise
980            it is considered a web content add activity.
981            * @throws PortalException if the user did not have permission to update any
982            one of the versions of the web content article or if any one of
983            the versions of the web content article could not be moved to the
984            folder
985            */
986            public void moveArticle(long groupId, java.lang.String articleId,
987                    long newFolderId,
988                    com.liferay.portal.service.ServiceContext serviceContext)
989                    throws PortalException;
990    
991            /**
992            * Moves the web content article from the Recycle Bin to the folder.
993            *
994            * @param groupId the primary key of the web content article's group
995            * @param articleId the primary key of the web content article
996            * @param newFolderId the primary key of the web content article's new
997            folder
998            * @param serviceContext the service context to be applied. Can set the
999            modification date, portlet preferences, and can set whether to
1000            add the default command update for the web content article. With
1001            respect to social activities, by setting the service context's
1002            command to {@link
1003            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1004            is considered a web content update activity; otherwise it is
1005            considered a web content add activity.
1006            * @return the updated web content article, which was moved from the Recycle
1007            Bin to the folder
1008            * @throws PortalException if the user did not have permission to view or
1009            update the web content article, if a trashed web content article
1010            with the primary key could not be found, or if a portal exception
1011            occurred
1012            */
1013            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
1014                    long groupId, java.lang.String articleId, long newFolderId,
1015                    com.liferay.portal.service.ServiceContext serviceContext)
1016                    throws PortalException;
1017    
1018            /**
1019            * Moves the web content article from the Recycle Bin to the folder.
1020            *
1021            * @param groupId the primary key of the web content article's group
1022            * @param resourcePrimKey the primary key of the resource instance
1023            * @param newFolderId the primary key of the web content article's new
1024            folder
1025            * @param serviceContext the service context to be applied. Can set the
1026            modification date, portlet preferences, and can set whether to
1027            add the default command update for the web content article. With
1028            respect to social activities, by setting the service context's
1029            command to {@link
1030            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1031            is considered a web content update activity; otherwise it is
1032            considered a web content add activity.
1033            * @return the updated web content article, which was moved from the Recycle
1034            Bin to the folder
1035            * @throws PortalException if the user did not have permission to view or
1036            update the web content article, if a matching trashed web content
1037            article could not be found, or if a portal exception occurred
1038            */
1039            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
1040                    long groupId, long resourcePrimKey, long newFolderId,
1041                    com.liferay.portal.service.ServiceContext serviceContext)
1042                    throws PortalException;
1043    
1044            /**
1045            * Moves the latest version of the web content article matching the group
1046            * and article ID to the recycle bin.
1047            *
1048            * @param groupId the primary key of the web content article's group
1049            * @param articleId the primary key of the web content article
1050            * @return the moved web content article or <code>null</code> if no matching
1051            article was found
1052            * @throws PortalException if the user did not have permission to move the
1053            article to the Recycle Bin or if a portal exception occurred
1054            */
1055            public com.liferay.portlet.journal.model.JournalArticle moveArticleToTrash(
1056                    long groupId, java.lang.String articleId) throws PortalException;
1057    
1058            /**
1059            * Removes the web content of all the company's web content articles
1060            * matching the language.
1061            *
1062            * @param companyId the primary key of the web content article's company
1063            * @param languageId the primary key of the language locale to remove
1064            * @throws PortalException if the user did not have permission to update any
1065            one of the the web content articles or if web content matching
1066            the language could not be found for any one of the articles
1067            */
1068            public void removeArticleLocale(long companyId, java.lang.String languageId)
1069                    throws PortalException;
1070    
1071            /**
1072            * Removes the web content of the web content article matching the group,
1073            * article ID, and version, and language.
1074            *
1075            * @param groupId the primary key of the web content article's group
1076            * @param articleId the primary key of the web content article
1077            * @param version the web content article's version
1078            * @param languageId the primary key of the language locale to remove
1079            * @return the updated web content article with the locale removed
1080            * @throws PortalException if the user did not have permission to update the
1081            web content article or if a matching web content article could
1082            not be found
1083            */
1084            public com.liferay.portlet.journal.model.JournalArticle removeArticleLocale(
1085                    long groupId, java.lang.String articleId, double version,
1086                    java.lang.String languageId) throws PortalException;
1087    
1088            /**
1089            * Restores the web content article from the Recycle Bin.
1090            *
1091            * @param groupId the primary key of the web content article's group
1092            * @param articleId the primary key of the web content article
1093            * @throws PortalException if the web content article with the primary key
1094            could not be found in the Recycle Bin, if the user did not have
1095            permission to restore the article, or if a portal exception
1096            occurred
1097            */
1098            public void restoreArticleFromTrash(long groupId, java.lang.String articleId)
1099                    throws PortalException;
1100    
1101            /**
1102            * Restores the web content article associated with the resource primary key
1103            * from the Recycle Bin.
1104            *
1105            * @param resourcePrimKey the primary key of the resource instance
1106            * @throws PortalException if a matching web content article could not be
1107            found in the Recycle Bin, if the user did not have permission to
1108            view or restore the article, or if a portal exception occurred
1109            */
1110            public void restoreArticleFromTrash(long resourcePrimKey)
1111                    throws PortalException;
1112    
1113            /**
1114            * Returns an ordered range of all the web content articles matching the
1115            * parameters, including keyword parameters for article ID, title,
1116            * description, and content, a DDM structure key parameter, a DDM template
1117            * key parameter, and an AND operator switch.
1118            *
1119            * <p>
1120            * Useful when paginating results. Returns a maximum of <code>end -
1121            * start</code> instances. <code>start</code> and <code>end</code> are not
1122            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1123            * refers to the first result in the set. Setting both <code>start</code>
1124            * and <code>end</code> to {@link
1125            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1126            * result set.
1127            * </p>
1128            *
1129            * @param companyId the primary key of the web content article's company
1130            * @param groupId the primary key of the group (optionally <code>0</code>)
1131            * @param folderIds the primary keys of the web content article folders
1132            (optionally {@link java.util.Collections#EMPTY_LIST})
1133            * @param classNameId the primary key of the DDMStructure class if the web
1134            content article is related to a DDM structure, the primary key of
1135            the class name associated with the article, or {@link
1136            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1137            * @param articleId the article ID keywords (space separated, optionally
1138            <code>null</code>)
1139            * @param version the web content article's version (optionally
1140            <code>null</code>)
1141            * @param title the title keywords (space separated, optionally
1142            <code>null</code>)
1143            * @param description the description keywords (space separated, optionally
1144            <code>null</code>)
1145            * @param content the content keywords (space separated, optionally
1146            <code>null</code>)
1147            * @param ddmStructureKey the primary key of the web content article's DDM
1148            structure, if the article is related to a DDM structure, or
1149            <code>null</code> otherwise
1150            * @param ddmTemplateKey the primary key of the web content article's DDM
1151            template
1152            * @param displayDateGT the date after which a matching web content
1153            article's display date must be after (optionally
1154            <code>null</code>)
1155            * @param displayDateLT the date before which a matching web content
1156            article's display date must be before (optionally
1157            <code>null</code>)
1158            * @param status the web content article's workflow status. For more
1159            information see {@link WorkflowConstants} for constants starting
1160            with the "STATUS_" prefix.
1161            * @param reviewDate the web content article's scheduled review date
1162            (optionally <code>null</code>)
1163            * @param andOperator whether every field must match its value or keywords,
1164            or just one field must match. Company, group, folder IDs, class
1165            name ID, and status must all match their values.
1166            * @param start the lower bound of the range of web content articles to
1167            return
1168            * @param end the upper bound of the range of web content articles to
1169            return (not inclusive)
1170            * @param obc the comparator to order the web content articles
1171            * @return the range of matching web content articles ordered by the
1172            comparator
1173            */
1174            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1175            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1176                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1177                    long classNameId, java.lang.String articleId, java.lang.Double version,
1178                    java.lang.String title, java.lang.String description,
1179                    java.lang.String content, java.lang.String ddmStructureKey,
1180                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1181                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1182                    boolean andOperator, int start, int end,
1183                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.journal.model.JournalArticle> obc);
1184    
1185            /**
1186            * Returns an ordered range of all the web content articles matching the
1187            * parameters, including keyword parameters for article ID, title,
1188            * description, and content, a DDM structure keys (plural) parameter, a DDM
1189            * template keys (plural) parameter, and an AND operator switch.
1190            *
1191            * <p>
1192            * Useful when paginating results. Returns a maximum of <code>end -
1193            * start</code> instances. <code>start</code> and <code>end</code> are not
1194            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1195            * refers to the first result in the set. Setting both <code>start</code>
1196            * and <code>end</code> to {@link
1197            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1198            * result set.
1199            * </p>
1200            *
1201            * @param companyId the primary key of the web content article's company
1202            * @param groupId the primary key of the group (optionally <code>0</code>)
1203            * @param folderIds the primary keys of the web content article folders
1204            (optionally {@link java.util.Collections#EMPTY_LIST})
1205            * @param classNameId the primary key of the DDMStructure class if the web
1206            content article is related to a DDM structure, the primary key of
1207            the class name associated with the article, or {@link
1208            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1209            * @param articleId the article ID keywords (space separated, optionally
1210            <code>null</code>)
1211            * @param version the web content article's version (optionally
1212            <code>null</code>)
1213            * @param title the title keywords (space separated, optionally
1214            <code>null</code>)
1215            * @param description the description keywords (space separated, optionally
1216            <code>null</code>)
1217            * @param content the content keywords (space separated, optionally
1218            <code>null</code>)
1219            * @param ddmStructureKeys the primary keys of the web content article's
1220            DDM structures, if the article is related to a DDM structure, or
1221            <code>null</code> otherwise
1222            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1223            templates (originally <code>null</code>). If the articles are
1224            related to a DDM structure, the template's structure must match
1225            it.
1226            * @param displayDateGT the date after which a matching web content
1227            article's display date must be after (optionally
1228            <code>null</code>)
1229            * @param displayDateLT the date before which a matching web content
1230            article's display date must be before (optionally
1231            <code>null</code>)
1232            * @param status the web content article's workflow status. For more
1233            information see {@link WorkflowConstants} for constants starting
1234            with the "STATUS_" prefix.
1235            * @param reviewDate the web content article's scheduled review date
1236            (optionally <code>null</code>)
1237            * @param andOperator whether every field must match its value or keywords,
1238            or just one field must match.  Company, group, folder IDs, class
1239            name ID, and status must all match their values.
1240            * @param start the lower bound of the range of web content articles to
1241            return
1242            * @param end the upper bound of the range of web content articles to
1243            return (not inclusive)
1244            * @param obc the comparator to order the web content articles
1245            * @return the range of matching web content articles ordered by the
1246            comparator
1247            */
1248            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1249            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1250                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1251                    long classNameId, java.lang.String articleId, java.lang.Double version,
1252                    java.lang.String title, java.lang.String description,
1253                    java.lang.String content, java.lang.String[] ddmStructureKeys,
1254                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1255                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1256                    boolean andOperator, int start, int end,
1257                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.journal.model.JournalArticle> obc);
1258    
1259            /**
1260            * Returns an ordered range of all the web content articles matching the
1261            * parameters, including a keywords parameter for matching with the
1262            * article's ID, title, description, and content, a DDM structure key
1263            * parameter, and a DDM template key parameter.
1264            *
1265            * <p>
1266            * Useful when paginating results. Returns a maximum of <code>end -
1267            * start</code> instances. <code>start</code> and <code>end</code> are not
1268            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1269            * refers to the first result in the set. Setting both <code>start</code>
1270            * and <code>end</code> to {@link
1271            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1272            * result set.
1273            * </p>
1274            *
1275            * @param companyId the primary key of the web content article's company
1276            * @param groupId the primary key of the group (optionally <code>0</code>)
1277            * @param folderIds the primary keys of the web content article folders
1278            (optionally {@link java.util.Collections#EMPTY_LIST})
1279            * @param classNameId the primary key of the DDMStructure class if the web
1280            content article is related to a DDM structure, the primary key of
1281            the class name associated with the article, or {@link
1282            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1283            * @param keywords the keywords (space separated), which may occur in the
1284            web content article ID, title, description, or content
1285            (optionally <code>null</code>). If the keywords value is not
1286            <code>null</code>, the search uses the OR operator in connecting
1287            query criteria; otherwise it uses the AND operator.
1288            * @param version the web content article's version (optionally
1289            <code>null</code>)
1290            * @param ddmStructureKey the primary key of the web content article's DDM
1291            structure, if the article is related to a DDM structure, or
1292            <code>null</code> otherwise
1293            * @param ddmTemplateKey the primary key of the web content article's DDM
1294            template
1295            * @param displayDateGT the date after which a matching web content
1296            article's display date must be after (optionally
1297            <code>null</code>)
1298            * @param displayDateLT the date before which a matching web content
1299            article's display date must be before (optionally
1300            <code>null</code>)
1301            * @param status the web content article's workflow status. For more
1302            information see {@link WorkflowConstants} for constants starting
1303            with the "STATUS_" prefix.
1304            * @param reviewDate the web content article's scheduled review date
1305            (optionally <code>null</code>)
1306            * @param start the lower bound of the range of web content articles to
1307            return
1308            * @param end the upper bound of the range of web content articles to
1309            return (not inclusive)
1310            * @param obc the comparator to order the web content articles
1311            * @return the range of matching web content articles ordered by the
1312            comparator
1313            */
1314            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1315            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1316                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1317                    long classNameId, java.lang.String keywords, java.lang.Double version,
1318                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1319                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1320                    java.util.Date reviewDate, int start, int end,
1321                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.journal.model.JournalArticle> obc);
1322    
1323            /**
1324            * Returns a range of all the web content articles matching the group,
1325            * creator, creator, and workflow status using the indexer. It is preferable
1326            * to use this method instead of the non-indexed version whenever possible
1327            * for performance reasons.
1328            *
1329            * <p>
1330            * Useful when paginating results. Returns a maximum of <code>end -
1331            * start</code> instances. <code>start</code> and <code>end</code> are not
1332            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1333            * refers to the first result in the set. Setting both <code>start</code>
1334            * and <code>end</code> to {@link
1335            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1336            * result set.
1337            * </p>
1338            *
1339            * @param groupId the primary key of the web content article's group
1340            * @param creatorUserId the primary key of the web content article's
1341            creator
1342            * @param status the web content article's workflow status. For more
1343            information see {@link WorkflowConstants} for constants starting
1344            with the "STATUS_" prefix.
1345            * @param start the lower bound of the range of web content articles to
1346            return
1347            * @param end the upper bound of the range of web content articles to
1348            return (not inclusive)
1349            * @return the matching web content articles
1350            * @throws PortalException if a portal exception occurred
1351            */
1352            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1353            public com.liferay.portal.kernel.search.Hits search(long groupId,
1354                    long creatorUserId, int status, int start, int end)
1355                    throws PortalException;
1356    
1357            /**
1358            * Returns the number of web content articles matching the parameters,
1359            * including keyword parameters for article ID, title, description, and
1360            * content, a DDM structure key parameter, a DDM template key parameter, and
1361            * an AND operator switch.
1362            *
1363            * @param companyId the primary key of the web content article's company
1364            * @param groupId the primary key of the group (optionally <code>0</code>)
1365            * @param folderIds the primary keys of the web content article folders
1366            (optionally {@link java.util.Collections#EMPTY_LIST})
1367            * @param classNameId the primary key of the DDMStructure class if the web
1368            content article is related to a DDM structure, the primary key of
1369            the class name associated with the article, or {@link
1370            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1371            * @param articleId the article ID keywords (space separated, optionally
1372            <code>null</code>)
1373            * @param version the web content article's version (optionally
1374            <code>null</code>)
1375            * @param title the title keywords (space separated, optionally
1376            <code>null</code>)
1377            * @param description the description keywords (space separated, optionally
1378            <code>null</code>)
1379            * @param content the content keywords (space separated, optionally
1380            <code>null</code>)
1381            * @param ddmStructureKey the primary key of the web content article's DDM
1382            structure, if the article is related to a DDM structure, or
1383            <code>null</code> otherwise
1384            * @param ddmTemplateKey the primary key of the web content article's DDM
1385            template
1386            * @param displayDateGT the date after which a matching web content
1387            article's display date must be after (optionally
1388            <code>null</code>)
1389            * @param displayDateLT the date before which a matching web content
1390            article's display date must be before (optionally
1391            <code>null</code>)
1392            * @param status the web content article's workflow status. For more
1393            information see {@link WorkflowConstants} for constants starting
1394            with the "STATUS_" prefix.
1395            * @param reviewDate the web content article's scheduled review date
1396            (optionally <code>null</code>)
1397            * @param andOperator whether every field must match its value or keywords,
1398            or just one field must match. Group, folder IDs, class name ID,
1399            and status must all match their values.
1400            * @return the number of matching web content articles
1401            */
1402            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1403            public int searchCount(long companyId, long groupId,
1404                    java.util.List<java.lang.Long> folderIds, long classNameId,
1405                    java.lang.String articleId, java.lang.Double version,
1406                    java.lang.String title, java.lang.String description,
1407                    java.lang.String content, java.lang.String ddmStructureKey,
1408                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1409                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1410                    boolean andOperator);
1411    
1412            /**
1413            * Returns the number of web content articles matching the parameters,
1414            * including keyword parameters for article ID, title, description, and
1415            * content, a DDM structure keys (plural) parameter, a DDM template keys
1416            * (plural) parameter, and an AND operator switch.
1417            *
1418            * @param companyId the primary key of the web content article's company
1419            * @param groupId the primary key of the group (optionally <code>0</code>)
1420            * @param folderIds the primary keys of the web content article folders
1421            (optionally {@link java.util.Collections#EMPTY_LIST})
1422            * @param classNameId the primary key of the DDMStructure class if the web
1423            content article is related to a DDM structure, the primary key of
1424            the class name associated with the article, or {@link
1425            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1426            * @param articleId the article ID keywords (space separated, optionally
1427            <code>null</code>)
1428            * @param version the web content article's version (optionally
1429            <code>null</code>)
1430            * @param title the title keywords (space separated, optionally
1431            <code>null</code>)
1432            * @param description the description keywords (space separated, optionally
1433            <code>null</code>)
1434            * @param content the content keywords (space separated, optionally
1435            <code>null</code>)
1436            * @param ddmStructureKeys the primary keys of the web content article's
1437            DDM structures, if the article is related to a DDM structure, or
1438            <code>null</code> otherwise
1439            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1440            templates (originally <code>null</code>). If the articles are
1441            related to a DDM structure, the template's structure must match
1442            it.
1443            * @param displayDateGT the date after which a matching web content
1444            article's display date must be after (optionally
1445            <code>null</code>)
1446            * @param displayDateLT the date before which a matching web content
1447            article's display date must be before (optionally
1448            <code>null</code>)
1449            * @param status the web content article's workflow status. For more
1450            information see {@link WorkflowConstants} for constants starting
1451            with the "STATUS_" prefix.
1452            * @param reviewDate the web content article's scheduled review date
1453            (optionally <code>null</code>)
1454            * @param andOperator whether every field must match its value or keywords,
1455            or just one field must match.  Group, folder IDs, class name ID,
1456            and status must all match their values.
1457            * @return the number of matching web content articles
1458            */
1459            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1460            public int searchCount(long companyId, long groupId,
1461                    java.util.List<java.lang.Long> folderIds, long classNameId,
1462                    java.lang.String articleId, java.lang.Double version,
1463                    java.lang.String title, java.lang.String description,
1464                    java.lang.String content, java.lang.String[] ddmStructureKeys,
1465                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1466                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1467                    boolean andOperator);
1468    
1469            /**
1470            * Returns the number of web content articles matching the parameters,
1471            * including a keywords parameter for matching with the article's ID, title,
1472            * description, and content, a DDM structure key parameter, and a DDM
1473            * template key parameter.
1474            *
1475            * @param companyId the primary key of the web content article's company
1476            * @param groupId the primary key of the group (optionally <code>0</code>)
1477            * @param folderIds the primary keys of the web content article folders
1478            (optionally {@link java.util.Collections#EMPTY_LIST})
1479            * @param classNameId the primary key of the DDMStructure class if the web
1480            content article is related to a DDM structure, the primary key of
1481            the class name associated with the article, or {@link
1482            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1483            * @param keywords the keywords (space separated), which may occur in the
1484            web content article ID, title, description, or content
1485            (optionally <code>null</code>). If the keywords value is not
1486            <code>null</code>, the search uses the OR operator in connecting
1487            query criteria; otherwise it uses the AND operator.
1488            * @param version the web content article's version (optionally
1489            <code>null</code>)
1490            * @param ddmStructureKey the primary key of the web content article's DDM
1491            structure, if the article is related to a DDM structure, or
1492            <code>null</code> otherwise
1493            * @param ddmTemplateKey the primary key of the web content article's DDM
1494            template
1495            * @param displayDateGT the date after which a matching web content
1496            article's display date must be after (optionally
1497            <code>null</code>)
1498            * @param displayDateLT the date before which a matching web content
1499            article's display date must be before (optionally
1500            <code>null</code>)
1501            * @param status the web content article's workflow status. For more
1502            information see {@link WorkflowConstants} for constants starting
1503            with the "STATUS_" prefix.
1504            * @param reviewDate the web content article's scheduled review date
1505            (optionally <code>null</code>)
1506            * @return the number of matching web content articles
1507            */
1508            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1509            public int searchCount(long companyId, long groupId,
1510                    java.util.List<java.lang.Long> folderIds, long classNameId,
1511                    java.lang.String keywords, java.lang.Double version,
1512                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1513                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1514                    java.util.Date reviewDate);
1515    
1516            /**
1517            * Sets the Spring bean ID for this bean.
1518            *
1519            * @param beanIdentifier the Spring bean ID for this bean
1520            */
1521            public void setBeanIdentifier(java.lang.String beanIdentifier);
1522    
1523            /**
1524            * Subscribes the user to changes in elements that belong to the web content
1525            * article's DDM structure.
1526            *
1527            * @param groupId the primary key of the folder's group
1528            * @param userId the primary key of the user to be subscribed
1529            * @param ddmStructureId the primary key of the structure to subscribe to
1530            * @throws PortalException if a matching user or group could not be found
1531            */
1532            public void subscribeStructure(long groupId, long userId,
1533                    long ddmStructureId) throws PortalException;
1534    
1535            /**
1536            * Unsubscribes the user from changes in elements that belong to the web
1537            * content article's DDM structure.
1538            *
1539            * @param groupId the primary key of the folder's group
1540            * @param userId the primary key of the user to be subscribed
1541            * @param ddmStructureId the primary key of the structure to subscribe to
1542            * @throws PortalException if a matching user or subscription could not be
1543            found
1544            */
1545            public void unsubscribeStructure(long groupId, long userId,
1546                    long ddmStructureId) throws PortalException;
1547    
1548            /**
1549            * Updates the web content article matching the version, replacing its
1550            * folder and content.
1551            *
1552            * <p>
1553            * The web content articles hold HTML content wrapped in XML. The XML lets
1554            * you specify the article's default locale and available locales. Here is a
1555            * content example:
1556            * </p>
1557            *
1558            * <p>
1559            * <pre>
1560            * <code>
1561            * &lt;?xml version='1.0' encoding='UTF-8'?&gt;
1562            * &lt;root default-locale="en_US" available-locales="en_US"&gt;
1563            *     &lt;static-content language-id="en_US"&gt;
1564            *         &lt;![CDATA[&lt;p&gt;&lt;b&gt;&lt;i&gt;test&lt;i&gt; content&lt;b&gt;&lt;/p&gt;]]&gt;
1565            *     &lt;/static-content&gt;
1566            * &lt;/root&gt;
1567            * </code>
1568            * </pre>
1569            * </p>
1570            *
1571            * @param groupId the primary key of the web content article's group
1572            * @param folderId the primary key of the web content article folder
1573            * @param articleId the primary key of the web content article
1574            * @param version the web content article's version
1575            * @param content the HTML content wrapped in XML.
1576            * @param serviceContext the service context to be applied. Can set the
1577            modification date, expando bridge attributes, asset category IDs,
1578            asset tag names, asset link entry IDs, workflow actions, URL
1579            title, and can set whether to add the default command update for
1580            the web content article. With respect to social activities, by
1581            setting the service context's command to {@link
1582            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1583            is considered a web content update activity; otherwise it is
1584            considered a web content add activity.
1585            * @return the updated web content article
1586            * @throws PortalException if the user did not have permission to update the
1587            web content article, if a user with the primary key or a matching
1588            web content article could not be found, or if a portal exception
1589            occurred
1590            */
1591            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1592                    long groupId, long folderId, java.lang.String articleId,
1593                    double version, java.lang.String content,
1594                    com.liferay.portal.service.ServiceContext serviceContext)
1595                    throws PortalException;
1596    
1597            /**
1598            * Updates the web content article with additional parameters.
1599            *
1600            * @param groupId the primary key of the web content article's group
1601            * @param folderId the primary key of the web content article folder
1602            * @param articleId the primary key of the web content article
1603            * @param version the web content article's version
1604            * @param titleMap the web content article's locales and localized titles
1605            * @param descriptionMap the web content article's locales and localized
1606            descriptions
1607            * @param content the HTML content wrapped in XML. For more information,
1608            see the content example in the {@link #updateArticle(long, long,
1609            String, double, String, ServiceContext)} description.
1610            * @param ddmStructureKey the primary key of the web content article's DDM
1611            structure, if the article is related to a DDM structure, or
1612            <code>null</code> otherwise
1613            * @param ddmTemplateKey the primary key of the web content article's DDM
1614            template
1615            * @param layoutUuid the unique string identifying the web content
1616            article's display page
1617            * @param displayDateMonth the month the web content article is set to
1618            display
1619            * @param displayDateDay the calendar day the web content article is set to
1620            display
1621            * @param displayDateYear the year the web content article is set to
1622            display
1623            * @param displayDateHour the hour the web content article is set to
1624            display
1625            * @param displayDateMinute the minute the web content article is set to
1626            display
1627            * @param expirationDateMonth the month the web content article is set to
1628            expire
1629            * @param expirationDateDay the calendar day the web content article is set
1630            to expire
1631            * @param expirationDateYear the year the web content article is set to
1632            expire
1633            * @param expirationDateHour the hour the web content article is set to
1634            expire
1635            * @param expirationDateMinute the minute the web content article is set to
1636            expire
1637            * @param neverExpire whether the web content article is not set to auto
1638            expire
1639            * @param reviewDateMonth the month the web content article is set for
1640            review
1641            * @param reviewDateDay the calendar day the web content article is set for
1642            review
1643            * @param reviewDateYear the year the web content article is set for review
1644            * @param reviewDateHour the hour the web content article is set for review
1645            * @param reviewDateMinute the minute the web content article is set for
1646            review
1647            * @param neverReview whether the web content article is not set for review
1648            * @param indexable whether the web content is searchable
1649            * @param smallImage whether to update web content article's a small image.
1650            A file must be passed in as <code>smallImageFile</code> value,
1651            otherwise the current small image is deleted.
1652            * @param smallImageURL the web content article's small image URL
1653            (optionally <code>null</code>)
1654            * @param smallFile the web content article's new small image file
1655            (optionally <code>null</code>). Must pass in
1656            <code>smallImage</code> value of <code>true</code> to replace the
1657            article's small image file.
1658            * @param images the web content's images (optionally <code>null</code>)
1659            * @param articleURL the web content article's accessible URL (optionally
1660            <code>null</code>)
1661            * @param serviceContext the service context to be applied. Can set the
1662            modification date, expando bridge attributes, asset category IDs,
1663            asset tag names, asset link entry IDs, workflow actions, URL
1664            title, and can set whether to add the default command update for
1665            the web content article. With respect to social activities, by
1666            setting the service context's command to {@link
1667            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1668            is considered a web content update activity; otherwise it is
1669            considered a web content add activity.
1670            * @return the updated web content article
1671            * @throws PortalException if the user did not have permission to update the
1672            web content article, if a user with the primary key or a matching
1673            web content article could not be found, or if a portal exception
1674            occurred
1675            */
1676            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1677                    long groupId, long folderId, java.lang.String articleId,
1678                    double version,
1679                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1680                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1681                    java.lang.String content, java.lang.String ddmStructureKey,
1682                    java.lang.String ddmTemplateKey, java.lang.String layoutUuid,
1683                    int displayDateMonth, int displayDateDay, int displayDateYear,
1684                    int displayDateHour, int displayDateMinute, int expirationDateMonth,
1685                    int expirationDateDay, int expirationDateYear, int expirationDateHour,
1686                    int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
1687                    int reviewDateDay, int reviewDateYear, int reviewDateHour,
1688                    int reviewDateMinute, boolean neverReview, boolean indexable,
1689                    boolean smallImage, java.lang.String smallImageURL,
1690                    java.io.File smallFile, java.util.Map<java.lang.String, byte[]> images,
1691                    java.lang.String articleURL,
1692                    com.liferay.portal.service.ServiceContext serviceContext)
1693                    throws PortalException;
1694    
1695            /**
1696            * Updates the web content article matching the version, replacing its
1697            * folder, title, description, content, and layout UUID.
1698            *
1699            * @param userId the primary key of the user updating the web content
1700            article
1701            * @param groupId the primary key of the web content article's group
1702            * @param folderId the primary key of the web content article folder
1703            * @param articleId the primary key of the web content article
1704            * @param version the web content article's version
1705            * @param titleMap the web content article's locales and localized titles
1706            * @param descriptionMap the web content article's locales and localized
1707            descriptions
1708            * @param content the HTML content wrapped in XML. For more information,
1709            see the content example in the {@link #updateArticle(long, long,
1710            String, double, String, ServiceContext)} description.
1711            * @param layoutUuid the unique string identifying the web content
1712            article's display page
1713            * @param serviceContext the service context to be applied. Can set the
1714            modification date, expando bridge attributes, asset category IDs,
1715            asset tag names, asset link entry IDs, workflow actions, URL
1716            title, and can set whether to add the default command update for
1717            the web content article. With respect to social activities, by
1718            setting the service context's command to {@link
1719            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1720            is considered a web content update activity; otherwise it is
1721            considered a web content add activity.
1722            * @return the updated web content article
1723            * @throws PortalException if a user with the primary key or a matching web
1724            content article could not be found, or if a portal exception
1725            occurred
1726            */
1727            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1728                    long userId, long groupId, long folderId, java.lang.String articleId,
1729                    double version,
1730                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1731                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1732                    java.lang.String content, java.lang.String layoutUuid,
1733                    com.liferay.portal.service.ServiceContext serviceContext)
1734                    throws PortalException;
1735    
1736            /**
1737            * @deprecated As of 6.2.0, replaced by {@link
1738            #updateArticleTranslation(long, String, double, Locale,
1739            String, String, String, Map, ServiceContext)}
1740            */
1741            @java.lang.Deprecated
1742            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
1743                    long groupId, java.lang.String articleId, double version,
1744                    java.util.Locale locale, java.lang.String title,
1745                    java.lang.String description, java.lang.String content,
1746                    java.util.Map<java.lang.String, byte[]> images)
1747                    throws PortalException;
1748    
1749            /**
1750            * Updates the translation of the web content article.
1751            *
1752            * @param groupId the primary key of the web content article's group
1753            * @param articleId the primary key of the web content article
1754            * @param version the web content article's version
1755            * @param locale the locale of the web content article's display template
1756            * @param title the translated web content article title
1757            * @param description the translated web content article description
1758            * @param content the HTML content wrapped in XML. For more information,
1759            see the content example in the {@link #updateArticle(long, long,
1760            String, double, String, ServiceContext)} description.
1761            * @param images the web content's images
1762            * @param serviceContext the service context to be applied. Can set the
1763            modification date and URL title for the web content article.
1764            * @return the updated web content article
1765            * @throws PortalException if the user did not have permission to update the
1766            web content article, if a user with the primary key or a matching
1767            web content article could not be found, or if a portal exception
1768            occurred
1769            */
1770            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
1771                    long groupId, java.lang.String articleId, double version,
1772                    java.util.Locale locale, java.lang.String title,
1773                    java.lang.String description, java.lang.String content,
1774                    java.util.Map<java.lang.String, byte[]> images,
1775                    com.liferay.portal.service.ServiceContext serviceContext)
1776                    throws PortalException;
1777    
1778            /**
1779            * Updates the web content article matching the group, article ID, and
1780            * version, replacing its content.
1781            *
1782            * @param groupId the primary key of the web content article's group
1783            * @param articleId the primary key of the web content article
1784            * @param version the web content article's version
1785            * @param content the HTML content wrapped in XML. For more information,
1786            see the content example in the {@link #updateArticle(long, long,
1787            String, double, String, ServiceContext)} description.
1788            * @return the updated web content article
1789            * @throws PortalException if the user did not have permission to update the
1790            web content article or if a matching web content article could
1791            not be found
1792            */
1793            public com.liferay.portlet.journal.model.JournalArticle updateContent(
1794                    long groupId, java.lang.String articleId, double version,
1795                    java.lang.String content) throws PortalException;
1796    
1797            /**
1798            * Updates the workflow status of the web content article matching the
1799            * group, article ID, and version.
1800            *
1801            * @param groupId the primary key of the web content article's group
1802            * @param articleId the primary key of the web content article
1803            * @param version the web content article's version
1804            * @param status the web content article's workflow status. For more
1805            information see {@link WorkflowConstants} for constants starting
1806            with the "STATUS_" prefix.
1807            * @param articleURL the web content article's accessible URL
1808            * @param serviceContext the service context to be applied. Can set the
1809            modification date, portlet preferences, and can set whether to
1810            add the default command update for the web content article.
1811            * @return the updated web content article
1812            * @throws PortalException if the user did not have permission to update the
1813            web content article, if a matching web content article could not
1814            be found, or if a portal exception occurred
1815            */
1816            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
1817                    long groupId, java.lang.String articleId, double version, int status,
1818                    java.lang.String articleURL,
1819                    com.liferay.portal.service.ServiceContext serviceContext)
1820                    throws PortalException;
1821    }