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