001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.journal.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.transaction.Isolation;
022    import com.liferay.portal.kernel.transaction.Propagation;
023    import com.liferay.portal.kernel.transaction.Transactional;
024    import com.liferay.portal.service.BaseLocalService;
025    import com.liferay.portal.service.PersistedModelLocalService;
026    
027    /**
028     * Provides the local service interface for JournalArticle. Methods of this
029     * service will not have security checks based on the propagated JAAS
030     * credentials because this service can only be accessed from within the same
031     * VM.
032     *
033     * @author Brian Wing Shun Chan
034     * @see JournalArticleLocalServiceUtil
035     * @see com.liferay.portlet.journal.service.base.JournalArticleLocalServiceBaseImpl
036     * @see com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl
037     * @generated
038     */
039    @ProviderType
040    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
041            PortalException.class, SystemException.class})
042    public interface JournalArticleLocalService extends BaseLocalService,
043            PersistedModelLocalService {
044            /*
045             * NOTE FOR DEVELOPERS:
046             *
047             * Never modify or reference this interface directly. Always use {@link JournalArticleLocalServiceUtil} to access the journal article local service. Add custom service methods to {@link com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
048             */
049    
050            /**
051            * Adds the journal article to the database. Also notifies the appropriate model listeners.
052            *
053            * @param journalArticle the journal article
054            * @return the journal article that was added
055            * @throws SystemException if a system exception occurred
056            */
057            public com.liferay.portlet.journal.model.JournalArticle addJournalArticle(
058                    com.liferay.portlet.journal.model.JournalArticle journalArticle)
059                    throws com.liferay.portal.kernel.exception.SystemException;
060    
061            /**
062            * Creates a new journal article with the primary key. Does not add the journal article to the database.
063            *
064            * @param id the primary key for the new journal article
065            * @return the new journal article
066            */
067            public com.liferay.portlet.journal.model.JournalArticle createJournalArticle(
068                    long id);
069    
070            /**
071            * Deletes the journal article with the primary key from the database. Also notifies the appropriate model listeners.
072            *
073            * @param id the primary key of the journal article
074            * @return the journal article that was removed
075            * @throws PortalException if a journal article with the primary key could not be found
076            * @throws SystemException if a system exception occurred
077            */
078            public com.liferay.portlet.journal.model.JournalArticle deleteJournalArticle(
079                    long id)
080                    throws com.liferay.portal.kernel.exception.PortalException,
081                            com.liferay.portal.kernel.exception.SystemException;
082    
083            /**
084            * Deletes the journal article from the database. Also notifies the appropriate model listeners.
085            *
086            * @param journalArticle the journal article
087            * @return the journal article that was removed
088            * @throws SystemException if a system exception occurred
089            */
090            public com.liferay.portlet.journal.model.JournalArticle deleteJournalArticle(
091                    com.liferay.portlet.journal.model.JournalArticle journalArticle)
092                    throws com.liferay.portal.kernel.exception.SystemException;
093    
094            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
095    
096            /**
097            * Performs a dynamic query on the database and returns the matching rows.
098            *
099            * @param dynamicQuery the dynamic query
100            * @return the matching rows
101            * @throws SystemException if a system exception occurred
102            */
103            @SuppressWarnings("rawtypes")
104            public java.util.List dynamicQuery(
105                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
106                    throws com.liferay.portal.kernel.exception.SystemException;
107    
108            /**
109            * Performs a dynamic query on the database and returns a range of the matching rows.
110            *
111            * <p>
112            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.journal.model.impl.JournalArticleModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
113            * </p>
114            *
115            * @param dynamicQuery the dynamic query
116            * @param start the lower bound of the range of model instances
117            * @param end the upper bound of the range of model instances (not inclusive)
118            * @return the range of matching rows
119            * @throws SystemException if a system exception occurred
120            */
121            @SuppressWarnings("rawtypes")
122            public java.util.List dynamicQuery(
123                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
124                    int end) throws com.liferay.portal.kernel.exception.SystemException;
125    
126            /**
127            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
128            *
129            * <p>
130            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.journal.model.impl.JournalArticleModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
131            * </p>
132            *
133            * @param dynamicQuery the dynamic query
134            * @param start the lower bound of the range of model instances
135            * @param end the upper bound of the range of model instances (not inclusive)
136            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
137            * @return the ordered range of matching rows
138            * @throws SystemException if a system exception occurred
139            */
140            @SuppressWarnings("rawtypes")
141            public java.util.List dynamicQuery(
142                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
143                    int end,
144                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
145                    throws com.liferay.portal.kernel.exception.SystemException;
146    
147            /**
148            * Returns the number of rows that match the dynamic query.
149            *
150            * @param dynamicQuery the dynamic query
151            * @return the number of rows that match the dynamic query
152            * @throws SystemException if a system exception occurred
153            */
154            public long dynamicQueryCount(
155                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
156                    throws com.liferay.portal.kernel.exception.SystemException;
157    
158            /**
159            * Returns the number of rows that match the dynamic query.
160            *
161            * @param dynamicQuery the dynamic query
162            * @param projection the projection to apply to the query
163            * @return the number of rows that match the dynamic query
164            * @throws SystemException if a system exception occurred
165            */
166            public long dynamicQueryCount(
167                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
168                    com.liferay.portal.kernel.dao.orm.Projection projection)
169                    throws com.liferay.portal.kernel.exception.SystemException;
170    
171            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
172            public com.liferay.portlet.journal.model.JournalArticle fetchJournalArticle(
173                    long id) throws com.liferay.portal.kernel.exception.SystemException;
174    
175            /**
176            * Returns the journal article with the matching UUID and company.
177            *
178            * @param uuid the journal article's UUID
179            * @param companyId the primary key of the company
180            * @return the matching journal article, or <code>null</code> if a matching journal article could not be found
181            * @throws SystemException if a system exception occurred
182            */
183            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
184            public com.liferay.portlet.journal.model.JournalArticle fetchJournalArticleByUuidAndCompanyId(
185                    java.lang.String uuid, long companyId)
186                    throws com.liferay.portal.kernel.exception.SystemException;
187    
188            /**
189            * Returns the journal article matching the UUID and group.
190            *
191            * @param uuid the journal article's UUID
192            * @param groupId the primary key of the group
193            * @return the matching journal article, or <code>null</code> if a matching journal article could not be found
194            * @throws SystemException if a system exception occurred
195            */
196            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
197            public com.liferay.portlet.journal.model.JournalArticle fetchJournalArticleByUuidAndGroupId(
198                    java.lang.String uuid, long groupId)
199                    throws com.liferay.portal.kernel.exception.SystemException;
200    
201            /**
202            * Returns the journal article with the primary key.
203            *
204            * @param id the primary key of the journal article
205            * @return the journal article
206            * @throws PortalException if a journal article with the primary key could not be found
207            * @throws SystemException if a system exception occurred
208            */
209            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
210            public com.liferay.portlet.journal.model.JournalArticle getJournalArticle(
211                    long id)
212                    throws com.liferay.portal.kernel.exception.PortalException,
213                            com.liferay.portal.kernel.exception.SystemException;
214    
215            @Override
216            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
217            public com.liferay.portal.model.PersistedModel getPersistedModel(
218                    java.io.Serializable primaryKeyObj)
219                    throws com.liferay.portal.kernel.exception.PortalException,
220                            com.liferay.portal.kernel.exception.SystemException;
221    
222            /**
223            * Returns the journal article with the matching UUID and company.
224            *
225            * @param uuid the journal article's UUID
226            * @param companyId the primary key of the company
227            * @return the matching journal article
228            * @throws PortalException if a matching journal article could not be found
229            * @throws SystemException if a system exception occurred
230            */
231            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
232            public com.liferay.portlet.journal.model.JournalArticle getJournalArticleByUuidAndCompanyId(
233                    java.lang.String uuid, long companyId)
234                    throws com.liferay.portal.kernel.exception.PortalException,
235                            com.liferay.portal.kernel.exception.SystemException;
236    
237            /**
238            * Returns the journal article matching the UUID and group.
239            *
240            * @param uuid the journal article's UUID
241            * @param groupId the primary key of the group
242            * @return the matching journal article
243            * @throws PortalException if a matching journal article could not be found
244            * @throws SystemException if a system exception occurred
245            */
246            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
247            public com.liferay.portlet.journal.model.JournalArticle getJournalArticleByUuidAndGroupId(
248                    java.lang.String uuid, long groupId)
249                    throws com.liferay.portal.kernel.exception.PortalException,
250                            com.liferay.portal.kernel.exception.SystemException;
251    
252            /**
253            * Returns a range of all the journal articles.
254            *
255            * <p>
256            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.journal.model.impl.JournalArticleModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
257            * </p>
258            *
259            * @param start the lower bound of the range of journal articles
260            * @param end the upper bound of the range of journal articles (not inclusive)
261            * @return the range of journal articles
262            * @throws SystemException if a system exception occurred
263            */
264            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
265            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getJournalArticles(
266                    int start, int end)
267                    throws com.liferay.portal.kernel.exception.SystemException;
268    
269            /**
270            * Returns the number of journal articles.
271            *
272            * @return the number of journal articles
273            * @throws SystemException if a system exception occurred
274            */
275            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
276            public int getJournalArticlesCount()
277                    throws com.liferay.portal.kernel.exception.SystemException;
278    
279            /**
280            * Updates the journal article in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
281            *
282            * @param journalArticle the journal article
283            * @return the journal article that was updated
284            * @throws SystemException if a system exception occurred
285            */
286            public com.liferay.portlet.journal.model.JournalArticle updateJournalArticle(
287                    com.liferay.portlet.journal.model.JournalArticle journalArticle)
288                    throws com.liferay.portal.kernel.exception.SystemException;
289    
290            /**
291            * Returns the Spring bean ID for this bean.
292            *
293            * @return the Spring bean ID for this bean
294            */
295            public java.lang.String getBeanIdentifier();
296    
297            /**
298            * Sets the Spring bean ID for this bean.
299            *
300            * @param beanIdentifier the Spring bean ID for this bean
301            */
302            public void setBeanIdentifier(java.lang.String beanIdentifier);
303    
304            /**
305            * Adds a web content article with additional parameters.
306            *
307            * @param userId the primary key of the web content article's creator/owner
308            * @param groupId the primary key of the web content article's group
309            * @param folderId the primary key of the web content article folder
310            * @param classNameId the primary key of the DDMStructure class if the web
311            content article is related to a DDM structure, the primary key of
312            the class name associated with the article, or {@link
313            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
314            * @param classPK the primary key of the DDM structure, if the primary key
315            of the DDMStructure class is given as the
316            <code>classNameId</code> parameter, the primary key of the class
317            associated with the web content article, or <code>0</code>
318            otherwise
319            * @param articleId the primary key of the web content article
320            * @param autoArticleId whether to auto generate the web content article ID
321            * @param version the web content article's version
322            * @param titleMap the web content article's locales and localized titles
323            * @param descriptionMap the web content article's locales and localized
324            descriptions
325            * @param content the HTML content wrapped in XML. For more information,
326            see the content example in the class description for {@link
327            JournalArticleLocalServiceImpl}.
328            * @param type the structure's type, if the web content article is related
329            to a DDM structure. For more information, see {@link
330            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
331            * @param ddmStructureKey the primary key of the web content article's DDM
332            structure, if the article is related to a DDM structure, or
333            <code>null</code> otherwise
334            * @param ddmTemplateKey the primary key of the web content article's DDM
335            template (optionally <code>null</code>). If the article is
336            related to a DDM structure, the template's structure must match
337            it.
338            * @param layoutUuid the unique string identifying the web content
339            article's display page
340            * @param displayDateMonth the month the web content article is set to
341            display
342            * @param displayDateDay the calendar day the web content article is set to
343            display
344            * @param displayDateYear the year the web content article is set to
345            display
346            * @param displayDateHour the hour the web content article is set to
347            display
348            * @param displayDateMinute the minute the web content article is set to
349            display
350            * @param expirationDateMonth the month the web content article is set to
351            expire
352            * @param expirationDateDay the calendar day the web content article is set
353            to expire
354            * @param expirationDateYear the year the web content article is set to
355            expire
356            * @param expirationDateHour the hour the web content article is set to
357            expire
358            * @param expirationDateMinute the minute the web content article is set to
359            expire
360            * @param neverExpire whether the web content article is not set to auto
361            expire
362            * @param reviewDateMonth the month the web content article is set for
363            review
364            * @param reviewDateDay the calendar day the web content article is set for
365            review
366            * @param reviewDateYear the year the web content article is set for review
367            * @param reviewDateHour the hour the web content article is set for review
368            * @param reviewDateMinute the minute the web content article is set for
369            review
370            * @param neverReview whether the web content article is not set for review
371            * @param indexable whether the web content article is searchable
372            * @param smallImage whether the web content article has a small image
373            * @param smallImageURL the web content article's small image URL
374            * @param smallImageFile the web content article's small image file
375            * @param images the web content's images
376            * @param articleURL the web content article's accessible URL
377            * @param serviceContext the service context to be applied. Can set the
378            UUID, creation date, modification date, expando bridge
379            attributes, guest permissions, group permissions, asset category
380            IDs, asset tag names, asset link entry IDs, the "urlTitle"
381            attribute, and workflow actions for the web content article. Can
382            also set whether to add the default guest and group permissions.
383            * @return the web content article
384            * @throws PortalException if a portal exception occurred
385            * @throws SystemException if a system exception occurred
386            */
387            public com.liferay.portlet.journal.model.JournalArticle addArticle(
388                    long userId, long groupId, long folderId, long classNameId,
389                    long classPK, java.lang.String articleId, boolean autoArticleId,
390                    double version,
391                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
392                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
393                    java.lang.String content, java.lang.String type,
394                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
395                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
396                    int displayDateYear, int displayDateHour, int displayDateMinute,
397                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
398                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
399                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
400                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
401                    boolean indexable, boolean smallImage, java.lang.String smallImageURL,
402                    java.io.File smallImageFile,
403                    java.util.Map<java.lang.String, byte[]> images,
404                    java.lang.String articleURL,
405                    com.liferay.portal.service.ServiceContext serviceContext)
406                    throws com.liferay.portal.kernel.exception.PortalException,
407                            com.liferay.portal.kernel.exception.SystemException;
408    
409            /**
410            * Adds a web content article.
411            *
412            * @param userId the primary key of the web content article's creator/owner
413            * @param groupId the primary key of the web content article's group
414            * @param folderId the primary key of the web content article folder
415            * @param titleMap the web content article's locales and localized titles
416            * @param descriptionMap the web content article's locales and localized
417            descriptions
418            * @param content the HTML content wrapped in XML. For more information,
419            see the content example in the class description for {@link
420            JournalArticleLocalServiceImpl}.
421            * @param ddmStructureKey the primary key of the web content article's DDM
422            structure, if the article is related to a DDM structure, or
423            <code>null</code> otherwise
424            * @param ddmTemplateKey the primary key of the web content article's DDM
425            template (optionally <code>null</code>). If the article is
426            related to a DDM structure, the template's structure must match
427            it.
428            * @param serviceContext the service context to be applied. Can set the
429            UUID, creation date, modification date, expando bridge
430            attributes, guest permissions, group permissions, asset category
431            IDs, asset tag names, asset link entry IDs, the "urlTitle"
432            attribute, and workflow actions for the web content article. Can
433            also set whether to add the default guest and group permissions.
434            * @return the web content article
435            * @throws PortalException if a portal exception occurred
436            * @throws SystemException if a system exception occurred
437            */
438            public com.liferay.portlet.journal.model.JournalArticle addArticle(
439                    long userId, long groupId, long folderId,
440                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
441                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
442                    java.lang.String content, java.lang.String ddmStructureKey,
443                    java.lang.String ddmTemplateKey,
444                    com.liferay.portal.service.ServiceContext serviceContext)
445                    throws com.liferay.portal.kernel.exception.PortalException,
446                            com.liferay.portal.kernel.exception.SystemException;
447    
448            /**
449            * Adds the resources to the web content article.
450            *
451            * @param article the web content article
452            * @param addGroupPermissions whether to add group permissions
453            * @param addGuestPermissions whether to add guest permissions
454            * @throws PortalException if no portal actions could be found associated
455            with the web content article or if a portal exception occurred
456            * @throws SystemException if a system exception occurred
457            */
458            public void addArticleResources(
459                    com.liferay.portlet.journal.model.JournalArticle article,
460                    boolean addGroupPermissions, boolean addGuestPermissions)
461                    throws com.liferay.portal.kernel.exception.PortalException,
462                            com.liferay.portal.kernel.exception.SystemException;
463    
464            /**
465            * Adds the model resources with the permissions to the web content article.
466            *
467            * @param article the web content article to add resources to
468            * @param groupPermissions the group permissions to be added
469            * @param guestPermissions the guest permissions to be added
470            * @throws PortalException if a portal exception occurred
471            * @throws SystemException if a system exception occurred
472            */
473            public void addArticleResources(
474                    com.liferay.portlet.journal.model.JournalArticle article,
475                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
476                    throws com.liferay.portal.kernel.exception.PortalException,
477                            com.liferay.portal.kernel.exception.SystemException;
478    
479            /**
480            * Adds the resources to the most recently created web content article.
481            *
482            * @param groupId the primary key of the web content article's group
483            * @param articleId the primary key of the web content article
484            * @param addGroupPermissions whether to add group permissions
485            * @param addGuestPermissions whether to add guest permissions
486            * @throws PortalException if a portal exception occurred
487            * @throws SystemException if a system exception occurred
488            */
489            public void addArticleResources(long groupId, java.lang.String articleId,
490                    boolean addGroupPermissions, boolean addGuestPermissions)
491                    throws com.liferay.portal.kernel.exception.PortalException,
492                            com.liferay.portal.kernel.exception.SystemException;
493    
494            /**
495            * Adds the resources with the permissions to the most recently created web
496            * content article.
497            *
498            * @param groupId the primary key of the web content article's group
499            * @param articleId the primary key of the web content article
500            * @param groupPermissions the group permissions to be added
501            * @param guestPermissions the guest permissions to be added
502            * @throws PortalException if a portal exception occurred
503            * @throws SystemException if a system exception occurred
504            */
505            public void addArticleResources(long groupId, java.lang.String articleId,
506                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
507                    throws com.liferay.portal.kernel.exception.PortalException,
508                            com.liferay.portal.kernel.exception.SystemException;
509    
510            /**
511            * Returns the web content article with the group, article ID, and version.
512            * This method checks for the article's resource primary key and, if not
513            * found, creates a new one.
514            *
515            * @param groupId the primary key of the web content article's group
516            * @param articleId the primary key of the web content article
517            * @param version the web content article's version
518            * @return the matching web content article
519            * @throws PortalException if a matching web content article could not be
520            found
521            * @throws SystemException if a system exception occurred
522            */
523            public com.liferay.portlet.journal.model.JournalArticle checkArticleResourcePrimKey(
524                    long groupId, java.lang.String articleId, double version)
525                    throws com.liferay.portal.kernel.exception.PortalException,
526                            com.liferay.portal.kernel.exception.SystemException;
527    
528            /**
529            * Checks all web content articles by handling their expirations and sending
530            * review notifications based on their current workflow.
531            *
532            * @throws PortalException if a portal exception occurred
533            * @throws SystemException if a system exception occurred
534            */
535            public void checkArticles()
536                    throws com.liferay.portal.kernel.exception.PortalException,
537                            com.liferay.portal.kernel.exception.SystemException;
538    
539            /**
540            * Checks the web content article matching the group, article ID, and
541            * version, replacing escaped newline and return characters with non-escaped
542            * newline and return characters.
543            *
544            * @param groupId the primary key of the web content article's group
545            * @param articleId the primary key of the web content article
546            * @param version the web content article's version
547            * @throws PortalException if a matching web content article could not be
548            found
549            * @throws SystemException if a system exception occurred
550            */
551            public void checkNewLine(long groupId, java.lang.String articleId,
552                    double version)
553                    throws com.liferay.portal.kernel.exception.PortalException,
554                            com.liferay.portal.kernel.exception.SystemException;
555    
556            /**
557            * Checks the web content article matching the group, article ID, and
558            * version for an associated structure. If no structure is associated,
559            * return; otherwise check that the article and structure match.
560            *
561            * @param groupId the primary key of the web content article's group
562            * @param articleId the primary key of the web content article
563            * @param version the web content article's version
564            * @throws PortalException if a matching web content article could not be
565            found, if the article's structure does not match it, or if a
566            portal exception occurred
567            * @throws SystemException if a system exception occurred
568            */
569            public void checkStructure(long groupId, java.lang.String articleId,
570                    double version)
571                    throws com.liferay.portal.kernel.exception.PortalException,
572                            com.liferay.portal.kernel.exception.SystemException;
573    
574            /**
575            * Copies the web content article matching the group, article ID, and
576            * version. This method creates a new article, extracting all the values
577            * from the old one and updating its article ID.
578            *
579            * @param userId the primary key of the web content article's creator/owner
580            * @param groupId the primary key of the web content article's group
581            * @param oldArticleId the primary key of the old web content article
582            * @param newArticleId the primary key of the new web content article
583            * @param autoArticleId whether to auto-generate the web content article ID
584            * @param version the web content article's version
585            * @return the new web content article
586            * @throws PortalException if a matching web content article could not be
587            found or if a portal exception occurred
588            * @throws SystemException if a system exception occurred
589            */
590            public com.liferay.portlet.journal.model.JournalArticle copyArticle(
591                    long userId, long groupId, java.lang.String oldArticleId,
592                    java.lang.String newArticleId, boolean autoArticleId, double version)
593                    throws com.liferay.portal.kernel.exception.PortalException,
594                            com.liferay.portal.kernel.exception.SystemException;
595    
596            /**
597            * Deletes the web content article and its resources.
598            *
599            * @param article the web content article
600            * @throws PortalException if a portal exception occurred
601            * @throws SystemException if a system exception occurred
602            */
603            public com.liferay.portlet.journal.model.JournalArticle deleteArticle(
604                    com.liferay.portlet.journal.model.JournalArticle article)
605                    throws com.liferay.portal.kernel.exception.PortalException,
606                            com.liferay.portal.kernel.exception.SystemException;
607    
608            /**
609            * Deletes the web content article and its resources, optionally sending
610            * email notifying denial of the article if it had not yet been approved.
611            *
612            * @param article the web content article
613            * @param articleURL the web content article's accessible URL to include in
614            email notifications (optionally <code>null</code>)
615            * @param serviceContext the service context to be applied (optionally
616            <code>null</code>). Can set the portlet preferences that include
617            email information to notify recipients of the unapproved web
618            content's denial.
619            * @throws PortalException if a portal exception occurred
620            * @throws SystemException if a system exception occurred
621            */
622            public com.liferay.portlet.journal.model.JournalArticle deleteArticle(
623                    com.liferay.portlet.journal.model.JournalArticle article,
624                    java.lang.String articleURL,
625                    com.liferay.portal.service.ServiceContext serviceContext)
626                    throws com.liferay.portal.kernel.exception.PortalException,
627                            com.liferay.portal.kernel.exception.SystemException;
628    
629            /**
630            * Deletes the web content article and its resources matching the group,
631            * article ID, and version, optionally sending email notifying denial of the
632            * web content article if it had not yet been approved.
633            *
634            * @param groupId the primary key of the web content article's group
635            * @param articleId the primary key of the web content article
636            * @param version the web content article's version
637            * @param articleURL the web content article's accessible URL
638            * @param serviceContext the service context to be applied. Can set the
639            portlet preferences that include email information to notify
640            recipients of the unapproved web content article's denial.
641            * @throws PortalException if a matching web content article could not be
642            found or if a portal exception occurred
643            * @throws SystemException if a system exception occurred
644            */
645            public com.liferay.portlet.journal.model.JournalArticle deleteArticle(
646                    long groupId, java.lang.String articleId, double version,
647                    java.lang.String articleURL,
648                    com.liferay.portal.service.ServiceContext serviceContext)
649                    throws com.liferay.portal.kernel.exception.PortalException,
650                            com.liferay.portal.kernel.exception.SystemException;
651    
652            /**
653            * Deletes all web content articles and their resources matching the group
654            * and article ID, optionally sending email notifying denial of article if
655            * it had not yet been approved.
656            *
657            * @param groupId the primary key of the web content article's group
658            * @param articleId the primary key of the web content article
659            * @param serviceContext the service context to be applied. Can set the
660            portlet preferences that include email information to notify
661            recipients of the unapproved web content article's denial.
662            * @throws PortalException if a portal exception occurred
663            * @throws SystemException if a system exception occurred
664            */
665            public void deleteArticle(long groupId, java.lang.String articleId,
666                    com.liferay.portal.service.ServiceContext serviceContext)
667                    throws com.liferay.portal.kernel.exception.PortalException,
668                            com.liferay.portal.kernel.exception.SystemException;
669    
670            /**
671            * Deletes all the group's web content articles and resources.
672            *
673            * @param groupId the primary key of the web content article's group
674            * @throws PortalException if a portal exception occurred
675            * @throws SystemException if a system exception occurred
676            */
677            public void deleteArticles(long groupId)
678                    throws com.liferay.portal.kernel.exception.PortalException,
679                            com.liferay.portal.kernel.exception.SystemException;
680    
681            /**
682            * Deletes all the group's web content articles and resources in the folder,
683            * including recycled articles.
684            *
685            * @param groupId the primary key of the web content article's group
686            * @param folderId the primary key of the web content article folder
687            * @throws PortalException if a portal exception occurred
688            * @throws SystemException if a system exception occurred
689            */
690            public void deleteArticles(long groupId, long folderId)
691                    throws com.liferay.portal.kernel.exception.PortalException,
692                            com.liferay.portal.kernel.exception.SystemException;
693    
694            /**
695            * Deletes all the group's web content articles and resources in the folder,
696            * optionally including recycled articles.
697            *
698            * @param groupId the primary key of the web content article's group
699            * @param folderId the primary key of the web content article folder
700            * @param includeTrashedEntries whether to include recycled web content
701            articles
702            * @throws PortalException if a portal exception occurred
703            * @throws SystemException if a system exception occurred
704            */
705            public void deleteArticles(long groupId, long folderId,
706                    boolean includeTrashedEntries)
707                    throws com.liferay.portal.kernel.exception.PortalException,
708                            com.liferay.portal.kernel.exception.SystemException;
709    
710            /**
711            * Deletes the layout's association with the web content articles for the
712            * group.
713            *
714            * @param groupId the primary key of the web content article's group
715            * @param layoutUuid the unique string identifying the web content
716            article's display page
717            * @throws SystemException if a system exception occurred
718            */
719            public void deleteLayoutArticleReferences(long groupId,
720                    java.lang.String layoutUuid)
721                    throws com.liferay.portal.kernel.exception.SystemException;
722    
723            /**
724            * Expires the web content article matching the group, article ID, and
725            * version.
726            *
727            * @param userId the primary key of the user updating the web content
728            article
729            * @param groupId the primary key of the web content article's group
730            * @param articleId the primary key of the web content article
731            * @param version the web content article's version
732            * @param articleURL the web content article's accessible URL
733            * @param serviceContext the service context to be applied. Can set the
734            modification date, status date, portlet preferences, and can set
735            whether to add the default command update for the web content
736            article. With respect to social activities, by setting the
737            service context's command to {@link
738            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
739            is considered a web content update activity; otherwise it is
740            considered a web content add activity.
741            * @return the web content article
742            * @throws PortalException if a matching web content article could not be
743            found or if a portal exception occurred
744            * @throws SystemException if a system exception occurred
745            */
746            public com.liferay.portlet.journal.model.JournalArticle expireArticle(
747                    long userId, long groupId, java.lang.String articleId, double version,
748                    java.lang.String articleURL,
749                    com.liferay.portal.service.ServiceContext serviceContext)
750                    throws com.liferay.portal.kernel.exception.PortalException,
751                            com.liferay.portal.kernel.exception.SystemException;
752    
753            /**
754            * Expires the web content article matching the group and article ID,
755            * expiring all of its versions if the
756            * <code>journal.article.expire.all.versions</code> portal property is
757            * <code>true</code>, otherwise expiring only its latest approved version.
758            *
759            * @param userId the primary key of the user updating the web content
760            article
761            * @param groupId the primary key of the web content article's group
762            * @param articleId the primary key of the web content article
763            * @param articleURL the web content article's accessible URL
764            * @param serviceContext the service context to be applied. Can set the
765            modification date, status date, portlet preferences, and can set
766            whether to add the default command update for the web content
767            article. With respect to social activities, by setting the
768            service context's command to {@link
769            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
770            is considered a web content update activity; otherwise it is
771            considered a web content add activity.
772            * @throws PortalException if a matching web content article could not be
773            found or if a portal exception occurred
774            * @throws SystemException if a system exception occurred
775            */
776            public void expireArticle(long userId, long groupId,
777                    java.lang.String articleId, java.lang.String articleURL,
778                    com.liferay.portal.service.ServiceContext serviceContext)
779                    throws com.liferay.portal.kernel.exception.PortalException,
780                            com.liferay.portal.kernel.exception.SystemException;
781    
782            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
783            public com.liferay.portlet.journal.model.JournalArticle fetchArticle(
784                    long groupId, java.lang.String articleId, double version)
785                    throws com.liferay.portal.kernel.exception.SystemException;
786    
787            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
788            public com.liferay.portlet.journal.model.JournalArticle fetchLatestArticle(
789                    long resourcePrimKey, int status, boolean preferApproved)
790                    throws com.liferay.portal.kernel.exception.SystemException;
791    
792            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
793            public com.liferay.portlet.journal.model.JournalArticle fetchLatestArticle(
794                    long groupId, java.lang.String articleId, int status)
795                    throws com.liferay.portal.kernel.exception.SystemException;
796    
797            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
798            public com.liferay.portlet.journal.model.JournalArticle fetchLatestIndexableArticle(
799                    long resourcePrimKey)
800                    throws com.liferay.portal.kernel.exception.SystemException;
801    
802            /**
803            * Returns the web content article with the ID.
804            *
805            * @param id the primary key of the web content article
806            * @return the web content article with the ID
807            * @throws PortalException if a matching web content article could not be
808            found
809            * @throws SystemException if a system exception occurred
810            */
811            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
812            public com.liferay.portlet.journal.model.JournalArticle getArticle(long id)
813                    throws com.liferay.portal.kernel.exception.PortalException,
814                            com.liferay.portal.kernel.exception.SystemException;
815    
816            /**
817            * Returns the latest approved web content article, or the latest unapproved
818            * article if none are approved. Both approved and unapproved articles must
819            * match the group and article ID.
820            *
821            * @param groupId the primary key of the web content article's group
822            * @param articleId the primary key of the web content article
823            * @return the matching web content article
824            * @throws PortalException if a matching web content article could not be
825            found
826            * @throws SystemException if a system exception occurred
827            */
828            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
829            public com.liferay.portlet.journal.model.JournalArticle getArticle(
830                    long groupId, java.lang.String articleId)
831                    throws com.liferay.portal.kernel.exception.PortalException,
832                            com.liferay.portal.kernel.exception.SystemException;
833    
834            /**
835            * Returns the web content article matching the group, article ID, and
836            * version.
837            *
838            * @param groupId the primary key of the web content article's group
839            * @param articleId the primary key of the web content article
840            * @param version the web content article's version
841            * @return the matching web content article
842            * @throws PortalException if a matching web content article could not be
843            found
844            * @throws SystemException if a system exception occurred
845            */
846            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
847            public com.liferay.portlet.journal.model.JournalArticle getArticle(
848                    long groupId, java.lang.String articleId, double version)
849                    throws com.liferay.portal.kernel.exception.PortalException,
850                            com.liferay.portal.kernel.exception.SystemException;
851    
852            /**
853            * Returns the web content article matching the group, class name, and class
854            * PK.
855            *
856            * @param groupId the primary key of the web content article's group
857            * @param className the DDMStructure class name if the web content article
858            is related to a DDM structure, the primary key of the class name
859            associated with the article, or {@link
860            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
861            * @param classPK the primary key of the DDM structure, if the the
862            DDMStructure class name is given as the <code>className</code>
863            parameter, the primary key of the class associated with the web
864            content article, or <code>0</code> otherwise
865            * @return the matching web content article
866            * @throws PortalException if a matching web content article could not be
867            found
868            * @throws SystemException if a system exception occurred
869            */
870            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
871            public com.liferay.portlet.journal.model.JournalArticle getArticle(
872                    long groupId, java.lang.String className, long classPK)
873                    throws com.liferay.portal.kernel.exception.PortalException,
874                            com.liferay.portal.kernel.exception.SystemException;
875    
876            /**
877            * Returns the latest web content article that is approved, or the latest
878            * unapproved article if none are approved. Both approved and unapproved
879            * articles must match the group and URL title.
880            *
881            * @param groupId the primary key of the web content article's group
882            * @param urlTitle the web content article's accessible URL title
883            * @return the matching web content article
884            * @throws PortalException if a portal exception occurred
885            * @throws SystemException if a system exception occurred
886            */
887            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
888            public com.liferay.portlet.journal.model.JournalArticle getArticleByUrlTitle(
889                    long groupId, java.lang.String urlTitle)
890                    throws com.liferay.portal.kernel.exception.PortalException,
891                            com.liferay.portal.kernel.exception.SystemException;
892    
893            /**
894            * Returns the web content associated with the web content article and DDM
895            * template.
896            *
897            * @param article the web content article
898            * @param ddmTemplateKey the primary key of the web content article's DDM
899            template (optionally <code>null</code>). If the article is
900            related to a DDM structure, the template's structure must match
901            it.
902            * @param viewMode the mode in which the web content is being viewed
903            * @param languageId the primary key of the language translation to get
904            * @param themeDisplay the theme display
905            * @return the web content associated with the DDM template
906            * @throws PortalException if a matching DDM template could not be found or
907            if a portal exception occurred
908            * @throws SystemException if a system exception occurred
909            */
910            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
911            public java.lang.String getArticleContent(
912                    com.liferay.portlet.journal.model.JournalArticle article,
913                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
914                    java.lang.String languageId,
915                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
916                    throws com.liferay.portal.kernel.exception.PortalException,
917                            com.liferay.portal.kernel.exception.SystemException;
918    
919            /**
920            * Returns the web content matching the group, article ID, and version, and
921            * associated with the DDM template.
922            *
923            * @param groupId the primary key of the web content article's group
924            * @param articleId the primary key of the web content article
925            * @param version the web content article's version
926            * @param viewMode the mode in which the web content is being viewed
927            * @param ddmTemplateKey the primary key of the web content article's DDM
928            template (optionally <code>null</code>). If the article is
929            related to a DDM structure, the template's structure must match
930            it.
931            * @param languageId the primary key of the language translation to get
932            * @param themeDisplay the theme display
933            * @return the matching web content
934            * @throws PortalException if a matching web content article or DDM template
935            could not be found, or if a portal exception occurred
936            * @throws SystemException if a system exception occurred
937            */
938            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
939            public java.lang.String getArticleContent(long groupId,
940                    java.lang.String articleId, double version, java.lang.String viewMode,
941                    java.lang.String ddmTemplateKey, java.lang.String languageId,
942                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
943                    throws com.liferay.portal.kernel.exception.PortalException,
944                            com.liferay.portal.kernel.exception.SystemException;
945    
946            /**
947            * Returns the web content matching the group, article ID, and version.
948            *
949            * @param groupId the primary key of the web content article's group
950            * @param articleId the primary key of the web content article
951            * @param version the web content article's version
952            * @param viewMode the mode in which the web content is being viewed
953            * @param languageId the primary key of the language translation to get
954            * @param themeDisplay the theme display
955            * @return the matching web content
956            * @throws PortalException if a matching web content article or DDM template
957            could not be found, or if a portal exception occurred
958            * @throws SystemException if a system exception occurred
959            */
960            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
961            public java.lang.String getArticleContent(long groupId,
962                    java.lang.String articleId, double version, java.lang.String viewMode,
963                    java.lang.String languageId,
964                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
965                    throws com.liferay.portal.kernel.exception.PortalException,
966                            com.liferay.portal.kernel.exception.SystemException;
967    
968            /**
969            * Returns the latest web content matching the group and article ID, and
970            * associated with DDM template key.
971            *
972            * @param groupId the primary key of the web content article's group
973            * @param articleId the primary key of the web content article
974            * @param viewMode the mode in which the web content is being viewed
975            * @param ddmTemplateKey the primary key of the web content article's DDM
976            template (optionally <code>null</code>). If the article is
977            related to a DDM structure, the template's structure must match
978            it.
979            * @param languageId the primary key of the language translation to get
980            * @param themeDisplay the theme display
981            * @return the matching web content
982            * @throws PortalException if a matching web content article or DDM template
983            could not be found, or if a portal exception occurred
984            * @throws SystemException if a system exception occurred
985            */
986            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
987            public java.lang.String getArticleContent(long groupId,
988                    java.lang.String articleId, java.lang.String viewMode,
989                    java.lang.String ddmTemplateKey, java.lang.String languageId,
990                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
991                    throws com.liferay.portal.kernel.exception.PortalException,
992                            com.liferay.portal.kernel.exception.SystemException;
993    
994            /**
995            * Returns the latest web content matching the group and article ID.
996            *
997            * @param groupId the primary key of the web content article's group
998            * @param articleId the primary key of the web content article
999            * @param viewMode the mode in which the web content is being viewed
1000            * @param languageId the primary key of the language translation to get
1001            * @param themeDisplay the theme display
1002            * @return the matching web content
1003            * @throws PortalException if a matching web content article or DDM template
1004            could not be found, or if a portal exception occurred
1005            * @throws SystemException if a system exception occurred
1006            */
1007            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1008            public java.lang.String getArticleContent(long groupId,
1009                    java.lang.String articleId, java.lang.String viewMode,
1010                    java.lang.String languageId,
1011                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1012                    throws com.liferay.portal.kernel.exception.PortalException,
1013                            com.liferay.portal.kernel.exception.SystemException;
1014    
1015            /**
1016            * Returns a web content article display for the specified page of the
1017            * latest version of the web content article, optionally based on the DDM
1018            * template if the article is template driven. If the article is template
1019            * driven, web content transformation tokens are added from the theme
1020            * display (if not <code>null</code>) or the XML request otherwise.
1021            *
1022            * @param article the web content article
1023            * @param ddmTemplateKey the primary key of the web content article's DDM
1024            template (optionally <code>null</code>). If the article is
1025            related to a DDM structure, the template's structure must match
1026            it.
1027            * @param viewMode the mode in which the web content is being viewed
1028            * @param languageId the primary key of the language translation to get
1029            * @param page the web content's page number. Page numbers start at
1030            <code>1</code>.
1031            * @param xmlRequest the request that serializes the web content into a
1032            hierarchical hash map (optionally <code>null</code>)
1033            * @param themeDisplay the theme display
1034            * @return the web content article display
1035            * @throws PortalException if a matching DDM template could not be found or
1036            if a portal exception occurred
1037            * @throws SystemException if a system exception occurred
1038            */
1039            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1040            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1041                    com.liferay.portlet.journal.model.JournalArticle article,
1042                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1043                    java.lang.String languageId, int page, java.lang.String xmlRequest,
1044                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1045                    throws com.liferay.portal.kernel.exception.PortalException,
1046                            com.liferay.portal.kernel.exception.SystemException;
1047    
1048            /**
1049            * Returns a web content article display for the first page of the specified
1050            * version of the web content article, optionally based on the DDM template
1051            * if the article is template driven. If the article is template driven, web
1052            * content transformation tokens are added from the theme display (if not
1053            * <code>null</code>) or the XML request otherwise.
1054            *
1055            * @param groupId the primary key of the web content article's group
1056            * @param articleId the primary key of the web content article
1057            * @param version the web content article's version
1058            * @param ddmTemplateKey the primary key of the web content article's DDM
1059            template (optionally <code>null</code>). If the article is
1060            related to a DDM structure, the template's structure must match
1061            it.
1062            * @param viewMode the mode in which the web content is being viewed
1063            * @param languageId the primary key of the language translation to get
1064            * @param page the web content's page number
1065            * @param xmlRequest the request that serializes the web content into a
1066            hierarchical hash map
1067            * @param themeDisplay the theme display
1068            * @return the web content article display, or <code>null</code> if the
1069            article has expired or if article's display date/time is after
1070            the current date/time
1071            * @throws PortalException if a matching web content article or DDM template
1072            could not be found, or if a portal exception occurred
1073            * @throws SystemException if a system exception occurred
1074            */
1075            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1076            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1077                    long groupId, java.lang.String articleId, double version,
1078                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1079                    java.lang.String languageId, int page, java.lang.String xmlRequest,
1080                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1081                    throws com.liferay.portal.kernel.exception.PortalException,
1082                            com.liferay.portal.kernel.exception.SystemException;
1083    
1084            /**
1085            * Returns a web content article display for the first page of the specified
1086            * version of the web content article matching the group and article ID,
1087            * optionally based on the DDM template if the article is template driven.
1088            * If the article is template driven, web content transformation tokens are
1089            * added from the theme display (if not <code>null</code>).
1090            *
1091            * @param groupId the primary key of the web content article's group
1092            * @param articleId the primary key of the web content article
1093            * @param version the web content article's version
1094            * @param ddmTemplateKey the primary key of the web content article's DDM
1095            template (optionally <code>null</code>). If the article is
1096            related to a DDM structure, the template's structure must match
1097            it.
1098            * @param viewMode the mode in which the web content is being viewed
1099            * @param languageId the primary key of the language translation to get
1100            * @param themeDisplay the theme display
1101            * @return the web content article display, or <code>null</code> if the
1102            article has expired or if article's display date/time is after
1103            the current date/time
1104            * @throws PortalException if a matching web content article or DDM template
1105            could not be found, or if a portal exception occurred
1106            * @throws SystemException if a system exception occurred
1107            */
1108            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1109            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1110                    long groupId, java.lang.String articleId, double version,
1111                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1112                    java.lang.String languageId,
1113                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1114                    throws com.liferay.portal.kernel.exception.PortalException,
1115                            com.liferay.portal.kernel.exception.SystemException;
1116    
1117            /**
1118            * Returns a web content article display for the first page of the latest
1119            * version of the web content article matching the group and article ID. If
1120            * the article is template driven, web content transformation tokens are
1121            * added from the theme display (if not <code>null</code>) or the XML
1122            * request otherwise.
1123            *
1124            * @param groupId the primary key of the web content article's group
1125            * @param articleId the primary key of the web content article
1126            * @param viewMode the mode in which the web content is being viewed
1127            * @param languageId the primary key of the language translation to get
1128            * @param page the web content's page number
1129            * @param xmlRequest the request that serializes the web content into a
1130            hierarchical hash map
1131            * @param themeDisplay the theme display
1132            * @return the web content article display, or <code>null</code> if the
1133            article has expired or if article's display date/time is after
1134            the current date/time
1135            * @throws PortalException if a matching web content article or DDM template
1136            could not be found, or if a portal exception occurred
1137            * @throws SystemException if a system exception occurred
1138            */
1139            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1140            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1141                    long groupId, java.lang.String articleId, java.lang.String viewMode,
1142                    java.lang.String languageId, int page, java.lang.String xmlRequest,
1143                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1144                    throws com.liferay.portal.kernel.exception.PortalException,
1145                            com.liferay.portal.kernel.exception.SystemException;
1146    
1147            /**
1148            * Returns a web content article display for the specified page of the
1149            * latest version of the web content article matching the group and article
1150            * ID, optionally based on the DDM template if the article is template
1151            * driven. If the article is template driven, web content transformation
1152            * tokens are added from the theme display (if not <code>null</code>) or the
1153            * XML request otherwise.
1154            *
1155            * @param groupId the primary key of the web content article's group
1156            * @param articleId the primary key of the web content article
1157            * @param ddmTemplateKey the primary key of the web content article's DDM
1158            template (optionally <code>null</code>). If the article is
1159            related to a DDM structure, the template's structure must match
1160            it.
1161            * @param viewMode the mode in which the web content is being viewed
1162            * @param languageId the primary key of the language translation to get
1163            * @param page the web content's page number
1164            * @param xmlRequest the request that serializes the web content into a
1165            hierarchical hash map
1166            * @param themeDisplay the theme display
1167            * @return the web content article display, or <code>null</code> if the
1168            article has expired or if article's display date/time is after
1169            the current date/time
1170            * @throws PortalException if a matching web content article or DDM template
1171            could not be found, or if a portal exception occurred
1172            * @throws SystemException if a system exception occurred
1173            */
1174            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1175            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1176                    long groupId, java.lang.String articleId,
1177                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1178                    java.lang.String languageId, int page, java.lang.String xmlRequest,
1179                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1180                    throws com.liferay.portal.kernel.exception.PortalException,
1181                            com.liferay.portal.kernel.exception.SystemException;
1182    
1183            /**
1184            * Returns a web content article display for the first page of the latest
1185            * version of the web content article matching the group and article ID,
1186            * optionally based on the DDM template if the article is template driven.
1187            * If the article is template driven, web content transformation tokens are
1188            * added from the theme display (if not <code>null</code>).
1189            *
1190            * @param groupId the primary key of the web content article's group
1191            * @param articleId the primary key of the web content article
1192            * @param ddmTemplateKey the primary key of the web content article's DDM
1193            template (optionally <code>null</code>). If the article is
1194            related to a DDM structure, the template's structure must match
1195            it.
1196            * @param viewMode the mode in which the web content is being viewed
1197            * @param languageId the primary key of the language translation to get
1198            * @param themeDisplay the theme display
1199            * @return the web content article display, or <code>null</code> if the
1200            article has expired or if article's display date/time is after
1201            the current date/time
1202            * @throws PortalException if a matching web content article or DDM template
1203            could not be found, or if a portal exception occurred
1204            * @throws SystemException if a system exception occurred
1205            */
1206            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1207            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1208                    long groupId, java.lang.String articleId,
1209                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1210                    java.lang.String languageId,
1211                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1212                    throws com.liferay.portal.kernel.exception.PortalException,
1213                            com.liferay.portal.kernel.exception.SystemException;
1214    
1215            /**
1216            * Returns a web content article display for the first page of the latest
1217            * version of the web content article matching the group and article ID. If
1218            * the article is template driven, web content transformation tokens are
1219            * added from the theme display (if not <code>null</code>).
1220            *
1221            * @param groupId the primary key of the web content article's group
1222            * @param articleId the primary key of the web content article
1223            * @param viewMode the mode in which the web content is being viewed
1224            * @param languageId the primary key of the language translation to get
1225            * @param themeDisplay the theme display
1226            * @return the web content article display, or <code>null</code> if the
1227            article has expired or if article's display date/time is after
1228            the current date/time
1229            * @throws PortalException if a matching web content article or DDM template
1230            could not be found, or if a portal exception occurred
1231            * @throws SystemException if a system exception occurred
1232            */
1233            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1234            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1235                    long groupId, java.lang.String articleId, java.lang.String viewMode,
1236                    java.lang.String languageId,
1237                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1238                    throws com.liferay.portal.kernel.exception.PortalException,
1239                            com.liferay.portal.kernel.exception.SystemException;
1240    
1241            /**
1242            * Returns all the web content articles present in the system.
1243            *
1244            * @return the web content articles present in the system
1245            * @throws SystemException if a system exception occurred
1246            */
1247            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1248            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles()
1249                    throws com.liferay.portal.kernel.exception.SystemException;
1250    
1251            /**
1252            * Returns all the web content articles belonging to the group.
1253            *
1254            * @param groupId the primary key of the web content article's group
1255            * @return the web content articles belonging to the group
1256            * @throws SystemException if a system exception occurred
1257            */
1258            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1259            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1260                    long groupId)
1261                    throws com.liferay.portal.kernel.exception.SystemException;
1262    
1263            /**
1264            * Returns a range of all the web content articles belonging to the group.
1265            *
1266            * <p>
1267            * Useful when paginating results. Returns a maximum of <code>end -
1268            * start</code> instances. <code>start</code> and <code>end</code> are not
1269            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1270            * refers to the first result in the set. Setting both <code>start</code>
1271            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1272            * result set.
1273            * </p>
1274            *
1275            * @param groupId the primary key of the web content article's group
1276            * @param start the lower bound of the range of web content articles to
1277            return
1278            * @param end the upper bound of the range of web content articles to
1279            return (not inclusive)
1280            * @return the range of matching web content articles
1281            * @throws SystemException if a system exception occurred
1282            */
1283            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1284            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1285                    long groupId, int start, int end)
1286                    throws com.liferay.portal.kernel.exception.SystemException;
1287    
1288            /**
1289            * Returns an ordered range of all the web content articles belonging to the
1290            * group.
1291            *
1292            * <p>
1293            * Useful when paginating results. Returns a maximum of <code>end -
1294            * start</code> instances. <code>start</code> and <code>end</code> are not
1295            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1296            * refers to the first result in the set. Setting both <code>start</code>
1297            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1298            * result set.
1299            * </p>
1300            *
1301            * @param groupId the primary key of the web content article's group
1302            * @param start the lower bound of the range of web content articles to
1303            return
1304            * @param end the upper bound of the range of web content articles to
1305            return (not inclusive)
1306            * @param obc the comparator to order the web content articles
1307            * @return the range of matching web content articles ordered by the
1308            comparator
1309            * @throws SystemException if a system exception occurred
1310            */
1311            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1312            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1313                    long groupId, int start, int end,
1314                    com.liferay.portal.kernel.util.OrderByComparator obc)
1315                    throws com.liferay.portal.kernel.exception.SystemException;
1316    
1317            /**
1318            * Returns all the web content articles matching the group and folder.
1319            *
1320            * @param groupId the primary key of the web content article's group
1321            * @param folderId the primary key of the web content article folder
1322            * @return the matching web content articles
1323            * @throws SystemException if a system exception occurred
1324            */
1325            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1326            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1327                    long groupId, long folderId)
1328                    throws com.liferay.portal.kernel.exception.SystemException;
1329    
1330            /**
1331            * Returns a range of all the web content articles matching the group and
1332            * folder.
1333            *
1334            * <p>
1335            * Useful when paginating results. Returns a maximum of <code>end -
1336            * start</code> instances. <code>start</code> and <code>end</code> are not
1337            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1338            * refers to the first result in the set. Setting both <code>start</code>
1339            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1340            * result set.
1341            * </p>
1342            *
1343            * @param groupId the primary key of the web content article's group
1344            * @param folderId the primary key of the web content article's folder
1345            * @param start the lower bound of the range of web content articles to
1346            return
1347            * @param end the upper bound of the range of web content articles to
1348            return (not inclusive)
1349            * @return the range of matching web content articles
1350            * @throws SystemException if a system exception occurred
1351            */
1352            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1353            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1354                    long groupId, long folderId, int start, int end)
1355                    throws com.liferay.portal.kernel.exception.SystemException;
1356    
1357            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1358            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1359                    long groupId, long folderId, int status, int start, int end)
1360                    throws com.liferay.portal.kernel.exception.SystemException;
1361    
1362            /**
1363            * Returns an ordered range of all the web content articles matching the
1364            * group and folder.
1365            *
1366            * <p>
1367            * Useful when paginating results. Returns a maximum of <code>end -
1368            * start</code> instances. <code>start</code> and <code>end</code> are not
1369            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1370            * refers to the first result in the set. Setting both <code>start</code>
1371            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1372            * result set.
1373            * </p>
1374            *
1375            * @param groupId the primary key of the web content article's group
1376            * @param folderId the primary key of the web content article's folder
1377            * @param start the lower bound of the range of web content articles to
1378            return
1379            * @param end the upper bound of the range of web content articles to
1380            return (not inclusive)
1381            * @param orderByComparator the comparator to order the web content
1382            articles
1383            * @return the range of matching web content articles ordered by the
1384            comparator
1385            * @throws SystemException if a system exception occurred
1386            */
1387            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1388            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1389                    long groupId, long folderId, int start, int end,
1390                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
1391                    throws com.liferay.portal.kernel.exception.SystemException;
1392    
1393            /**
1394            * Returns all the web content articles matching the group and article ID.
1395            *
1396            * @param groupId the primary key of the web content article's group
1397            * @param articleId the primary key of the web content article
1398            * @return the matching web content articles
1399            * @throws SystemException if a system exception occurred
1400            */
1401            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1402            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1403                    long groupId, java.lang.String articleId)
1404                    throws com.liferay.portal.kernel.exception.SystemException;
1405    
1406            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1407            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByResourcePrimKey(
1408                    long resourcePrimKey)
1409                    throws com.liferay.portal.kernel.exception.SystemException;
1410    
1411            /**
1412            * Returns all the web content articles matching the small image ID.
1413            *
1414            * @param smallImageId the primary key of the web content article's small
1415            image
1416            * @return the web content articles matching the small image ID
1417            * @throws SystemException if a system exception occurred
1418            */
1419            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1420            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesBySmallImageId(
1421                    long smallImageId)
1422                    throws com.liferay.portal.kernel.exception.SystemException;
1423    
1424            /**
1425            * Returns the number of web content articles belonging to the group.
1426            *
1427            * @param groupId the primary key of the web content article's group
1428            * @return the number of web content articles belonging to the group
1429            * @throws SystemException if a system exception occurred
1430            */
1431            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1432            public int getArticlesCount(long groupId)
1433                    throws com.liferay.portal.kernel.exception.SystemException;
1434    
1435            /**
1436            * Returns the number of web content articles matching the group and folder.
1437            *
1438            * @param groupId the primary key of the web content article's group
1439            * @param folderId the primary key of the web content article's folder
1440            * @return the number of matching web content articles
1441            * @throws SystemException if a system exception occurred
1442            */
1443            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1444            public int getArticlesCount(long groupId, long folderId)
1445                    throws com.liferay.portal.kernel.exception.SystemException;
1446    
1447            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1448            public int getArticlesCount(long groupId, long folderId, int status)
1449                    throws com.liferay.portal.kernel.exception.SystemException;
1450    
1451            /**
1452            * Returns an ordered range of all the web content articles matching the
1453            * company, version, and workflow status.
1454            *
1455            * <p>
1456            * Useful when paginating results. Returns a maximum of <code>end -
1457            * start</code> instances. <code>start</code> and <code>end</code> are not
1458            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1459            * refers to the first result in the set. Setting both <code>start</code>
1460            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1461            * result set.
1462            * </p>
1463            *
1464            * @param companyId the primary key of the web content article's company
1465            * @param version the web content article's version
1466            * @param status the web content article's workflow status. For more
1467            information see {@link WorkflowConstants} for constants starting
1468            with the "STATUS_" prefix.
1469            * @param start the lower bound of the range of web content articles to
1470            return
1471            * @param end the upper bound of the range of web content articles to
1472            return (not inclusive)
1473            * @return the range of matching web content articles ordered by article ID
1474            * @throws SystemException if a system exception occurred
1475            */
1476            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1477            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getCompanyArticles(
1478                    long companyId, double version, int status, int start, int end)
1479                    throws com.liferay.portal.kernel.exception.SystemException;
1480    
1481            /**
1482            * Returns an ordered range of all the web content articles matching the
1483            * company and workflow status.
1484            *
1485            * <p>
1486            * Useful when paginating results. Returns a maximum of <code>end -
1487            * start</code> instances. <code>start</code> and <code>end</code> are not
1488            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1489            * refers to the first result in the set. Setting both <code>start</code>
1490            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1491            * result set.
1492            * </p>
1493            *
1494            * @param companyId the primary key of the web content article's company
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 start the lower bound of the range of web content articles to
1499            return
1500            * @param end the upper bound of the range of web content articles to
1501            return (not inclusive)
1502            * @return the range of matching web content articles ordered by article ID
1503            * @throws SystemException if a system exception occurred
1504            */
1505            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1506            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getCompanyArticles(
1507                    long companyId, int status, int start, int end)
1508                    throws com.liferay.portal.kernel.exception.SystemException;
1509    
1510            /**
1511            * Returns the number of web content articles matching the company, version,
1512            * and workflow status.
1513            *
1514            * <p>
1515            * Useful when paginating results. Returns a maximum of <code>end -
1516            * start</code> instances. <code>start</code> and <code>end</code> are not
1517            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1518            * refers to the first result in the set. Setting both <code>start</code>
1519            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1520            * result set.
1521            * </p>
1522            *
1523            * @param companyId the primary key of the web content article's company
1524            * @param version the web content article's version
1525            * @param status the web content article's workflow status. For more
1526            information see {@link WorkflowConstants} for constants starting
1527            with the "STATUS_" prefix.
1528            * @param start the lower bound of the range of web content articles to
1529            return
1530            * @param end the upper bound of the range of web content articles to
1531            return (not inclusive)
1532            * @return the number of matching web content articles
1533            * @throws SystemException if a system exception occurred
1534            */
1535            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1536            public int getCompanyArticlesCount(long companyId, double version,
1537                    int status, int start, int end)
1538                    throws com.liferay.portal.kernel.exception.SystemException;
1539    
1540            /**
1541            * Returns the number of web content articles matching the company and
1542            * workflow status.
1543            *
1544            * @param companyId the primary key of the web content article's company
1545            * @param status the web content article's workflow status. For more
1546            information see {@link WorkflowConstants} for constants starting
1547            with the "STATUS_" prefix.
1548            * @return the number of matching web content articles
1549            * @throws SystemException if a system exception occurred
1550            */
1551            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1552            public int getCompanyArticlesCount(long companyId, int status)
1553                    throws com.liferay.portal.kernel.exception.SystemException;
1554    
1555            /**
1556            * Returns the matching web content article currently displayed or next to
1557            * be displayed if no article is currently displayed.
1558            *
1559            * @param groupId the primary key of the web content article's group
1560            * @param articleId the primary key of the web content article
1561            * @return the matching web content article currently displayed, or the next
1562            one to be displayed if no version of the article is currently
1563            displayed
1564            * @throws PortalException if no approved matching web content articles
1565            could be found
1566            * @throws SystemException if a system exception occurred
1567            */
1568            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1569            public com.liferay.portlet.journal.model.JournalArticle getDisplayArticle(
1570                    long groupId, java.lang.String articleId)
1571                    throws com.liferay.portal.kernel.exception.PortalException,
1572                            com.liferay.portal.kernel.exception.SystemException;
1573    
1574            /**
1575            * Returns the web content article matching the URL title that is currently
1576            * displayed or next to be displayed if no article is currently displayed.
1577            *
1578            * @param groupId the primary key of the web content article's group
1579            * @param urlTitle the web content article's accessible URL title
1580            * @return the web content article matching the URL title that is currently
1581            displayed, or next one to be displayed if no version of the
1582            article is currently displayed
1583            * @throws PortalException if no approved matching web content articles
1584            could be found
1585            * @throws SystemException if a system exception occurred
1586            */
1587            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1588            public com.liferay.portlet.journal.model.JournalArticle getDisplayArticleByUrlTitle(
1589                    long groupId, java.lang.String urlTitle)
1590                    throws com.liferay.portal.kernel.exception.PortalException,
1591                            com.liferay.portal.kernel.exception.SystemException;
1592    
1593            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1594            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getIndexableArticlesByResourcePrimKey(
1595                    long resourcePrimKey)
1596                    throws com.liferay.portal.kernel.exception.SystemException;
1597    
1598            /**
1599            * Returns the latest web content article matching the resource primary key,
1600            * preferring articles with approved workflow status.
1601            *
1602            * @param resourcePrimKey the primary key of the resource instance
1603            * @return the latest web content article matching the resource primary key,
1604            preferring articles with approved workflow status
1605            * @throws PortalException if a matching web content article could not be
1606            found
1607            * @throws SystemException if a system exception occurred
1608            */
1609            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1610            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1611                    long resourcePrimKey)
1612                    throws com.liferay.portal.kernel.exception.PortalException,
1613                            com.liferay.portal.kernel.exception.SystemException;
1614    
1615            /**
1616            * Returns the latest web content article matching the resource primary key
1617            * and workflow status, preferring articles with approved workflow status.
1618            *
1619            * @param resourcePrimKey the primary key of the resource instance
1620            * @param status the web content article's workflow status. For more
1621            information see {@link WorkflowConstants} for constants starting
1622            with the "STATUS_" prefix.
1623            * @return the latest web content article matching the resource primary key
1624            and workflow status, preferring articles with approved workflow
1625            status
1626            * @throws PortalException if a matching web content article could not be
1627            found
1628            * @throws SystemException if a system exception occurred
1629            */
1630            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1631            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1632                    long resourcePrimKey, int status)
1633                    throws com.liferay.portal.kernel.exception.PortalException,
1634                            com.liferay.portal.kernel.exception.SystemException;
1635    
1636            /**
1637            * Returns the latest web content article matching the resource primary key
1638            * and workflow status, optionally preferring articles with approved
1639            * workflow status.
1640            *
1641            * @param resourcePrimKey the primary key of the resource instance
1642            * @param status the web content article's workflow status. For more
1643            information see {@link WorkflowConstants} for constants starting
1644            with the "STATUS_" prefix.
1645            * @param preferApproved whether to prefer returning the latest matching
1646            article that has workflow status {@link
1647            WorkflowConstants#STATUS_APPROVED} over returning one that has a
1648            different status
1649            * @return the latest web content article matching the resource primary key
1650            and workflow status, optionally preferring articles with approved
1651            workflow status
1652            * @throws PortalException if a matching web content article could not be
1653            found
1654            * @throws SystemException if a system exception occurred
1655            */
1656            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1657            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1658                    long resourcePrimKey, int status, boolean preferApproved)
1659                    throws com.liferay.portal.kernel.exception.PortalException,
1660                            com.liferay.portal.kernel.exception.SystemException;
1661    
1662            /**
1663            * Returns the latest web content article with the group and article ID.
1664            *
1665            * @param groupId the primary key of the web content article's group
1666            * @param articleId the primary key of the web content article
1667            * @return the latest matching web content article
1668            * @throws PortalException if a matching web content article could not be
1669            found
1670            * @throws SystemException if a system exception occurred
1671            */
1672            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1673            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1674                    long groupId, java.lang.String articleId)
1675                    throws com.liferay.portal.kernel.exception.PortalException,
1676                            com.liferay.portal.kernel.exception.SystemException;
1677    
1678            /**
1679            * Returns the latest web content article matching the group, article ID,
1680            * and workflow status.
1681            *
1682            * @param groupId the primary key of the web content article's group
1683            * @param articleId the primary key of the web content article
1684            * @param status the web content article's workflow status. For more
1685            information see {@link WorkflowConstants} for constants starting
1686            with the "STATUS_" prefix.
1687            * @return the latest matching web content article
1688            * @throws PortalException if a matching web content article could not be
1689            found
1690            * @throws SystemException if a system exception occurred
1691            */
1692            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1693            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1694                    long groupId, java.lang.String articleId, int status)
1695                    throws com.liferay.portal.kernel.exception.PortalException,
1696                            com.liferay.portal.kernel.exception.SystemException;
1697    
1698            /**
1699            * Returns the latest web content article matching the group, class name ID,
1700            * and class PK.
1701            *
1702            * @param groupId the primary key of the web content article's group
1703            * @param className the DDMStructure class name if the web content article
1704            is related to a DDM structure, the class name associated with the
1705            article, or {@link JournalArticleConstants#CLASSNAME_ID_DEFAULT}
1706            otherwise
1707            * @param classPK the primary key of the DDM structure, if the DDMStructure
1708            class name is given as the <code>className</code> parameter, the
1709            primary key of the class associated with the web content article,
1710            or <code>0</code> otherwise
1711            * @return the latest matching web content article
1712            * @throws PortalException if a matching web content article could not be
1713            found
1714            * @throws SystemException if a system exception occurred
1715            */
1716            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1717            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1718                    long groupId, java.lang.String className, long classPK)
1719                    throws com.liferay.portal.kernel.exception.PortalException,
1720                            com.liferay.portal.kernel.exception.SystemException;
1721    
1722            /**
1723            * Returns the latest web content article matching the group, URL title, and
1724            * workflow status.
1725            *
1726            * @param groupId the primary key of the web content article's group
1727            * @param urlTitle the web content article's accessible URL title
1728            * @param status the web content article's workflow status. For more
1729            information see {@link WorkflowConstants} for constants starting
1730            with the "STATUS_" prefix.
1731            * @return the latest matching web content article
1732            * @throws PortalException if a matching web content article could not be
1733            found
1734            * @throws SystemException if a system exception occurred
1735            */
1736            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1737            public com.liferay.portlet.journal.model.JournalArticle getLatestArticleByUrlTitle(
1738                    long groupId, java.lang.String urlTitle, int status)
1739                    throws com.liferay.portal.kernel.exception.PortalException,
1740                            com.liferay.portal.kernel.exception.SystemException;
1741    
1742            /**
1743            * Returns the latest version number of the web content with the group and
1744            * article ID.
1745            *
1746            * @param groupId the primary key of the web content article's group
1747            * @param articleId the primary key of the web content article
1748            * @return the latest version number of the matching web content
1749            * @throws PortalException if a matching web content article could not be
1750            found
1751            * @throws SystemException if a system exception occurred
1752            */
1753            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1754            public double getLatestVersion(long groupId, java.lang.String articleId)
1755                    throws com.liferay.portal.kernel.exception.PortalException,
1756                            com.liferay.portal.kernel.exception.SystemException;
1757    
1758            /**
1759            * Returns the latest version number of the web content with the group,
1760            * article ID, and workflow status.
1761            *
1762            * @param groupId the primary key of the web content article's group
1763            * @param articleId the primary key of the web content article
1764            * @param status the web content article's workflow status. For more
1765            information see {@link WorkflowConstants} for constants starting
1766            with the "STATUS_" prefix.
1767            * @return the latest version number of the matching web content
1768            * @throws PortalException if a matching web content article could not be
1769            found
1770            * @throws SystemException if a system exception occurred
1771            */
1772            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1773            public double getLatestVersion(long groupId, java.lang.String articleId,
1774                    int status)
1775                    throws com.liferay.portal.kernel.exception.PortalException,
1776                            com.liferay.portal.kernel.exception.SystemException;
1777    
1778            /**
1779            * Returns the number of web content articles that are not recycled.
1780            *
1781            * @param groupId the primary key of the web content article's group
1782            * @param folderId the primary key of the web content article folder
1783            * @return the number of web content articles that are not recycled
1784            * @throws SystemException if a system exception occurred
1785            */
1786            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1787            public int getNotInTrashArticlesCount(long groupId, long folderId)
1788                    throws com.liferay.portal.kernel.exception.SystemException;
1789    
1790            /**
1791            * Returns the web content articles matching the group and DDM structure
1792            * key.
1793            *
1794            * @param groupId the primary key of the web content article's group
1795            * @param ddmStructureKey the primary key of the web content article's DDM
1796            structure
1797            * @return the matching web content articles
1798            * @throws SystemException if a system exception occurred
1799            */
1800            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1801            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getStructureArticles(
1802                    long groupId, java.lang.String ddmStructureKey)
1803                    throws com.liferay.portal.kernel.exception.SystemException;
1804    
1805            /**
1806            * Returns an ordered range of all the web content articles matching the
1807            * group and DDM structure key.
1808            *
1809            * <p>
1810            * Useful when paginating results. Returns a maximum of <code>end -
1811            * start</code> instances. <code>start</code> and <code>end</code> are not
1812            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1813            * refers to the first result in the set. Setting both <code>start</code>
1814            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1815            * result set.
1816            * </p>
1817            *
1818            * @param groupId the primary key of the web content article's group
1819            * @param ddmStructureKey the primary key of the web content article's DDM
1820            structure
1821            * @param start the lower bound of the range of web content articles to
1822            return
1823            * @param end the upper bound of the range of web content articles to
1824            return (not inclusive)
1825            * @param obc the comparator to order the web content articles
1826            * @return the range of matching web content articles ordered by the
1827            comparator
1828            * @throws SystemException if a system exception occurred
1829            */
1830            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1831            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getStructureArticles(
1832                    long groupId, java.lang.String ddmStructureKey, int start, int end,
1833                    com.liferay.portal.kernel.util.OrderByComparator obc)
1834                    throws com.liferay.portal.kernel.exception.SystemException;
1835    
1836            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1837            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getStructureArticles(
1838                    java.lang.String[] ddmStructureKeys)
1839                    throws com.liferay.portal.kernel.exception.SystemException;
1840    
1841            /**
1842            * Returns the number of web content articles matching the group and DDM
1843            * structure key.
1844            *
1845            * @param groupId the primary key of the web content article's group
1846            * @param ddmStructureKey the primary key of the web content article's DDM
1847            structure
1848            * @return the number of matching web content articles
1849            * @throws SystemException if a system exception occurred
1850            */
1851            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1852            public int getStructureArticlesCount(long groupId,
1853                    java.lang.String ddmStructureKey)
1854                    throws com.liferay.portal.kernel.exception.SystemException;
1855    
1856            /**
1857            * Returns the web content articles matching the group and DDM template key.
1858            *
1859            * @param groupId the primary key of the web content article's group
1860            * @param ddmTemplateKey the primary key of the web content article's DDM
1861            template (optionally <code>null</code>). If the article is
1862            related to a DDM structure, the template's structure must match
1863            it.
1864            * @return the matching web content articles
1865            * @throws SystemException if a system exception occurred
1866            */
1867            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1868            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getTemplateArticles(
1869                    long groupId, java.lang.String ddmTemplateKey)
1870                    throws com.liferay.portal.kernel.exception.SystemException;
1871    
1872            /**
1873            * Returns an ordered range of all the web content articles matching the
1874            * group and DDM template key.
1875            *
1876            * <p>
1877            * Useful when paginating results. Returns a maximum of <code>end -
1878            * start</code> instances. <code>start</code> and <code>end</code> are not
1879            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1880            * refers to the first result in the set. Setting both <code>start</code>
1881            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1882            * result set.
1883            * </p>
1884            *
1885            * @param groupId the primary key of the web content article's group
1886            * @param ddmTemplateKey the primary key of the web content article's DDM
1887            template (optionally <code>null</code>). If the article is
1888            related to a DDM structure, the template's structure must match
1889            it.
1890            * @param start the lower bound of the range of web content articles to
1891            return
1892            * @param end the upper bound of the range of web content articles to
1893            return (not inclusive)
1894            * @param obc the comparator to order the web content articles
1895            * @return the range of matching web content articles ordered by the
1896            comparator
1897            * @throws SystemException if a system exception occurred
1898            */
1899            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1900            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getTemplateArticles(
1901                    long groupId, java.lang.String ddmTemplateKey, int start, int end,
1902                    com.liferay.portal.kernel.util.OrderByComparator obc)
1903                    throws com.liferay.portal.kernel.exception.SystemException;
1904    
1905            /**
1906            * Returns the number of web content articles matching the group and DDM
1907            * template key.
1908            *
1909            * @param groupId the primary key of the web content article's group
1910            * @param ddmTemplateKey the primary key of the web content article's DDM
1911            template (optionally <code>null</code>). If the article is
1912            related to a DDM structure, the template's structure must match
1913            it.
1914            * @return the number of matching web content articles
1915            * @throws SystemException if a system exception occurred
1916            */
1917            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1918            public int getTemplateArticlesCount(long groupId,
1919                    java.lang.String ddmTemplateKey)
1920                    throws com.liferay.portal.kernel.exception.SystemException;
1921    
1922            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1923            public java.lang.String getUniqueUrlTitle(long groupId,
1924                    java.lang.String articleId, java.lang.String urlTitle)
1925                    throws com.liferay.portal.kernel.exception.PortalException,
1926                            com.liferay.portal.kernel.exception.SystemException;
1927    
1928            /**
1929            * Returns <code>true</code> if the specified web content article exists.
1930            *
1931            * @param groupId the primary key of the group
1932            * @param articleId the primary key of the web content article
1933            * @return <code>true</code> if the specified web content article exists;
1934            <code>false</code> otherwise
1935            * @throws SystemException if a system exception occurred
1936            */
1937            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1938            public boolean hasArticle(long groupId, java.lang.String articleId)
1939                    throws com.liferay.portal.kernel.exception.SystemException;
1940    
1941            /**
1942            * Returns <code>true</code> if the web content article, specified by group
1943            * and article ID, is the latest version.
1944            *
1945            * @param groupId the primary key of the web content article's group
1946            * @param articleId the primary key of the web content article
1947            * @param version the web content article's version
1948            * @return <code>true</code> if the specified web content article is the
1949            latest version; <code>false</code> otherwise
1950            * @throws PortalException if a matching web content article could not be
1951            found
1952            * @throws SystemException if a system exception occurred
1953            */
1954            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1955            public boolean isLatestVersion(long groupId, java.lang.String articleId,
1956                    double version)
1957                    throws com.liferay.portal.kernel.exception.PortalException,
1958                            com.liferay.portal.kernel.exception.SystemException;
1959    
1960            /**
1961            * Returns <code>true</code> if the web content article, specified by group,
1962            * article ID, and workflow status, is the latest version.
1963            *
1964            * @param groupId the primary key of the web content article's group
1965            * @param articleId the primary key of the web content article
1966            * @param version the web content article's version
1967            * @param status the web content article's workflow status. For more
1968            information see {@link WorkflowConstants} for constants starting
1969            with the "STATUS_" prefix.
1970            * @return <code>true</code> if the specified web content article is the
1971            latest version; <code>false</code> otherwise
1972            * @throws PortalException if a matching web content article could not be
1973            found
1974            * @throws SystemException if a system exception occurred
1975            */
1976            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1977            public boolean isLatestVersion(long groupId, java.lang.String articleId,
1978                    double version, int status)
1979                    throws com.liferay.portal.kernel.exception.PortalException,
1980                            com.liferay.portal.kernel.exception.SystemException;
1981    
1982            /**
1983            * Moves the web content article matching the group and article ID to a new
1984            * folder.
1985            *
1986            * @param groupId the primary key of the web content article's group
1987            * @param articleId the primary key of the web content article
1988            * @param newFolderId the primary key of the web content article's new
1989            folder
1990            * @return the updated web content article, which was moved to a new folder
1991            * @throws PortalException if a matching web content article could not be
1992            found
1993            * @throws SystemException if a system exception occurred
1994            */
1995            public com.liferay.portlet.journal.model.JournalArticle moveArticle(
1996                    long groupId, java.lang.String articleId, long newFolderId)
1997                    throws com.liferay.portal.kernel.exception.PortalException,
1998                            com.liferay.portal.kernel.exception.SystemException;
1999    
2000            /**
2001            * Moves the web content article from the Recycle Bin to a new folder.
2002            *
2003            * @param userId the primary key of the user updating the web content
2004            article
2005            * @param groupId the primary key of the web content article's group
2006            * @param article the web content article
2007            * @param newFolderId the primary key of the web content article's new
2008            folder
2009            * @param serviceContext the service context to be applied. Can set the
2010            modification date, portlet preferences, and can set whether to
2011            add the default command update for the web content article. With
2012            respect to social activities, by setting the service context's
2013            command to {@link
2014            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2015            is considered a web content update activity; otherwise it is
2016            considered a web content add activity.
2017            * @return the updated web content article, which was moved from the Recycle
2018            Bin to a new folder
2019            * @throws PortalException if a trashed web content article with the primary
2020            key could not be found or if a portal exception occurred
2021            * @throws SystemException if a system exception occurred
2022            */
2023            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
2024                    long userId, long groupId,
2025                    com.liferay.portlet.journal.model.JournalArticle article,
2026                    long newFolderId,
2027                    com.liferay.portal.service.ServiceContext serviceContext)
2028                    throws com.liferay.portal.kernel.exception.PortalException,
2029                            com.liferay.portal.kernel.exception.SystemException;
2030    
2031            /**
2032            * Moves the latest version of the web content article matching the group
2033            * and article ID to the recycle bin.
2034            *
2035            * @param userId the primary key of the user updating the web content
2036            article
2037            * @param article the web content article
2038            * @return the updated web content article, which was moved to the Recycle
2039            Bin
2040            * @throws PortalException if the user did not have permission to move the
2041            article to the Recycle Bin or if a portal exception occurred
2042            * @throws SystemException if a system exception occurred
2043            */
2044            public com.liferay.portlet.journal.model.JournalArticle moveArticleToTrash(
2045                    long userId, com.liferay.portlet.journal.model.JournalArticle article)
2046                    throws com.liferay.portal.kernel.exception.PortalException,
2047                            com.liferay.portal.kernel.exception.SystemException;
2048    
2049            /**
2050            * Moves the latest version of the web content article matching the group
2051            * and article ID to the recycle bin.
2052            *
2053            * @param userId the primary key of the user updating the web content
2054            article
2055            * @param groupId the primary key of the web content article's group
2056            * @param articleId the primary key of the web content article
2057            * @return the moved web content article or <code>null</code> if no matching
2058            article was found
2059            * @throws PortalException if the user did not have permission to move the
2060            article to the Recycle Bin or if a portal exception occurred
2061            * @throws SystemException if a system exception occurred
2062            */
2063            public com.liferay.portlet.journal.model.JournalArticle moveArticleToTrash(
2064                    long userId, long groupId, java.lang.String articleId)
2065                    throws com.liferay.portal.kernel.exception.PortalException,
2066                            com.liferay.portal.kernel.exception.SystemException;
2067    
2068            public void rebuildTree(long companyId)
2069                    throws com.liferay.portal.kernel.exception.SystemException;
2070    
2071            /**
2072            * Removes the web content of the web content article matching the group,
2073            * article ID, and version, and language.
2074            *
2075            * @param groupId the primary key of the web content article's group
2076            * @param articleId the primary key of the web content article
2077            * @param version the web content article's version
2078            * @param languageId the primary key of the language locale to remove
2079            * @return the updated web content article with the locale removed
2080            * @throws PortalException if a matching web content article could not be
2081            found
2082            * @throws SystemException if a system exception occurred
2083            */
2084            public com.liferay.portlet.journal.model.JournalArticle removeArticleLocale(
2085                    long groupId, java.lang.String articleId, double version,
2086                    java.lang.String languageId)
2087                    throws com.liferay.portal.kernel.exception.PortalException,
2088                            com.liferay.portal.kernel.exception.SystemException;
2089    
2090            /**
2091            * Restores the web content article from the Recycle Bin.
2092            *
2093            * @param userId the primary key of the user restoring the web content
2094            article
2095            * @param article the web content article
2096            * @throws PortalException if the web content article with the primary key
2097            could not be found in the Recycle Bin, if the user did not have
2098            permission to restore the article, or if a portal exception
2099            occurred
2100            * @throws SystemException if a system exception occurred
2101            */
2102            public com.liferay.portlet.journal.model.JournalArticle restoreArticleFromTrash(
2103                    long userId, com.liferay.portlet.journal.model.JournalArticle article)
2104                    throws com.liferay.portal.kernel.exception.PortalException,
2105                            com.liferay.portal.kernel.exception.SystemException;
2106    
2107            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2108            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2109                    long groupId, java.util.List<java.lang.Long> folderIds, int status,
2110                    int start, int end)
2111                    throws com.liferay.portal.kernel.exception.SystemException;
2112    
2113            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2114            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2115                    long groupId, long folderId, int status, int start, int end)
2116                    throws com.liferay.portal.kernel.exception.SystemException;
2117    
2118            /**
2119            * Returns an ordered range of all the web content articles matching the
2120            * parameters without using the indexer, including a keywords parameter for
2121            * matching with the article's ID, title, description, and content, a DDM
2122            * structure key parameter, and a DDM template key parameter. It is
2123            * preferable to use the indexed version {@link #search(long, long, List,
2124            * long, String, String, String, LinkedHashMap, int, int, Sort)} instead of
2125            * this method wherever possible for performance reasons.
2126            *
2127            * <p>
2128            * Useful when paginating results. Returns a maximum of <code>end -
2129            * start</code> instances. <code>start</code> and <code>end</code> are not
2130            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2131            * refers to the first result in the set. Setting both <code>start</code>
2132            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2133            * result set.
2134            * </p>
2135            *
2136            * @param companyId the primary key of the web content article's company
2137            * @param groupId the primary key of the group (optionally <code>0</code>)
2138            * @param folderIds the primary keys of the web content article folders
2139            (optionally {@link java.util.Collections#EMPTY_LIST})
2140            * @param classNameId the primary key of the DDMStructure class if the web
2141            content article is related to a DDM structure, the primary key of
2142            the class name associated with the article, or {@link
2143            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2144            * @param keywords the keywords (space separated), which may occur in the
2145            web content article ID, title, description, or content
2146            (optionally <code>null</code>). If the keywords value is not
2147            <code>null</code>, the search uses the OR operator in connecting
2148            query criteria; otherwise it uses the AND operator.
2149            * @param version the web content article's version (optionally
2150            <code>null</code>)
2151            * @param type the web content article's type (optionally
2152            <code>null</code>)
2153            * @param ddmStructureKey the primary key of the web content article's DDM
2154            structure, if the article is related to a DDM structure, or
2155            <code>null</code> otherwise
2156            * @param ddmTemplateKey the primary key of the web content article's DDM
2157            template (optionally <code>null</code>). If the article is
2158            related to a DDM structure, the template's structure must match
2159            it.
2160            * @param displayDateGT the date after which a matching web content
2161            article's display date must be after (optionally
2162            <code>null</code>)
2163            * @param displayDateLT the date before which a matching web content
2164            article's display date must be before (optionally
2165            <code>null</code>)
2166            * @param status the web content article's workflow status. For more
2167            information see {@link WorkflowConstants} for constants starting
2168            with the "STATUS_" prefix.
2169            * @param reviewDate the web content article's scheduled review date
2170            (optionally <code>null</code>)
2171            * @param start the lower bound of the range of web content articles to
2172            return
2173            * @param end the upper bound of the range of web content articles to
2174            return (not inclusive)
2175            * @param obc the comparator to order the web content articles
2176            * @return the range of matching web content articles ordered by the
2177            comparator
2178            * @throws SystemException if a system exception occurred
2179            */
2180            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2181            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2182                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2183                    long classNameId, java.lang.String keywords, java.lang.Double version,
2184                    java.lang.String type, java.lang.String ddmStructureKey,
2185                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
2186                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2187                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
2188                    throws com.liferay.portal.kernel.exception.SystemException;
2189    
2190            /**
2191            * Returns an ordered range of all the web content articles matching the
2192            * parameters without using the indexer, including keyword parameters for
2193            * article ID, title, description, and content, a DDM structure key
2194            * parameter, a DDM template key parameter, and an AND operator switch. It
2195            * is preferable to use the indexed version {@link #search(long, long, List,
2196            * long, String, String, String, String, String, String, String, String,
2197            * LinkedHashMap, boolean, int, int, Sort)} instead of this method wherever
2198            * possible for performance reasons.
2199            *
2200            * <p>
2201            * Useful when paginating results. Returns a maximum of <code>end -
2202            * start</code> instances. <code>start</code> and <code>end</code> are not
2203            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2204            * refers to the first result in the set. Setting both <code>start</code>
2205            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2206            * result set.
2207            * </p>
2208            *
2209            * @param companyId the primary key of the web content article's company
2210            * @param groupId the primary key of the group (optionally <code>0</code>)
2211            * @param folderIds the primary keys of the web content article folders
2212            (optionally {@link java.util.Collections#EMPTY_LIST})
2213            * @param classNameId the primary key of the DDMStructure class if the web
2214            content article is related to a DDM structure, the primary key of
2215            the class name associated with the article, or {@link
2216            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2217            * @param articleId the article ID keywords (space separated, optionally
2218            <code>null</code>)
2219            * @param version the web content article's version (optionally
2220            <code>null</code>)
2221            * @param title the title keywords (space separated, optionally
2222            <code>null</code>)
2223            * @param description the description keywords (space separated, optionally
2224            <code>null</code>)
2225            * @param content the content keywords (space separated, optionally
2226            <code>null</code>)
2227            * @param type the web content article's type (optionally
2228            <code>null</code>)
2229            * @param ddmStructureKey the primary key of the web content article's DDM
2230            structure, if the article is related to a DDM structure, or
2231            <code>null</code> otherwise
2232            * @param ddmTemplateKey the primary key of the web content article's DDM
2233            template (optionally <code>null</code>). If the article is
2234            related to a DDM structure, the template's structure must match
2235            it.
2236            * @param displayDateGT the date after which a matching web content
2237            article's display date must be after (optionally
2238            <code>null</code>)
2239            * @param displayDateLT the date before which a matching web content
2240            article's display date must be before (optionally
2241            <code>null</code>)
2242            * @param status the web content article's workflow status. For more
2243            information see {@link WorkflowConstants} for constants starting
2244            with the "STATUS_" prefix.
2245            * @param reviewDate the web content article's scheduled review date
2246            (optionally <code>null</code>)
2247            * @param andOperator whether every field must match its value or keywords,
2248            or just one field must match. Company, group, folder IDs, class
2249            name ID, and status must all match their values.
2250            * @param start the lower bound of the range of web content articles to
2251            return
2252            * @param end the upper bound of the range of web content articles to
2253            return (not inclusive)
2254            * @param obc the comparator to order the web content articles
2255            * @return the range of matching web content articles ordered by the
2256            comparator
2257            * @throws SystemException if a system exception occurred
2258            */
2259            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2260            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2261                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2262                    long classNameId, java.lang.String articleId, java.lang.Double version,
2263                    java.lang.String title, java.lang.String description,
2264                    java.lang.String content, java.lang.String type,
2265                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2266                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
2267                    java.util.Date reviewDate, boolean andOperator, int start, int end,
2268                    com.liferay.portal.kernel.util.OrderByComparator obc)
2269                    throws com.liferay.portal.kernel.exception.SystemException;
2270    
2271            /**
2272            * Returns an ordered range of all the web content articles matching the
2273            * parameters without using the indexer, including keyword parameters for
2274            * article ID, title, description, and content, a DDM structure keys
2275            * (plural) parameter, a DDM template keys (plural) parameter, and an AND
2276            * operator switch.
2277            *
2278            * <p>
2279            * Useful when paginating results. Returns a maximum of <code>end -
2280            * start</code> instances. <code>start</code> and <code>end</code> are not
2281            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2282            * refers to the first result in the set. Setting both <code>start</code>
2283            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2284            * result set.
2285            * </p>
2286            *
2287            * @param companyId the primary key of the web content article's company
2288            * @param groupId the primary key of the group (optionally <code>0</code>)
2289            * @param folderIds the primary keys of the web content article folders
2290            (optionally {@link java.util.Collections#EMPTY_LIST})
2291            * @param classNameId the primary key of the DDMStructure class if the web
2292            content article is related to a DDM structure, the primary key of
2293            the class name associated with the article, or {@link
2294            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2295            * @param articleId the article ID keywords (space separated, optionally
2296            <code>null</code>)
2297            * @param version the web content article's version (optionally
2298            <code>null</code>)
2299            * @param title the title keywords (space separated, optionally
2300            <code>null</code>)
2301            * @param description the description keywords (space separated, optionally
2302            <code>null</code>)
2303            * @param content the content keywords (space separated, optionally
2304            <code>null</code>)
2305            * @param type the web content article's type (optionally
2306            <code>null</code>)
2307            * @param ddmStructureKeys the primary keys of the web content article's
2308            DDM structures, if the article is related to a DDM structure, or
2309            <code>null</code> otherwise
2310            * @param ddmTemplateKeys the primary keys of the web content article's DDM
2311            templates (originally <code>null</code>). If the articles are
2312            related to a DDM structure, the template's structure must match
2313            it.
2314            * @param displayDateGT the date after which a matching web content
2315            article's display date must be after (optionally
2316            <code>null</code>)
2317            * @param displayDateLT the date before which a matching web content
2318            article's display date must be before (optionally
2319            <code>null</code>)
2320            * @param status the web content article's workflow status. For more
2321            information see {@link WorkflowConstants} for constants starting
2322            with the "STATUS_" prefix.
2323            * @param reviewDate the web content article's scheduled review date
2324            (optionally <code>null</code>)
2325            * @param andOperator whether every field must match its value or keywords,
2326            or just one field must match.  Company, group, folder IDs, class
2327            name ID, and status must all match their values.
2328            * @param start the lower bound of the range of web content articles to
2329            return
2330            * @param end the upper bound of the range of web content articles to
2331            return (not inclusive)
2332            * @param obc the comparator to order the web content articles
2333            * @return the range of matching web content articles ordered by the
2334            comparator
2335            * @throws SystemException if a system exception occurred
2336            */
2337            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2338            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2339                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2340                    long classNameId, java.lang.String articleId, java.lang.Double version,
2341                    java.lang.String title, java.lang.String description,
2342                    java.lang.String content, java.lang.String type,
2343                    java.lang.String[] ddmStructureKeys,
2344                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
2345                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2346                    boolean andOperator, int start, int end,
2347                    com.liferay.portal.kernel.util.OrderByComparator obc)
2348                    throws com.liferay.portal.kernel.exception.SystemException;
2349    
2350            /**
2351            * Returns an ordered range of all the web content articles matching the
2352            * parameters using the indexer, including a keywords parameter for matching
2353            * an article's ID, title, description, or content, a DDM structure key
2354            * parameter, a DDM template key parameter, and a finder hash map parameter.
2355            * It is preferable to use this method instead of the non-indexed version
2356            * whenever possible for performance reasons.
2357            *
2358            * <p>
2359            * Useful when paginating results. Returns a maximum of <code>end -
2360            * start</code> instances. <code>start</code> and <code>end</code> are not
2361            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2362            * refers to the first result in the set. Setting both <code>start</code>
2363            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2364            * result set.
2365            * </p>
2366            *
2367            * @param companyId the primary key of the web content article's company
2368            * @param groupId the primary key of the group (optionally <code>0</code>)
2369            * @param folderIds the primary keys of the web content article folders
2370            (optionally {@link java.util.Collections#EMPTY_LIST})
2371            * @param classNameId the primary key of the DDMStructure class if the web
2372            content article is related to a DDM structure, the primary key of
2373            the class name associated with the article, or {@link
2374            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2375            * @param ddmStructureKey the primary key of the web content article's DDM
2376            structure, if the article is related to a DDM structure, or
2377            <code>null</code> otherwise
2378            * @param ddmTemplateKey the primary key of the web content article's DDM
2379            template (optionally <code>null</code>). If the article is
2380            related to a DDM structure, the template's structure must match
2381            it.
2382            * @param keywords the keywords (space separated), which may occur in the
2383            web content article ID, title, description, or content
2384            (optionally <code>null</code>). If the keywords value is not
2385            <code>null</code>, the search uses the OR operator in connecting
2386            query criteria; otherwise it uses the AND operator.
2387            * @param params the finder parameters (optionally <code>null</code>)
2388            * @param start the lower bound of the range of web content articles to
2389            return
2390            * @param end the upper bound of the range of web content articles to
2391            return (not inclusive)
2392            * @param sort the field, type, and direction by which to sort (optionally
2393            <code>null</code>)
2394            * @return the matching web content articles ordered by <code>sort</code>
2395            * @throws SystemException if a system exception occurred
2396            */
2397            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2398            public com.liferay.portal.kernel.search.Hits search(long companyId,
2399                    long groupId, java.util.List<java.lang.Long> folderIds,
2400                    long classNameId, java.lang.String ddmStructureKey,
2401                    java.lang.String ddmTemplateKey, java.lang.String keywords,
2402                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2403                    int start, int end, com.liferay.portal.kernel.search.Sort sort)
2404                    throws com.liferay.portal.kernel.exception.SystemException;
2405    
2406            /**
2407            * Returns an ordered range of all the web content articles matching the
2408            * parameters using the indexer, including a keywords parameter for matching
2409            * an article's ID, title, description, or content, a DDM structure key
2410            * parameter, a DDM template key parameter, an AND operator switch, and
2411            * parameters for type, status, a finder hash map. It is preferable to use
2412            * this method instead of the non-indexed version whenever possible for
2413            * performance reasons.
2414            *
2415            * <p>
2416            * Useful when paginating results. Returns a maximum of <code>end -
2417            * start</code> instances. <code>start</code> and <code>end</code> are not
2418            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2419            * refers to the first result in the set. Setting both <code>start</code>
2420            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2421            * result set.
2422            * </p>
2423            *
2424            * @param companyId the primary key of the web content article's company
2425            * @param groupId the primary key of the group (optionally <code>0</code>)
2426            * @param folderIds the primary keys of the web content article folders
2427            (optionally {@link java.util.Collections#EMPTY_LIST})
2428            * @param classNameId the primary key of the DDMStructure class if the web
2429            content article is related to a DDM structure, the primary key of
2430            the class name associated with the article, or {@link
2431            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2432            * @param articleId the article ID keywords (space separated, optionally
2433            <code>null</code>)
2434            * @param title the title keywords (space separated, optionally
2435            <code>null</code>)
2436            * @param description the description keywords (space separated, optionally
2437            <code>null</code>)
2438            * @param content the content keywords (space separated, optionally
2439            <code>null</code>)
2440            * @param type the web content article's type (optionally
2441            <code>null</code>)
2442            * @param status the web content article's workflow status. For more
2443            information see {@link WorkflowConstants} for constants starting
2444            with the "STATUS_" prefix.
2445            * @param ddmStructureKey the primary key of the web content article's DDM
2446            structure, if the article is related to a DDM structure, or
2447            <code>null</code> otherwise
2448            * @param ddmTemplateKey the primary key of the web content article's DDM
2449            template (optionally <code>null</code>). If the article is
2450            related to a DDM structure, the template's structure must match
2451            it.
2452            * @param params the finder parameters (optionally <code>null</code>). Can
2453            set parameter <code>"includeDiscussions"</code> to
2454            <code>true</code> to search for the keywords in the web content
2455            article discussions.
2456            * @param andSearch whether every field must match its value or keywords,
2457            or just one field must match
2458            * @param start the lower bound of the range of web content articles to
2459            return
2460            * @param end the upper bound of the range of web content articles to
2461            return (not inclusive)
2462            * @param sort the field, type, and direction by which to sort (optionally
2463            <code>null</code>)
2464            * @return the matching web content articles ordered by <code>sort</code>
2465            * @throws SystemException if a system exception occurred
2466            */
2467            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2468            public com.liferay.portal.kernel.search.Hits search(long companyId,
2469                    long groupId, java.util.List<java.lang.Long> folderIds,
2470                    long classNameId, java.lang.String articleId, java.lang.String title,
2471                    java.lang.String description, java.lang.String content,
2472                    java.lang.String type, java.lang.String status,
2473                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2474                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2475                    boolean andSearch, int start, int end,
2476                    com.liferay.portal.kernel.search.Sort sort)
2477                    throws com.liferay.portal.kernel.exception.SystemException;
2478    
2479            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2480            public com.liferay.portal.kernel.search.Hits search(long groupId,
2481                    long userId, long creatorUserId, int status, int start, int end)
2482                    throws com.liferay.portal.kernel.exception.PortalException,
2483                            com.liferay.portal.kernel.exception.SystemException;
2484    
2485            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2486            public int searchCount(long groupId,
2487                    java.util.List<java.lang.Long> folderIds, int status)
2488                    throws com.liferay.portal.kernel.exception.SystemException;
2489    
2490            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2491            public int searchCount(long groupId, long folderId, int status)
2492                    throws com.liferay.portal.kernel.exception.SystemException;
2493    
2494            /**
2495            * Returns the number of web content articles matching the parameters,
2496            * including a keywords parameter for matching with the article's ID, title,
2497            * description, and content, a DDM structure key parameter, and a DDM
2498            * template key parameter.
2499            *
2500            * @param companyId the primary key of the web content article's company
2501            * @param groupId the primary key of the group (optionally <code>0</code>)
2502            * @param folderIds the primary keys of the web content article folders
2503            (optionally {@link java.util.Collections#EMPTY_LIST})
2504            * @param classNameId the primary key of the DDMStructure class if the web
2505            content article is related to a DDM structure, the primary key of
2506            the class name associated with the article, or {@link
2507            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2508            * @param keywords the keywords (space separated), which may occur in the
2509            web content article ID, title, description, or content
2510            (optionally <code>null</code>). If the keywords value is not
2511            <code>null</code>, the search uses the OR operator in connecting
2512            query criteria; otherwise it uses the AND operator.
2513            * @param version the web content article's version (optionally
2514            <code>null</code>)
2515            * @param type the web content article's type (optionally
2516            <code>null</code>)
2517            * @param ddmStructureKey the primary key of the web content article's DDM
2518            structure, if the article is related to a DDM structure, or
2519            <code>null</code> otherwise
2520            * @param ddmTemplateKey the primary key of the web content article's DDM
2521            template (optionally <code>null</code>). If the article is
2522            related to a DDM structure, the template's structure must match
2523            it.
2524            * @param displayDateGT the date after which a matching web content
2525            article's display date must be after (optionally
2526            <code>null</code>)
2527            * @param displayDateLT the date before which a matching web content
2528            article's display date must be before (optionally
2529            <code>null</code>)
2530            * @param status the web content article's workflow status. For more
2531            information see {@link WorkflowConstants} for constants starting
2532            with the "STATUS_" prefix.
2533            * @param reviewDate the web content article's scheduled review date
2534            (optionally <code>null</code>)
2535            * @return the number of matching web content articles
2536            * @throws SystemException if a system exception occurred
2537            */
2538            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2539            public int searchCount(long companyId, long groupId,
2540                    java.util.List<java.lang.Long> folderIds, long classNameId,
2541                    java.lang.String keywords, java.lang.Double version,
2542                    java.lang.String type, java.lang.String ddmStructureKey,
2543                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
2544                    java.util.Date displayDateLT, int status, java.util.Date reviewDate)
2545                    throws com.liferay.portal.kernel.exception.SystemException;
2546    
2547            /**
2548            * Returns the number of web content articles matching the parameters,
2549            * including keyword parameters for article ID, title, description, and
2550            * content, a DDM structure key parameter, a DDM template key parameter, and
2551            * an AND operator switch.
2552            *
2553            * @param companyId the primary key of the web content article's company
2554            * @param groupId the primary key of the group (optionally <code>0</code>)
2555            * @param folderIds the primary keys of the web content article folders
2556            (optionally {@link java.util.Collections#EMPTY_LIST})
2557            * @param classNameId the primary key of the DDMStructure class if the web
2558            content article is related to a DDM structure, the primary key of
2559            the class name associated with the article, or {@link
2560            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2561            * @param articleId the article ID keywords (space separated, optionally
2562            <code>null</code>)
2563            * @param version the web content article's version (optionally
2564            <code>null</code>)
2565            * @param title the title keywords (space separated, optionally
2566            <code>null</code>)
2567            * @param description the description keywords (space separated, optionally
2568            <code>null</code>)
2569            * @param content the content keywords (space separated, optionally
2570            <code>null</code>)
2571            * @param type the web content article's type (optionally
2572            <code>null</code>)
2573            * @param ddmStructureKey the primary key of the web content article's DDM
2574            structure, if the article is related to a DDM structure, or
2575            <code>null</code> otherwise
2576            * @param ddmTemplateKey the primary key of the web content article's DDM
2577            template (optionally <code>null</code>). If the article is
2578            related to a DDM structure, the template's structure must match
2579            it.
2580            * @param displayDateGT the date after which a matching web content
2581            article's display date must be after (optionally
2582            <code>null</code>)
2583            * @param displayDateLT the date before which a matching web content
2584            article's display date must be before (optionally
2585            <code>null</code>)
2586            * @param status the web content article's workflow status. For more
2587            information see {@link WorkflowConstants} for constants starting
2588            with the "STATUS_" prefix.
2589            * @param reviewDate the web content article's scheduled review date
2590            (optionally <code>null</code>)
2591            * @param andOperator whether every field must match its value or keywords,
2592            or just one field must match. Group, folder IDs, class name ID,
2593            and status must all match their values.
2594            * @return the number of matching web content articles
2595            * @throws SystemException if a system exception occurred
2596            */
2597            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2598            public int searchCount(long companyId, long groupId,
2599                    java.util.List<java.lang.Long> folderIds, long classNameId,
2600                    java.lang.String articleId, java.lang.Double version,
2601                    java.lang.String title, java.lang.String description,
2602                    java.lang.String content, java.lang.String type,
2603                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2604                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
2605                    java.util.Date reviewDate, boolean andOperator)
2606                    throws com.liferay.portal.kernel.exception.SystemException;
2607    
2608            /**
2609            * Returns the number of web content articles matching the parameters,
2610            * including keyword parameters for article ID, title, description, and
2611            * content, a DDM structure keys (plural) parameter, a DDM template keys
2612            * (plural) parameter, and an AND operator switch.
2613            *
2614            * @param companyId the primary key of the web content article's company
2615            * @param groupId the primary key of the group (optionally <code>0</code>)
2616            * @param folderIds the primary keys of the web content article folders
2617            (optionally {@link java.util.Collections#EMPTY_LIST})
2618            * @param classNameId the primary key of the DDMStructure class if the web
2619            content article is related to a DDM structure, the primary key of
2620            the class name associated with the article, or {@link
2621            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2622            * @param articleId the article ID keywords (space separated, optionally
2623            <code>null</code>)
2624            * @param version the web content article's version (optionally
2625            <code>null</code>)
2626            * @param title the title keywords (space separated, optionally
2627            <code>null</code>)
2628            * @param description the description keywords (space separated, optionally
2629            <code>null</code>)
2630            * @param content the content keywords (space separated, optionally
2631            <code>null</code>)
2632            * @param type the web content article's type (optionally
2633            <code>null</code>)
2634            * @param ddmStructureKeys the primary keys of the web content article's
2635            DDM structures, if the article is related to a DDM structure, or
2636            <code>null</code> otherwise
2637            * @param ddmTemplateKeys the primary keys of the web content article's DDM
2638            templates (originally <code>null</code>). If the articles are
2639            related to a DDM structure, the template's structure must match
2640            it.
2641            * @param displayDateGT the date after which a matching web content
2642            article's display date must be after (optionally
2643            <code>null</code>)
2644            * @param displayDateLT the date before which a matching web content
2645            article's display date must be before (optionally
2646            <code>null</code>)
2647            * @param status the web content article's workflow status. For more
2648            information see {@link WorkflowConstants} for constants starting
2649            with the "STATUS_" prefix.
2650            * @param reviewDate the web content article's scheduled review date
2651            (optionally <code>null</code>)
2652            * @param andOperator whether every field must match its value or keywords,
2653            or just one field must match.  Group, folder IDs, class name ID,
2654            and status must all match their values.
2655            * @return the number of matching web content articles
2656            * @throws SystemException if a system exception occurred
2657            */
2658            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2659            public int searchCount(long companyId, long groupId,
2660                    java.util.List<java.lang.Long> folderIds, long classNameId,
2661                    java.lang.String articleId, java.lang.Double version,
2662                    java.lang.String title, java.lang.String description,
2663                    java.lang.String content, java.lang.String type,
2664                    java.lang.String[] ddmStructureKeys,
2665                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
2666                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2667                    boolean andOperator)
2668                    throws com.liferay.portal.kernel.exception.SystemException;
2669    
2670            /**
2671            * Subscribes the user to notifications for the web content article matching
2672            * the group, notifying him the instant versions of the article are created,
2673            * deleted, or modified.
2674            *
2675            * @param userId the primary key of the user to subscribe
2676            * @param groupId the primary key of the group
2677            * @throws PortalException if a matching user or group could not be found
2678            * @throws SystemException if a system exception occurred
2679            */
2680            public void subscribe(long userId, long groupId)
2681                    throws com.liferay.portal.kernel.exception.PortalException,
2682                            com.liferay.portal.kernel.exception.SystemException;
2683    
2684            /**
2685            * Unsubscribes the user from notifications for the web content article
2686            * matching the group.
2687            *
2688            * @param userId the primary key of the user to unsubscribe
2689            * @param groupId the primary key of the group
2690            * @throws PortalException if a matching user or subscription could not be
2691            found
2692            * @throws SystemException if a system exception occurred
2693            */
2694            public void unsubscribe(long userId, long groupId)
2695                    throws com.liferay.portal.kernel.exception.PortalException,
2696                            com.liferay.portal.kernel.exception.SystemException;
2697    
2698            /**
2699            * Updates the web content article matching the version, replacing its
2700            * folder, title, description, content, and layout UUID.
2701            *
2702            * @param userId the primary key of the user updating the web content
2703            article
2704            * @param groupId the primary key of the web content article's group
2705            * @param folderId the primary key of the web content article folder
2706            * @param articleId the primary key of the web content article
2707            * @param version the web content article's version
2708            * @param titleMap the web content article's locales and localized titles
2709            * @param descriptionMap the web content article's locales and localized
2710            descriptions
2711            * @param content the HTML content wrapped in XML. For more information,
2712            see the content example in the class description for {@link
2713            JournalArticleLocalServiceImpl}.
2714            * @param layoutUuid the unique string identifying the web content
2715            article's display page
2716            * @param serviceContext the service context to be applied. Can set the
2717            modification date, expando bridge attributes, asset category IDs,
2718            asset tag names, asset link entry IDs, workflow actions, the
2719            "defaultLanguageId" and "urlTitle" attributes, and can set
2720            whether to add the default command update for the web content
2721            article. With respect to social activities, by setting the
2722            service context's command to {@link
2723            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2724            is considered a web content update activity; otherwise it is
2725            considered a web content add activity.
2726            * @return the updated web content article
2727            * @throws PortalException if a user with the primary key or a matching web
2728            content article could not be found, or if a portal exception
2729            occurred
2730            * @throws SystemException if a system exception occurred
2731            */
2732            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2733                    long userId, long groupId, long folderId, java.lang.String articleId,
2734                    double version,
2735                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
2736                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
2737                    java.lang.String content, java.lang.String layoutUuid,
2738                    com.liferay.portal.service.ServiceContext serviceContext)
2739                    throws com.liferay.portal.kernel.exception.PortalException,
2740                            com.liferay.portal.kernel.exception.SystemException;
2741    
2742            /**
2743            * Updates the web content article with additional parameters.
2744            *
2745            * @param userId the primary key of the user updating the web content
2746            article
2747            * @param groupId the primary key of the web content article's group
2748            * @param folderId the primary key of the web content article folder
2749            * @param articleId the primary key of the web content article
2750            * @param version the web content article's version
2751            * @param titleMap the web content article's locales and localized titles
2752            * @param descriptionMap the web content article's locales and localized
2753            descriptions
2754            * @param content the HTML content wrapped in XML. For more information,
2755            see the content example in the class description for {@link
2756            JournalArticleLocalServiceImpl}.
2757            * @param type the structure's type, if the web content article is related
2758            to a DDM structure. For more information, see {@link
2759            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
2760            * @param ddmStructureKey the primary key of the web content article's DDM
2761            structure, if the article is related to a DDM structure, or
2762            <code>null</code> otherwise
2763            * @param ddmTemplateKey the primary key of the web content article's DDM
2764            template (optionally <code>null</code>). If the article is
2765            related to a DDM structure, the template's structure must match
2766            it.
2767            * @param layoutUuid the unique string identifying the web content
2768            article's display page
2769            * @param displayDateMonth the month the web content article is set to
2770            display
2771            * @param displayDateDay the calendar day the web content article is set to
2772            display
2773            * @param displayDateYear the year the web content article is set to
2774            display
2775            * @param displayDateHour the hour the web content article is set to
2776            display
2777            * @param displayDateMinute the minute the web content article is set to
2778            display
2779            * @param expirationDateMonth the month the web content article is set to
2780            expire
2781            * @param expirationDateDay the calendar day the web content article is set
2782            to expire
2783            * @param expirationDateYear the year the web content article is set to
2784            expire
2785            * @param expirationDateHour the hour the web content article is set to
2786            expire
2787            * @param expirationDateMinute the minute the web content article is set to
2788            expire
2789            * @param neverExpire whether the web content article is not set to auto
2790            expire
2791            * @param reviewDateMonth the month the web content article is set for
2792            review
2793            * @param reviewDateDay the calendar day the web content article is set for
2794            review
2795            * @param reviewDateYear the year the web content article is set for review
2796            * @param reviewDateHour the hour the web content article is set for review
2797            * @param reviewDateMinute the minute the web content article is set for
2798            review
2799            * @param neverReview whether the web content article is not set for review
2800            * @param indexable whether the web content is searchable
2801            * @param smallImage whether to update web content article's a small image.
2802            A file must be passed in as <code>smallImageFile</code> value,
2803            otherwise the current small image is deleted.
2804            * @param smallImageURL the web content article's small image URL
2805            (optionally <code>null</code>)
2806            * @param smallImageFile the web content article's new small image file
2807            (optionally <code>null</code>). Must pass in
2808            <code>smallImage</code> value of <code>true</code> to replace the
2809            article's small image file.
2810            * @param images the web content's images (optionally <code>null</code>)
2811            * @param articleURL the web content article's accessible URL (optionally
2812            <code>null</code>)
2813            * @param serviceContext the service context to be applied. Can set the
2814            modification date, expando bridge attributes, asset category IDs,
2815            asset tag names, asset link entry IDs, workflow actions, the
2816            "defaultLanguageId" and "urlTitle" attributes, and can set
2817            whether to add the default command update for the web content
2818            article. With respect to social activities, by setting the
2819            service context's command to {@link
2820            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2821            is considered a web content update activity; otherwise it is
2822            considered a web content add activity.
2823            * @return the updated web content article
2824            * @throws PortalException if a user with the primary key or a matching web
2825            content article could not be found, or if a portal exception
2826            occurred
2827            * @throws SystemException if a system exception occurred
2828            */
2829            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2830                    long userId, long groupId, long folderId, java.lang.String articleId,
2831                    double version,
2832                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
2833                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
2834                    java.lang.String content, java.lang.String type,
2835                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2836                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
2837                    int displayDateYear, int displayDateHour, int displayDateMinute,
2838                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
2839                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
2840                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
2841                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
2842                    boolean indexable, boolean smallImage, java.lang.String smallImageURL,
2843                    java.io.File smallImageFile,
2844                    java.util.Map<java.lang.String, byte[]> images,
2845                    java.lang.String articleURL,
2846                    com.liferay.portal.service.ServiceContext serviceContext)
2847                    throws com.liferay.portal.kernel.exception.PortalException,
2848                            com.liferay.portal.kernel.exception.SystemException;
2849    
2850            /**
2851            * Updates the web content article matching the version, replacing its
2852            * folder and content.
2853            *
2854            * @param userId the primary key of the user updating the web content
2855            article
2856            * @param groupId the primary key of the web content article's group
2857            * @param folderId the primary key of the web content article folder
2858            * @param articleId the primary key of the web content article
2859            * @param version the web content article's version
2860            * @param content the HTML content wrapped in XML. For more information,
2861            see the content example in the class description for {@link
2862            JournalArticleLocalServiceImpl}.
2863            * @param serviceContext the service context to be applied. Can set the
2864            modification date, expando bridge attributes, asset category IDs,
2865            asset tag names, asset link entry IDs, workflow actions, the
2866            "defaultLanguageId" and "urlTitle" attributes, and can set
2867            whether to add the default command update for the web content
2868            article. With respect to social activities, by setting the
2869            service context's command to {@link
2870            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2871            is considered a web content update activity; otherwise it is
2872            considered a web content add activity.
2873            * @return the updated web content article
2874            * @throws PortalException if a user with the primary key or a matching web
2875            content article could not be found, or if a portal exception
2876            occurred
2877            * @throws SystemException if a system exception occurred
2878            */
2879            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2880                    long userId, long groupId, long folderId, java.lang.String articleId,
2881                    double version, java.lang.String content,
2882                    com.liferay.portal.service.ServiceContext serviceContext)
2883                    throws com.liferay.portal.kernel.exception.PortalException,
2884                            com.liferay.portal.kernel.exception.SystemException;
2885    
2886            /**
2887            * @deprecated As of 6.2.0, replaced by {@link
2888            #updateArticleTranslation(long, String, double, Locale,
2889            String, String, String, Map, ServiceContext)}
2890            */
2891            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
2892                    long groupId, java.lang.String articleId, double version,
2893                    java.util.Locale locale, java.lang.String title,
2894                    java.lang.String description, java.lang.String content,
2895                    java.util.Map<java.lang.String, byte[]> images)
2896                    throws com.liferay.portal.kernel.exception.PortalException,
2897                            com.liferay.portal.kernel.exception.SystemException;
2898    
2899            /**
2900            * Updates the translation of the web content article.
2901            *
2902            * @param groupId the primary key of the web content article's group
2903            * @param articleId the primary key of the web content article
2904            * @param version the web content article's version
2905            * @param locale the locale of the web content article's display template
2906            * @param title the translated web content article title
2907            * @param description the translated web content article description
2908            * @param content the HTML content wrapped in XML. For more information,
2909            see the content example in the class description for {@link
2910            JournalArticleLocalServiceImpl}.
2911            * @param images the web content's images
2912            * @param serviceContext the service context to be applied. Can set the
2913            modification date and "urlTitle" attribute for the web content
2914            article.
2915            * @return the updated web content article
2916            * @throws PortalException if a user with the primary key or a matching web
2917            content article could not be found, or if a portal exception
2918            occurred
2919            * @throws SystemException if a system exception occurred
2920            */
2921            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
2922                    long groupId, java.lang.String articleId, double version,
2923                    java.util.Locale locale, java.lang.String title,
2924                    java.lang.String description, java.lang.String content,
2925                    java.util.Map<java.lang.String, byte[]> images,
2926                    com.liferay.portal.service.ServiceContext serviceContext)
2927                    throws com.liferay.portal.kernel.exception.PortalException,
2928                            com.liferay.portal.kernel.exception.SystemException;
2929    
2930            /**
2931            * Updates the web content article's asset with the new asset categories,
2932            * tag names, and link entries, removing and adding them as necessary.
2933            *
2934            * @param userId the primary key of the user updating the web content
2935            article's asset
2936            * @param article the web content article
2937            * @param assetCategoryIds the primary keys of the new asset categories
2938            * @param assetTagNames the new asset tag names
2939            * @param assetLinkEntryIds the primary keys of the new asset link entries
2940            * @throws PortalException if a portal exception occurred
2941            * @throws SystemException if a system exception occurred
2942            */
2943            public void updateAsset(long userId,
2944                    com.liferay.portlet.journal.model.JournalArticle article,
2945                    long[] assetCategoryIds, java.lang.String[] assetTagNames,
2946                    long[] assetLinkEntryIds)
2947                    throws com.liferay.portal.kernel.exception.PortalException,
2948                            com.liferay.portal.kernel.exception.SystemException;
2949    
2950            /**
2951            * Updates the web content article matching the group, article ID, and
2952            * version, replacing its content.
2953            *
2954            * @param groupId the primary key of the web content article's group
2955            * @param articleId the primary key of the web content article
2956            * @param version the web content article's version
2957            * @param content the HTML content wrapped in XML. For more information,
2958            see the content example in the class description for {@link
2959            JournalArticleLocalServiceImpl}.
2960            * @return the updated web content article
2961            * @throws PortalException if a matching web content article could not be
2962            found
2963            * @throws SystemException if a system exception occurred
2964            */
2965            public com.liferay.portlet.journal.model.JournalArticle updateContent(
2966                    long groupId, java.lang.String articleId, double version,
2967                    java.lang.String content)
2968                    throws com.liferay.portal.kernel.exception.PortalException,
2969                            com.liferay.portal.kernel.exception.SystemException;
2970    
2971            /**
2972            * Updates the workflow status of the web content article.
2973            *
2974            * @param userId the primary key of the user updating the web content
2975            article's status
2976            * @param article the web content article
2977            * @param status the web content article's workflow status. For more
2978            information see {@link WorkflowConstants} for constants starting
2979            with the "STATUS_" prefix.
2980            * @param articleURL the web content article's accessible URL
2981            * @param workflowContext the web content article's configured workflow
2982            context
2983            * @param serviceContext the service context to be applied. Can set the
2984            modification date, status date, and portlet preferences. With
2985            respect to social activities, by setting the service context's
2986            command to {@link
2987            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2988            is considered a web content update activity; otherwise it is
2989            considered a web content add activity.
2990            * @return the updated web content article
2991            * @throws PortalException if a portal exception occurred
2992            * @throws SystemException if a system exception occurred
2993            */
2994            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
2995                    long userId, com.liferay.portlet.journal.model.JournalArticle article,
2996                    int status, java.lang.String articleURL,
2997                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
2998                    com.liferay.portal.service.ServiceContext serviceContext)
2999                    throws com.liferay.portal.kernel.exception.PortalException,
3000                            com.liferay.portal.kernel.exception.SystemException;
3001    
3002            /**
3003            * Updates the workflow status of the web content article matching the class
3004            * PK.
3005            *
3006            * @param userId the primary key of the user updating the web content
3007            article's status
3008            * @param classPK the primary key of the DDM structure, if the web content
3009            article is related to a DDM structure, the primary key of the
3010            class associated with the article, or <code>0</code> otherwise
3011            * @param status the web content article's workflow status. For more
3012            information see {@link WorkflowConstants} for constants starting
3013            with the "STATUS_" prefix.
3014            * @param workflowContext the web content article's configured workflow
3015            * @param serviceContext the service context to be applied. Can set the
3016            modification date, portlet preferences, and can set whether to
3017            add the default command update for the web content article.
3018            * @return the updated web content article
3019            * @throws PortalException if a matching web content article could not be
3020            found or if a portal exception occurred
3021            * @throws SystemException if a system exception occurred
3022            */
3023            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
3024                    long userId, long classPK, int status,
3025                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
3026                    com.liferay.portal.service.ServiceContext serviceContext)
3027                    throws com.liferay.portal.kernel.exception.PortalException,
3028                            com.liferay.portal.kernel.exception.SystemException;
3029    
3030            /**
3031            * Updates the workflow status of the web content article matching the
3032            * group, article ID, and version.
3033            *
3034            * @param userId the primary key of the user updating the web content
3035            article's status
3036            * @param groupId the primary key of the web content article's group
3037            * @param articleId the primary key of the web content article
3038            * @param version the web content article's version
3039            * @param status the web content article's workflow status. For more
3040            information see {@link WorkflowConstants} for constants starting
3041            with the "STATUS_" prefix.
3042            * @param articleURL the web content article's accessible URL
3043            * @param workflowContext the web content article's configured workflow
3044            * @param serviceContext the service context to be applied. Can set the
3045            modification date, portlet preferences, and can set whether to
3046            add the default command update for the web content article.
3047            * @return the updated web content article
3048            * @throws PortalException if a matching web content article could not be
3049            found or if a portal exception occurred
3050            * @throws SystemException if a system exception occurred
3051            */
3052            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
3053                    long userId, long groupId, java.lang.String articleId, double version,
3054                    int status, java.lang.String articleURL,
3055                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
3056                    com.liferay.portal.service.ServiceContext serviceContext)
3057                    throws com.liferay.portal.kernel.exception.PortalException,
3058                            com.liferay.portal.kernel.exception.SystemException;
3059    
3060            /**
3061            * Updates the web content articles matching the group, class name ID, and
3062            * DDM template key, replacing the DDM template key with a new one.
3063            *
3064            * @param groupId the primary key of the web content article's group
3065            * @param classNameId the primary key of the DDMStructure class if the web
3066            content article is related to a DDM structure, the primary key of
3067            the class name associated with the article, or {@link
3068            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
3069            * @param oldDDMTemplateKey the primary key of the web content article's
3070            old DDM template
3071            * @param newDDMTemplateKey the primary key of the web content article's
3072            new DDM template
3073            * @throws SystemException if a system exception occurred
3074            */
3075            public void updateTemplateId(long groupId, long classNameId,
3076                    java.lang.String oldDDMTemplateKey, java.lang.String newDDMTemplateKey)
3077                    throws com.liferay.portal.kernel.exception.SystemException;
3078    }