001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
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            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1009            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getLayoutArticles(
1010                    long groupId)
1011                    throws com.liferay.portal.kernel.exception.SystemException;
1012    
1013            /**
1014            * Moves all versions of the the web content article matching the group and
1015            * article ID to the folder.
1016            *
1017            * @param groupId the primary key of the web content article's group
1018            * @param articleId the primary key of the web content article
1019            * @param newFolderId the primary key of the web content article's new
1020            folder
1021            * @throws PortalException if the user did not have permission to update any
1022            one of the versions of the web content article or if any one of
1023            the versions of the web content article could not be moved to the
1024            folder
1025            * @throws SystemException if a system exception occurred
1026            */
1027            public void moveArticle(long groupId, java.lang.String articleId,
1028                    long newFolderId)
1029                    throws com.liferay.portal.kernel.exception.PortalException,
1030                            com.liferay.portal.kernel.exception.SystemException;
1031    
1032            /**
1033            * Moves the web content article from the Recycle Bin to the folder.
1034            *
1035            * @param groupId the primary key of the web content article's group
1036            * @param resourcePrimKey the primary key of the resource instance
1037            * @param newFolderId the primary key of the web content article's new
1038            folder
1039            * @param serviceContext the service context to be applied. Can set the
1040            modification date, portlet preferences, and can set whether to
1041            add the default command update for the web content article. With
1042            respect to social activities, by setting the service context's
1043            command to {@link
1044            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1045            is considered a web content update activity; otherwise it is
1046            considered a web content add activity.
1047            * @return the updated web content article, which was moved from the Recycle
1048            Bin to the folder
1049            * @throws PortalException if the user did not have permission to view or
1050            update the web content article, if a matching trashed web content
1051            article could not be found, or if a portal exception occurred
1052            * @throws SystemException if a system exception occurred
1053            */
1054            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
1055                    long groupId, long resourcePrimKey, long newFolderId,
1056                    com.liferay.portal.service.ServiceContext serviceContext)
1057                    throws com.liferay.portal.kernel.exception.PortalException,
1058                            com.liferay.portal.kernel.exception.SystemException;
1059    
1060            /**
1061            * Moves the web content article from the Recycle Bin to the folder.
1062            *
1063            * @param groupId the primary key of the web content article's group
1064            * @param articleId the primary key of the web content article
1065            * @param newFolderId the primary key of the web content article's new
1066            folder
1067            * @param serviceContext the service context to be applied. Can set the
1068            modification date, portlet preferences, and can set whether to
1069            add the default command update for the web content article. With
1070            respect to social activities, by setting the service context's
1071            command to {@link
1072            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1073            is considered a web content update activity; otherwise it is
1074            considered a web content add activity.
1075            * @return the updated web content article, which was moved from the Recycle
1076            Bin to the folder
1077            * @throws PortalException if the user did not have permission to view or
1078            update the web content article, if a trashed web content article
1079            with the primary key could not be found, or if a portal exception
1080            occurred
1081            * @throws SystemException if a system exception occurred
1082            */
1083            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
1084                    long groupId, java.lang.String articleId, long newFolderId,
1085                    com.liferay.portal.service.ServiceContext serviceContext)
1086                    throws com.liferay.portal.kernel.exception.PortalException,
1087                            com.liferay.portal.kernel.exception.SystemException;
1088    
1089            /**
1090            * Moves the latest version of the web content article matching the group
1091            * and article ID to the recycle bin.
1092            *
1093            * @param groupId the primary key of the web content article's group
1094            * @param articleId the primary key of the web content article
1095            * @return the moved web content article or <code>null</code> if no matching
1096            article was found
1097            * @throws PortalException if the user did not have permission to move the
1098            article to the Recycle Bin or if a portal exception occurred
1099            * @throws SystemException if a system exception occurred
1100            */
1101            public com.liferay.portlet.journal.model.JournalArticle moveArticleToTrash(
1102                    long groupId, java.lang.String articleId)
1103                    throws com.liferay.portal.kernel.exception.PortalException,
1104                            com.liferay.portal.kernel.exception.SystemException;
1105    
1106            /**
1107            * Removes the web content of all the company's web content articles
1108            * matching the language.
1109            *
1110            * @param companyId the primary key of the web content article's company
1111            * @param languageId the primary key of the language locale to remove
1112            * @throws PortalException if the user did not have permission to update any
1113            one of the the web content articles or if web content matching
1114            the language could not be found for any one of the articles
1115            * @throws SystemException if a system exception occurred
1116            */
1117            public void removeArticleLocale(long companyId, java.lang.String languageId)
1118                    throws com.liferay.portal.kernel.exception.PortalException,
1119                            com.liferay.portal.kernel.exception.SystemException;
1120    
1121            /**
1122            * Removes the web content of the web content article matching the group,
1123            * article ID, and version, and language.
1124            *
1125            * @param groupId the primary key of the web content article's group
1126            * @param articleId the primary key of the web content article
1127            * @param version the web content article's version
1128            * @param languageId the primary key of the language locale to remove
1129            * @return the updated web content article with the locale removed
1130            * @throws PortalException if the user did not have permission to update the
1131            web content article or if a matching web content article could
1132            not be found
1133            * @throws SystemException if a system exception occurred
1134            */
1135            public com.liferay.portlet.journal.model.JournalArticle removeArticleLocale(
1136                    long groupId, java.lang.String articleId, double version,
1137                    java.lang.String languageId)
1138                    throws com.liferay.portal.kernel.exception.PortalException,
1139                            com.liferay.portal.kernel.exception.SystemException;
1140    
1141            /**
1142            * Restores the web content article associated with the resource primary key
1143            * from the Recycle Bin.
1144            *
1145            * @param resourcePrimKey the primary key of the resource instance
1146            * @throws PortalException if a matching web content article could not be
1147            found in the Recycle Bin, if the user did not have permission to
1148            view or restore the article, or if a portal exception occurred
1149            * @throws SystemException if a system exception occurred
1150            */
1151            public void restoreArticleFromTrash(long resourcePrimKey)
1152                    throws com.liferay.portal.kernel.exception.PortalException,
1153                            com.liferay.portal.kernel.exception.SystemException;
1154    
1155            /**
1156            * Restores the web content article from the Recycle Bin.
1157            *
1158            * @param groupId the primary key of the web content article's group
1159            * @param articleId the primary key of the web content article
1160            * @throws PortalException if the web content article with the primary key
1161            could not be found in the Recycle Bin, if the user did not have
1162            permission to restore the article, or if a portal exception
1163            occurred
1164            * @throws SystemException if a system exception occurred
1165            */
1166            public void restoreArticleFromTrash(long groupId, java.lang.String articleId)
1167                    throws com.liferay.portal.kernel.exception.PortalException,
1168                            com.liferay.portal.kernel.exception.SystemException;
1169    
1170            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1171            public com.liferay.portal.kernel.search.Hits search(long groupId,
1172                    long creatorUserId, int status, int start, int end)
1173                    throws com.liferay.portal.kernel.exception.PortalException,
1174                            com.liferay.portal.kernel.exception.SystemException;
1175    
1176            /**
1177            * Returns an ordered range of all the web content articles matching the
1178            * parameters, including a keywords parameter for matching with the
1179            * article's ID, title, description, and content, a DDM structure key
1180            * parameter, and a DDM template key parameter.
1181            *
1182            * <p>
1183            * Useful when paginating results. Returns a maximum of <code>end -
1184            * start</code> instances. <code>start</code> and <code>end</code> are not
1185            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1186            * refers to the first result in the set. Setting both <code>start</code>
1187            * and <code>end</code> to {@link
1188            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1189            * result set.
1190            * </p>
1191            *
1192            * @param companyId the primary key of the web content article's company
1193            * @param groupId the primary key of the group (optionally <code>0</code>)
1194            * @param folderIds the primary keys of the web content article folders
1195            (optionally {@link java.util.Collections#EMPTY_LIST})
1196            * @param classNameId the primary key of the DDMStructure class if the web
1197            content article is related to a DDM structure, the primary key of
1198            the class name associated with the article, or {@link
1199            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1200            * @param keywords the keywords (space separated), which may occur in the
1201            web content article ID, title, description, or content
1202            (optionally <code>null</code>). If the keywords value is not
1203            <code>null</code>, the search uses the OR operator in connecting
1204            query criteria; otherwise it uses the AND operator.
1205            * @param version the web content article's version (optionally
1206            <code>null</code>)
1207            * @param type the web content article's type (optionally
1208            <code>null</code>)
1209            * @param ddmStructureKey the primary key of the web content article's DDM
1210            structure, if the article is related to a DDM structure, or
1211            <code>null</code> otherwise
1212            * @param ddmTemplateKey the primary key of the web content article's DDM
1213            template (optionally <code>null</code>). If the article is
1214            related to a DDM structure, the template's structure must match
1215            it.
1216            * @param displayDateGT the date after which a matching web content
1217            article's display date must be after (optionally
1218            <code>null</code>)
1219            * @param displayDateLT the date before which a matching web content
1220            article's display date must be before (optionally
1221            <code>null</code>)
1222            * @param status the web content article's workflow status. For more
1223            information see {@link WorkflowConstants} for constants starting
1224            with the "STATUS_" prefix.
1225            * @param reviewDate the web content article's scheduled review date
1226            (optionally <code>null</code>)
1227            * @param start the lower bound of the range of web content articles to
1228            return
1229            * @param end the upper bound of the range of web content articles to
1230            return (not inclusive)
1231            * @param obc the comparator to order the web content articles
1232            * @return the range of matching web content articles ordered by the
1233            comparator
1234            * @throws SystemException if a system exception occurred
1235            */
1236            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1237            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1238                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1239                    long classNameId, java.lang.String keywords, java.lang.Double version,
1240                    java.lang.String type, java.lang.String ddmStructureKey,
1241                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1242                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1243                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
1244                    throws com.liferay.portal.kernel.exception.SystemException;
1245    
1246            /**
1247            * Returns an ordered range of all the web content articles matching the
1248            * parameters, including keyword parameters for article ID, title,
1249            * description, and content, a DDM structure key parameter, a DDM template
1250            * key parameter, and an AND operator switch.
1251            *
1252            * <p>
1253            * Useful when paginating results. Returns a maximum of <code>end -
1254            * start</code> instances. <code>start</code> and <code>end</code> are not
1255            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1256            * refers to the first result in the set. Setting both <code>start</code>
1257            * and <code>end</code> to {@link
1258            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1259            * result set.
1260            * </p>
1261            *
1262            * @param companyId the primary key of the web content article's company
1263            * @param groupId the primary key of the group (optionally <code>0</code>)
1264            * @param folderIds the primary keys of the web content article folders
1265            (optionally {@link java.util.Collections#EMPTY_LIST})
1266            * @param classNameId the primary key of the DDMStructure class if the web
1267            content article is related to a DDM structure, the primary key of
1268            the class name associated with the article, or {@link
1269            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1270            * @param articleId the article ID keywords (space separated, optionally
1271            <code>null</code>)
1272            * @param version the web content article's version (optionally
1273            <code>null</code>)
1274            * @param title the title keywords (space separated, optionally
1275            <code>null</code>)
1276            * @param description the description keywords (space separated, optionally
1277            <code>null</code>)
1278            * @param content the content keywords (space separated, optionally
1279            <code>null</code>)
1280            * @param type the web content article's type (optionally
1281            <code>null</code>)
1282            * @param ddmStructureKey the primary key of the web content article's DDM
1283            structure, if the article is related to a DDM structure, or
1284            <code>null</code> otherwise
1285            * @param ddmTemplateKey the primary key of the web content article's DDM
1286            template (optionally <code>null</code>). If the article is
1287            related to a DDM structure, the template's structure must match
1288            it.
1289            * @param displayDateGT the date after which a matching web content
1290            article's display date must be after (optionally
1291            <code>null</code>)
1292            * @param displayDateLT the date before which a matching web content
1293            article's display date must be before (optionally
1294            <code>null</code>)
1295            * @param status the web content article's workflow status. For more
1296            information see {@link WorkflowConstants} for constants starting
1297            with the "STATUS_" prefix.
1298            * @param reviewDate the web content article's scheduled review date
1299            (optionally <code>null</code>)
1300            * @param andOperator whether every field must match its value or keywords,
1301            or just one field must match. Company, group, folder IDs, class
1302            name ID, and status must all match their values.
1303            * @param start the lower bound of the range of web content articles to
1304            return
1305            * @param end the upper bound of the range of web content articles to
1306            return (not inclusive)
1307            * @param obc the comparator to order the web content articles
1308            * @return the range of matching web content articles ordered by the
1309            comparator
1310            * @throws SystemException if a system exception occurred
1311            */
1312            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1313            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1314                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1315                    long classNameId, java.lang.String articleId, java.lang.Double version,
1316                    java.lang.String title, java.lang.String description,
1317                    java.lang.String content, java.lang.String type,
1318                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1319                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1320                    java.util.Date reviewDate, boolean andOperator, int start, int end,
1321                    com.liferay.portal.kernel.util.OrderByComparator obc)
1322                    throws com.liferay.portal.kernel.exception.SystemException;
1323    
1324            /**
1325            * Returns an ordered range of all the web content articles matching the
1326            * parameters, including keyword parameters for article ID, title,
1327            * description, and content, a DDM structure keys (plural) parameter, a DDM
1328            * template keys (plural) parameter, and an AND operator switch.
1329            *
1330            * <p>
1331            * Useful when paginating results. Returns a maximum of <code>end -
1332            * start</code> instances. <code>start</code> and <code>end</code> are not
1333            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1334            * refers to the first result in the set. Setting both <code>start</code>
1335            * and <code>end</code> to {@link
1336            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1337            * result set.
1338            * </p>
1339            *
1340            * @param companyId the primary key of the web content article's company
1341            * @param groupId the primary key of the group (optionally <code>0</code>)
1342            * @param folderIds the primary keys of the web content article folders
1343            (optionally {@link java.util.Collections#EMPTY_LIST})
1344            * @param classNameId the primary key of the DDMStructure class if the web
1345            content article is related to a DDM structure, the primary key of
1346            the class name associated with the article, or {@link
1347            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1348            * @param articleId the article ID keywords (space separated, optionally
1349            <code>null</code>)
1350            * @param version the web content article's version (optionally
1351            <code>null</code>)
1352            * @param title the title keywords (space separated, optionally
1353            <code>null</code>)
1354            * @param description the description keywords (space separated, optionally
1355            <code>null</code>)
1356            * @param content the content keywords (space separated, optionally
1357            <code>null</code>)
1358            * @param type the web content article's type (optionally
1359            <code>null</code>)
1360            * @param ddmStructureKeys the primary keys of the web content article's
1361            DDM structures, if the article is related to a DDM structure, or
1362            <code>null</code> otherwise
1363            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1364            templates (originally <code>null</code>). If the articles are
1365            related to a DDM structure, the template's structure must match
1366            it.
1367            * @param displayDateGT the date after which a matching web content
1368            article's display date must be after (optionally
1369            <code>null</code>)
1370            * @param displayDateLT the date before which a matching web content
1371            article's display date must be before (optionally
1372            <code>null</code>)
1373            * @param status the web content article's workflow status. For more
1374            information see {@link WorkflowConstants} for constants starting
1375            with the "STATUS_" prefix.
1376            * @param reviewDate the web content article's scheduled review date
1377            (optionally <code>null</code>)
1378            * @param andOperator whether every field must match its value or keywords,
1379            or just one field must match.  Company, group, folder IDs, class
1380            name ID, and status must all match their values.
1381            * @param start the lower bound of the range of web content articles to
1382            return
1383            * @param end the upper bound of the range of web content articles to
1384            return (not inclusive)
1385            * @param obc the comparator to order the web content articles
1386            * @return the range of matching web content articles ordered by the
1387            comparator
1388            * @throws SystemException if a system exception occurred
1389            */
1390            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1391            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
1392                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
1393                    long classNameId, java.lang.String articleId, java.lang.Double version,
1394                    java.lang.String title, java.lang.String description,
1395                    java.lang.String content, java.lang.String type,
1396                    java.lang.String[] ddmStructureKeys,
1397                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1398                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1399                    boolean andOperator, int start, int end,
1400                    com.liferay.portal.kernel.util.OrderByComparator obc)
1401                    throws com.liferay.portal.kernel.exception.SystemException;
1402    
1403            /**
1404            * Returns the number of web content articles matching the parameters,
1405            * including a keywords parameter for matching with the article's ID, title,
1406            * description, and content, a DDM structure key parameter, and a DDM
1407            * template key parameter.
1408            *
1409            * @param companyId the primary key of the web content article's company
1410            * @param groupId the primary key of the group (optionally <code>0</code>)
1411            * @param folderIds the primary keys of the web content article folders
1412            (optionally {@link java.util.Collections#EMPTY_LIST})
1413            * @param classNameId the primary key of the DDMStructure class if the web
1414            content article is related to a DDM structure, the primary key of
1415            the class name associated with the article, or {@link
1416            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1417            * @param keywords the keywords (space separated), which may occur in the
1418            web content article ID, title, description, or content
1419            (optionally <code>null</code>). If the keywords value is not
1420            <code>null</code>, the search uses the OR operator in connecting
1421            query criteria; otherwise it uses the AND operator.
1422            * @param version the web content article's version (optionally
1423            <code>null</code>)
1424            * @param type the web content article's type (optionally
1425            <code>null</code>)
1426            * @param ddmStructureKey the primary key of the web content article's DDM
1427            structure, if the article is related to a DDM structure, or
1428            <code>null</code> otherwise
1429            * @param ddmTemplateKey the primary key of the web content article's DDM
1430            template (optionally <code>null</code>). If the article is
1431            related to a DDM structure, the template's structure must match
1432            it.
1433            * @param displayDateGT the date after which a matching web content
1434            article's display date must be after (optionally
1435            <code>null</code>)
1436            * @param displayDateLT the date before which a matching web content
1437            article's display date must be before (optionally
1438            <code>null</code>)
1439            * @param status the web content article's workflow status. For more
1440            information see {@link WorkflowConstants} for constants starting
1441            with the "STATUS_" prefix.
1442            * @param reviewDate the web content article's scheduled review date
1443            (optionally <code>null</code>)
1444            * @return the number of matching web content articles
1445            * @throws SystemException if a system exception occurred
1446            */
1447            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1448            public int searchCount(long companyId, long groupId,
1449                    java.util.List<java.lang.Long> folderIds, long classNameId,
1450                    java.lang.String keywords, java.lang.Double version,
1451                    java.lang.String type, java.lang.String ddmStructureKey,
1452                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1453                    java.util.Date displayDateLT, int status, java.util.Date reviewDate)
1454                    throws com.liferay.portal.kernel.exception.SystemException;
1455    
1456            /**
1457            * Returns the number of web content articles matching the parameters,
1458            * including keyword parameters for article ID, title, description, and
1459            * content, a DDM structure key parameter, a DDM template key parameter, and
1460            * an AND operator switch.
1461            *
1462            * @param companyId the primary key of the web content article's company
1463            * @param groupId the primary key of the group (optionally <code>0</code>)
1464            * @param folderIds the primary keys of the web content article folders
1465            (optionally {@link java.util.Collections#EMPTY_LIST})
1466            * @param classNameId the primary key of the DDMStructure class if the web
1467            content article is related to a DDM structure, the primary key of
1468            the class name associated with the article, or {@link
1469            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1470            * @param articleId the article ID keywords (space separated, optionally
1471            <code>null</code>)
1472            * @param version the web content article's version (optionally
1473            <code>null</code>)
1474            * @param title the title keywords (space separated, optionally
1475            <code>null</code>)
1476            * @param description the description keywords (space separated, optionally
1477            <code>null</code>)
1478            * @param content the content keywords (space separated, optionally
1479            <code>null</code>)
1480            * @param type the web content article's type (optionally
1481            <code>null</code>)
1482            * @param ddmStructureKey the primary key of the web content article's DDM
1483            structure, if the article is related to a DDM structure, or
1484            <code>null</code> otherwise
1485            * @param ddmTemplateKey the primary key of the web content article's DDM
1486            template (optionally <code>null</code>). If the article is
1487            related to a DDM structure, the template's structure must match
1488            it.
1489            * @param displayDateGT the date after which a matching web content
1490            article's display date must be after (optionally
1491            <code>null</code>)
1492            * @param displayDateLT the date before which a matching web content
1493            article's display date must be before (optionally
1494            <code>null</code>)
1495            * @param status the web content article's workflow status. For more
1496            information see {@link WorkflowConstants} for constants starting
1497            with the "STATUS_" prefix.
1498            * @param reviewDate the web content article's scheduled review date
1499            (optionally <code>null</code>)
1500            * @param andOperator whether every field must match its value or keywords,
1501            or just one field must match. Group, folder IDs, class name ID,
1502            and status must all match their values.
1503            * @return the number of matching web content articles
1504            * @throws SystemException if a system exception occurred
1505            */
1506            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1507            public int searchCount(long companyId, long groupId,
1508                    java.util.List<java.lang.Long> folderIds, long classNameId,
1509                    java.lang.String articleId, java.lang.Double version,
1510                    java.lang.String title, java.lang.String description,
1511                    java.lang.String content, java.lang.String type,
1512                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1513                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1514                    java.util.Date reviewDate, boolean andOperator)
1515                    throws com.liferay.portal.kernel.exception.SystemException;
1516    
1517            /**
1518            * Returns the number of web content articles matching the parameters,
1519            * including keyword parameters for article ID, title, description, and
1520            * content, a DDM structure keys (plural) parameter, a DDM template keys
1521            * (plural) parameter, and an AND operator switch.
1522            *
1523            * @param companyId the primary key of the web content article's company
1524            * @param groupId the primary key of the group (optionally <code>0</code>)
1525            * @param folderIds the primary keys of the web content article folders
1526            (optionally {@link java.util.Collections#EMPTY_LIST})
1527            * @param classNameId the primary key of the DDMStructure class if the web
1528            content article is related to a DDM structure, the primary key of
1529            the class name associated with the article, or {@link
1530            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1531            * @param articleId the article ID keywords (space separated, optionally
1532            <code>null</code>)
1533            * @param version the web content article's version (optionally
1534            <code>null</code>)
1535            * @param title the title keywords (space separated, optionally
1536            <code>null</code>)
1537            * @param description the description keywords (space separated, optionally
1538            <code>null</code>)
1539            * @param content the content keywords (space separated, optionally
1540            <code>null</code>)
1541            * @param type the web content article's type (optionally
1542            <code>null</code>)
1543            * @param ddmStructureKeys the primary keys of the web content article's
1544            DDM structures, if the article is related to a DDM structure, or
1545            <code>null</code> otherwise
1546            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1547            templates (originally <code>null</code>). If the articles are
1548            related to a DDM structure, the template's structure must match
1549            it.
1550            * @param displayDateGT the date after which a matching web content
1551            article's display date must be after (optionally
1552            <code>null</code>)
1553            * @param displayDateLT the date before which a matching web content
1554            article's display date must be before (optionally
1555            <code>null</code>)
1556            * @param status the web content article's workflow status. For more
1557            information see {@link WorkflowConstants} for constants starting
1558            with the "STATUS_" prefix.
1559            * @param reviewDate the web content article's scheduled review date
1560            (optionally <code>null</code>)
1561            * @param andOperator whether every field must match its value or keywords,
1562            or just one field must match.  Group, folder IDs, class name ID,
1563            and status must all match their values.
1564            * @return the number of matching web content articles
1565            * @throws SystemException if a system exception occurred
1566            */
1567            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1568            public int searchCount(long companyId, long groupId,
1569                    java.util.List<java.lang.Long> folderIds, long classNameId,
1570                    java.lang.String articleId, java.lang.Double version,
1571                    java.lang.String title, java.lang.String description,
1572                    java.lang.String content, java.lang.String type,
1573                    java.lang.String[] ddmStructureKeys,
1574                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1575                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1576                    boolean andOperator)
1577                    throws com.liferay.portal.kernel.exception.SystemException;
1578    
1579            /**
1580            * Subscribes the user to notifications for the web content article matching
1581            * the group, notifying him the instant versions of the article are created,
1582            * deleted, or modified.
1583            *
1584            * @param groupId the primary key of the group
1585            * @throws PortalException if the user did not have permission to subscribe
1586            to the web content article or if a matching user or group could
1587            not be found
1588            * @throws SystemException if a system exception occurred
1589            */
1590            public void subscribe(long groupId)
1591                    throws com.liferay.portal.kernel.exception.PortalException,
1592                            com.liferay.portal.kernel.exception.SystemException;
1593    
1594            /**
1595            * Unsubscribes the user from notifications for the web content article
1596            * matching the group.
1597            *
1598            * @param groupId the primary key of the group
1599            * @throws PortalException if the user did not have permission to subscribe
1600            to the web content article or if a matching user or subscription
1601            could not be found
1602            * @throws SystemException if a system exception occurred
1603            */
1604            public void unsubscribe(long groupId)
1605                    throws com.liferay.portal.kernel.exception.PortalException,
1606                            com.liferay.portal.kernel.exception.SystemException;
1607    
1608            /**
1609            * Updates the web content article matching the version, replacing its
1610            * folder, title, description, content, and layout UUID.
1611            *
1612            * @param userId the primary key of the user updating the web content
1613            article
1614            * @param groupId the primary key of the web content article's group
1615            * @param folderId the primary key of the web content article folder
1616            * @param articleId the primary key of the web content article
1617            * @param version the web content article's version
1618            * @param titleMap the web content article's locales and localized titles
1619            * @param descriptionMap the web content article's locales and localized
1620            descriptions
1621            * @param content the HTML content wrapped in XML. For more information,
1622            see the content example in the class description for {@link
1623            JournalArticleLocalServiceImpl}.
1624            * @param layoutUuid the unique string identifying the web content
1625            article's display page
1626            * @param serviceContext the service context to be applied. Can set the
1627            modification date, expando bridge attributes, asset category IDs,
1628            asset tag names, asset link entry IDs, workflow actions, the
1629            "defaultLanguageId" and "urlTitle" attributes, and can set
1630            whether to add the default command update for the web content
1631            article. With respect to social activities, by setting the
1632            service context's command to {@link
1633            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1634            is considered a web content update activity; otherwise it is
1635            considered a web content add activity.
1636            * @return the updated web content article
1637            * @throws PortalException if a user with the primary key or a matching web
1638            content article could not be found, or if a portal exception
1639            occurred
1640            * @throws SystemException if a system exception occurred
1641            */
1642            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1643                    long userId, long groupId, long folderId, java.lang.String articleId,
1644                    double version,
1645                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1646                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1647                    java.lang.String content, java.lang.String layoutUuid,
1648                    com.liferay.portal.service.ServiceContext serviceContext)
1649                    throws com.liferay.portal.kernel.exception.PortalException,
1650                            com.liferay.portal.kernel.exception.SystemException;
1651    
1652            /**
1653            * Updates the web content article with additional parameters.
1654            *
1655            * @param groupId the primary key of the web content article's group
1656            * @param folderId the primary key of the web content article folder
1657            * @param articleId the primary key of the web content article
1658            * @param version the web content article's version
1659            * @param titleMap the web content article's locales and localized titles
1660            * @param descriptionMap the web content article's locales and localized
1661            descriptions
1662            * @param content the HTML content wrapped in XML. For more information,
1663            see the content example in the class description for {@link
1664            JournalArticleLocalServiceImpl}.
1665            * @param type the structure's type, if the web content article is related
1666            to a DDM structure. For more information, see {@link
1667            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
1668            * @param ddmStructureKey the primary key of the web content article's DDM
1669            structure, if the article is related to a DDM structure, or
1670            <code>null</code> otherwise
1671            * @param ddmTemplateKey the primary key of the web content article's DDM
1672            template (optionally <code>null</code>). If the article is
1673            related to a DDM structure, the template's structure must match
1674            it.
1675            * @param layoutUuid the unique string identifying the web content
1676            article's display page
1677            * @param displayDateMonth the month the web content article is set to
1678            display
1679            * @param displayDateDay the calendar day the web content article is set to
1680            display
1681            * @param displayDateYear the year the web content article is set to
1682            display
1683            * @param displayDateHour the hour the web content article is set to
1684            display
1685            * @param displayDateMinute the minute the web content article is set to
1686            display
1687            * @param expirationDateMonth the month the web content article is set to
1688            expire
1689            * @param expirationDateDay the calendar day the web content article is set
1690            to expire
1691            * @param expirationDateYear the year the web content article is set to
1692            expire
1693            * @param expirationDateHour the hour the web content article is set to
1694            expire
1695            * @param expirationDateMinute the minute the web content article is set to
1696            expire
1697            * @param neverExpire whether the web content article is not set to auto
1698            expire
1699            * @param reviewDateMonth the month the web content article is set for
1700            review
1701            * @param reviewDateDay the calendar day the web content article is set for
1702            review
1703            * @param reviewDateYear the year the web content article is set for review
1704            * @param reviewDateHour the hour the web content article is set for review
1705            * @param reviewDateMinute the minute the web content article is set for
1706            review
1707            * @param neverReview whether the web content article is not set for review
1708            * @param indexable whether the web content is searchable
1709            * @param smallImage whether to update web content article's a small image.
1710            A file must be passed in as <code>smallImageFile</code> value,
1711            otherwise the current small image is deleted.
1712            * @param smallImageURL the web content article's small image URL
1713            (optionally <code>null</code>)
1714            * @param smallFile the web content article's new small image file
1715            (optionally <code>null</code>). Must pass in
1716            <code>smallImage</code> value of <code>true</code> to replace the
1717            article's small image file.
1718            * @param images the web content's images (optionally <code>null</code>)
1719            * @param articleURL the web content article's accessible URL (optionally
1720            <code>null</code>)
1721            * @param serviceContext the service context to be applied. Can set the
1722            modification date, expando bridge attributes, asset category IDs,
1723            asset tag names, asset link entry IDs, workflow actions, the
1724            "defaultLanguageId" and "urlTitle" attributes, and can set
1725            whether to add the default command update for the web content
1726            article. With respect to social activities, by setting the
1727            service context's command to {@link
1728            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1729            is considered a web content update activity; otherwise it is
1730            considered a web content add activity.
1731            * @return the updated web content article
1732            * @throws PortalException if the user did not have permission to update the
1733            web content article, if a user with the primary key or a matching
1734            web content article could not be found, or if a portal exception
1735            occurred
1736            * @throws SystemException if a system exception occurred
1737            */
1738            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1739                    long groupId, long folderId, java.lang.String articleId,
1740                    double version,
1741                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1742                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1743                    java.lang.String content, java.lang.String type,
1744                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1745                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
1746                    int displayDateYear, int displayDateHour, int displayDateMinute,
1747                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
1748                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
1749                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
1750                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
1751                    boolean indexable, boolean smallImage, java.lang.String smallImageURL,
1752                    java.io.File smallFile, java.util.Map<java.lang.String, byte[]> images,
1753                    java.lang.String articleURL,
1754                    com.liferay.portal.service.ServiceContext serviceContext)
1755                    throws com.liferay.portal.kernel.exception.PortalException,
1756                            com.liferay.portal.kernel.exception.SystemException;
1757    
1758            /**
1759            * Updates the web content article matching the version, replacing its
1760            * folder and content.
1761            *
1762            * @param groupId the primary key of the web content article's group
1763            * @param folderId the primary key of the web content article folder
1764            * @param articleId the primary key of the web content article
1765            * @param version the web content article's version
1766            * @param content the HTML content wrapped in XML. For more information,
1767            see the content example in the class description for {@link
1768            JournalArticleLocalServiceImpl}.
1769            * @param serviceContext the service context to be applied. Can set the
1770            modification date, expando bridge attributes, asset category IDs,
1771            asset tag names, asset link entry IDs, workflow actions, the
1772            "defaultLanguageId" and "urlTitle" attributes, and can set
1773            whether to add the default command update for the web content
1774            article. With respect to social activities, by setting the
1775            service context's command to {@link
1776            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1777            is considered a web content update activity; otherwise it is
1778            considered a web content add activity.
1779            * @return the updated web content article
1780            * @throws PortalException if the user did not have permission to update the
1781            web content article, if a user with the primary key or a matching
1782            web content article could not be found, or if a portal exception
1783            occurred
1784            * @throws SystemException if a system exception occurred
1785            */
1786            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
1787                    long groupId, long folderId, java.lang.String articleId,
1788                    double version, java.lang.String content,
1789                    com.liferay.portal.service.ServiceContext serviceContext)
1790                    throws com.liferay.portal.kernel.exception.PortalException,
1791                            com.liferay.portal.kernel.exception.SystemException;
1792    
1793            /**
1794            * @deprecated As of 6.2.0, replaced by {@link
1795            #updateArticleTranslation(long, String, double, Locale,
1796            String, String, String, Map, ServiceContext)}
1797            */
1798            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
1799                    long groupId, java.lang.String articleId, double version,
1800                    java.util.Locale locale, java.lang.String title,
1801                    java.lang.String description, java.lang.String content,
1802                    java.util.Map<java.lang.String, byte[]> images)
1803                    throws com.liferay.portal.kernel.exception.PortalException,
1804                            com.liferay.portal.kernel.exception.SystemException;
1805    
1806            /**
1807            * Updates the translation of the web content article.
1808            *
1809            * @param groupId the primary key of the web content article's group
1810            * @param articleId the primary key of the web content article
1811            * @param version the web content article's version
1812            * @param locale the locale of the web content article's display template
1813            * @param title the translated web content article title
1814            * @param description the translated web content article description
1815            * @param content the HTML content wrapped in XML. For more information,
1816            see the content example in the class description for {@link
1817            JournalArticleLocalServiceImpl}.
1818            * @param images the web content's images
1819            * @param serviceContext the service context to be applied. Can set the
1820            modification date and "urlTitle" attribute for the web content
1821            article.
1822            * @return the updated web content article
1823            * @throws PortalException if the user did not have permission to update the
1824            web content article, if a user with the primary key or a matching
1825            web content article could not be found, or if a portal exception
1826            occurred
1827            * @throws SystemException if a system exception occurred
1828            */
1829            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
1830                    long groupId, java.lang.String articleId, double version,
1831                    java.util.Locale locale, java.lang.String title,
1832                    java.lang.String description, java.lang.String content,
1833                    java.util.Map<java.lang.String, byte[]> images,
1834                    com.liferay.portal.service.ServiceContext serviceContext)
1835                    throws com.liferay.portal.kernel.exception.PortalException,
1836                            com.liferay.portal.kernel.exception.SystemException;
1837    
1838            /**
1839            * Updates the web content article matching the group, article ID, and
1840            * version, replacing its content.
1841            *
1842            * @param groupId the primary key of the web content article's group
1843            * @param articleId the primary key of the web content article
1844            * @param version the web content article's version
1845            * @param content the HTML content wrapped in XML. For more information,
1846            see the content example in the class description for {@link
1847            JournalArticleLocalServiceImpl}.
1848            * @return the updated web content article
1849            * @throws PortalException if the user did not have permission to update the
1850            web content article or if a matching web content article could
1851            not be found
1852            * @throws SystemException if a system exception occurred
1853            */
1854            public com.liferay.portlet.journal.model.JournalArticle updateContent(
1855                    long groupId, java.lang.String articleId, double version,
1856                    java.lang.String content)
1857                    throws com.liferay.portal.kernel.exception.PortalException,
1858                            com.liferay.portal.kernel.exception.SystemException;
1859    
1860            /**
1861            * Updates the workflow status of the web content article matching the
1862            * group, article ID, and version.
1863            *
1864            * @param groupId the primary key of the web content article's group
1865            * @param articleId the primary key of the web content article
1866            * @param version the web content article's version
1867            * @param status the web content article's workflow status. For more
1868            information see {@link WorkflowConstants} for constants starting
1869            with the "STATUS_" prefix.
1870            * @param articleURL the web content article's accessible URL
1871            * @param serviceContext the service context to be applied. Can set the
1872            modification date, portlet preferences, and can set whether to
1873            add the default command update for the web content article.
1874            * @return the updated web content article
1875            * @throws PortalException if the user did not have permission to update the
1876            web content article, if a matching web content article could not
1877            be found, or if a portal exception occurred
1878            * @throws SystemException if a system exception occurred
1879            */
1880            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
1881                    long groupId, java.lang.String articleId, double version, int status,
1882                    java.lang.String articleURL,
1883                    com.liferay.portal.service.ServiceContext serviceContext)
1884                    throws com.liferay.portal.kernel.exception.PortalException,
1885                            com.liferay.portal.kernel.exception.SystemException;
1886    }