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