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