001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portlet.journal.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.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)
797                    throws com.liferay.portal.kernel.exception.SystemException;
798    
799            /**
800            * Returns the web content article matching the group, article ID, and
801            * version.
802            *
803            * @param groupId the primary key of the web content article's group
804            * @param articleId the primary key of the web content article
805            * @param version the web content article's version
806            * @return the web content article matching the group, article ID, and
807            version, or <code>null</code> if no web content article could be
808            found
809            */
810            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
811            public com.liferay.portlet.journal.model.JournalArticle fetchArticle(
812                    long groupId, java.lang.String articleId, double version)
813                    throws com.liferay.portal.kernel.exception.SystemException;
814    
815            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
816            public com.liferay.portlet.journal.model.JournalArticle fetchArticleByUrlTitle(
817                    long groupId, java.lang.String urlTitle)
818                    throws com.liferay.portal.kernel.exception.SystemException;
819    
820            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
821            public com.liferay.portlet.journal.model.JournalArticle fetchDisplayArticle(
822                    long groupId, java.lang.String articleId)
823                    throws com.liferay.portal.kernel.exception.SystemException;
824    
825            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
826            public com.liferay.portlet.journal.model.JournalArticle fetchLatestArticle(
827                    long resourcePrimKey)
828                    throws com.liferay.portal.kernel.exception.SystemException;
829    
830            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
831            public com.liferay.portlet.journal.model.JournalArticle fetchLatestArticle(
832                    long resourcePrimKey, int status)
833                    throws com.liferay.portal.kernel.exception.SystemException;
834    
835            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
836            public com.liferay.portlet.journal.model.JournalArticle fetchLatestArticle(
837                    long resourcePrimKey, int[] statuses)
838                    throws com.liferay.portal.kernel.exception.SystemException;
839    
840            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
841            public com.liferay.portlet.journal.model.JournalArticle fetchLatestArticle(
842                    long resourcePrimKey, int status, boolean preferApproved)
843                    throws com.liferay.portal.kernel.exception.SystemException;
844    
845            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
846            public com.liferay.portlet.journal.model.JournalArticle fetchLatestArticle(
847                    long groupId, java.lang.String articleId, int status)
848                    throws com.liferay.portal.kernel.exception.SystemException;
849    
850            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
851            public com.liferay.portlet.journal.model.JournalArticle fetchLatestArticleByUrlTitle(
852                    long groupId, java.lang.String urlTitle, int status)
853                    throws com.liferay.portal.kernel.exception.SystemException;
854    
855            /**
856            * Returns the latest indexable web content article matching the resource
857            * primary key.
858            *
859            * @param resourcePrimKey the primary key of the resource instance
860            * @return the latest indexable web content article matching the resource
861            primary key, or <code>null</code> if no matching web content
862            article could be found
863            */
864            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
865            public com.liferay.portlet.journal.model.JournalArticle fetchLatestIndexableArticle(
866                    long resourcePrimKey)
867                    throws com.liferay.portal.kernel.exception.SystemException;
868    
869            /**
870            * Returns the web content article with the ID.
871            *
872            * @param id the primary key of the web content article
873            * @return the web content article with the ID
874            * @throws PortalException if a matching web content article could not be
875            found
876            * @throws SystemException if a system exception occurred
877            */
878            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
879            public com.liferay.portlet.journal.model.JournalArticle getArticle(long id)
880                    throws com.liferay.portal.kernel.exception.PortalException,
881                            com.liferay.portal.kernel.exception.SystemException;
882    
883            /**
884            * Returns the latest approved web content article, or the latest unapproved
885            * article if none are approved. Both approved and unapproved articles must
886            * match the group and article ID.
887            *
888            * @param groupId the primary key of the web content article's group
889            * @param articleId the primary key of the web content article
890            * @return the matching web content article
891            * @throws PortalException if a matching web content article could not be
892            found
893            * @throws SystemException if a system exception occurred
894            */
895            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
896            public com.liferay.portlet.journal.model.JournalArticle getArticle(
897                    long groupId, java.lang.String articleId)
898                    throws com.liferay.portal.kernel.exception.PortalException,
899                            com.liferay.portal.kernel.exception.SystemException;
900    
901            /**
902            * Returns the web content article matching the group, article ID, and
903            * version.
904            *
905            * @param groupId the primary key of the web content article's group
906            * @param articleId the primary key of the web content article
907            * @param version the web content article's version
908            * @return the matching web content article
909            * @throws PortalException if a matching web content article could not be
910            found
911            * @throws SystemException if a system exception occurred
912            */
913            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
914            public com.liferay.portlet.journal.model.JournalArticle getArticle(
915                    long groupId, java.lang.String articleId, double version)
916                    throws com.liferay.portal.kernel.exception.PortalException,
917                            com.liferay.portal.kernel.exception.SystemException;
918    
919            /**
920            * Returns the web content article matching the group, class name, and class
921            * PK.
922            *
923            * @param groupId the primary key of the web content article's group
924            * @param className the DDMStructure class name if the web content article
925            is related to a DDM structure, the primary key of the class name
926            associated with the article, or {@link
927            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
928            * @param classPK the primary key of the DDM structure, if the the
929            DDMStructure class name is given as the <code>className</code>
930            parameter, the primary key of the class associated with the web
931            content article, or <code>0</code> otherwise
932            * @return the matching web content article
933            * @throws PortalException if a matching web content article could not be
934            found
935            * @throws SystemException if a system exception occurred
936            */
937            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
938            public com.liferay.portlet.journal.model.JournalArticle getArticle(
939                    long groupId, java.lang.String className, long classPK)
940                    throws com.liferay.portal.kernel.exception.PortalException,
941                            com.liferay.portal.kernel.exception.SystemException;
942    
943            /**
944            * Returns the latest web content article that is approved, or the latest
945            * unapproved article if none are approved. Both approved and unapproved
946            * articles must match the group and URL title.
947            *
948            * @param groupId the primary key of the web content article's group
949            * @param urlTitle the web content article's accessible URL title
950            * @return the matching web content article
951            * @throws PortalException if a portal exception occurred
952            * @throws SystemException if a system exception occurred
953            */
954            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
955            public com.liferay.portlet.journal.model.JournalArticle getArticleByUrlTitle(
956                    long groupId, java.lang.String urlTitle)
957                    throws com.liferay.portal.kernel.exception.PortalException,
958                            com.liferay.portal.kernel.exception.SystemException;
959    
960            /**
961            * Returns the web content associated with the web content article and DDM
962            * template.
963            *
964            * @param article the web content article
965            * @param ddmTemplateKey the primary key of the web content article's DDM
966            template (optionally <code>null</code>). If the article is
967            related to a DDM structure, the template's structure must match
968            it.
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 web content associated with the DDM template
973            * @throws PortalException if a matching DDM template could not be found or
974            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(
979                    com.liferay.portlet.journal.model.JournalArticle article,
980                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
981                    java.lang.String languageId,
982                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
983                    throws com.liferay.portal.kernel.exception.PortalException,
984                            com.liferay.portal.kernel.exception.SystemException;
985    
986            /**
987            * Returns the web content matching the group, article ID, and version, and
988            * associated with the DDM template.
989            *
990            * @param groupId the primary key of the web content article's group
991            * @param articleId the primary key of the web content article
992            * @param version the web content article's version
993            * @param viewMode the mode in which the web content is being viewed
994            * @param ddmTemplateKey the primary key of the web content article's DDM
995            template (optionally <code>null</code>). If the article is
996            related to a DDM structure, the template's structure must match
997            it.
998            * @param languageId the primary key of the language translation to get
999            * @param themeDisplay the theme display
1000            * @return the matching web content
1001            * @throws PortalException if a matching web content article or DDM template
1002            could not be found, or if a portal exception occurred
1003            * @throws SystemException if a system exception occurred
1004            */
1005            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1006            public java.lang.String getArticleContent(long groupId,
1007                    java.lang.String articleId, double version, java.lang.String viewMode,
1008                    java.lang.String ddmTemplateKey, java.lang.String languageId,
1009                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1010                    throws com.liferay.portal.kernel.exception.PortalException,
1011                            com.liferay.portal.kernel.exception.SystemException;
1012    
1013            /**
1014            * Returns the web content matching the group, article ID, and version.
1015            *
1016            * @param groupId the primary key of the web content article's group
1017            * @param articleId the primary key of the web content article
1018            * @param version the web content article's version
1019            * @param viewMode the mode in which the web content is being viewed
1020            * @param languageId the primary key of the language translation to get
1021            * @param themeDisplay the theme display
1022            * @return the matching web content
1023            * @throws PortalException if a matching web content article or DDM template
1024            could not be found, or if a portal exception occurred
1025            * @throws SystemException if a system exception occurred
1026            */
1027            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1028            public java.lang.String getArticleContent(long groupId,
1029                    java.lang.String articleId, double version, java.lang.String viewMode,
1030                    java.lang.String languageId,
1031                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1032                    throws com.liferay.portal.kernel.exception.PortalException,
1033                            com.liferay.portal.kernel.exception.SystemException;
1034    
1035            /**
1036            * Returns the latest web content matching the group and article ID, and
1037            * associated with DDM template key.
1038            *
1039            * @param groupId the primary key of the web content article's group
1040            * @param articleId the primary key of the web content article
1041            * @param viewMode the mode in which the web content is being viewed
1042            * @param ddmTemplateKey the primary key of the web content article's DDM
1043            template (optionally <code>null</code>). If the article is
1044            related to a DDM structure, the template's structure must match
1045            it.
1046            * @param languageId the primary key of the language translation to get
1047            * @param themeDisplay the theme display
1048            * @return the matching web content
1049            * @throws PortalException if a matching web content article or DDM template
1050            could not be found, or if a portal exception occurred
1051            * @throws SystemException if a system exception occurred
1052            */
1053            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1054            public java.lang.String getArticleContent(long groupId,
1055                    java.lang.String articleId, java.lang.String viewMode,
1056                    java.lang.String ddmTemplateKey, java.lang.String languageId,
1057                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1058                    throws com.liferay.portal.kernel.exception.PortalException,
1059                            com.liferay.portal.kernel.exception.SystemException;
1060    
1061            /**
1062            * Returns the latest web content matching the group and article ID.
1063            *
1064            * @param groupId the primary key of the web content article's group
1065            * @param articleId the primary key of the web content article
1066            * @param viewMode the mode in which the web content is being viewed
1067            * @param languageId the primary key of the language translation to get
1068            * @param themeDisplay the theme display
1069            * @return the matching web content
1070            * @throws PortalException if a matching web content article or DDM template
1071            could not be found, or if a portal exception occurred
1072            * @throws SystemException if a system exception occurred
1073            */
1074            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1075            public java.lang.String getArticleContent(long groupId,
1076                    java.lang.String articleId, java.lang.String viewMode,
1077                    java.lang.String languageId,
1078                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1079                    throws com.liferay.portal.kernel.exception.PortalException,
1080                            com.liferay.portal.kernel.exception.SystemException;
1081    
1082            /**
1083            * Returns a web content article display for the specified page of the
1084            * latest version of the web content article, optionally based on the DDM
1085            * template if the article is template driven. If the article is template
1086            * driven, web content transformation tokens are added from the theme
1087            * display (if not <code>null</code>) or the XML request otherwise.
1088            *
1089            * @param article the web content article
1090            * @param ddmTemplateKey the primary key of the web content article's DDM
1091            template (optionally <code>null</code>). If the article is
1092            related to a DDM structure, the template's structure must match
1093            it.
1094            * @param viewMode the mode in which the web content is being viewed
1095            * @param languageId the primary key of the language translation to get
1096            * @param page the web content's page number. Page numbers start at
1097            <code>1</code>.
1098            * @param xmlRequest the request that serializes the web content into a
1099            hierarchical hash map (optionally <code>null</code>)
1100            * @param themeDisplay the theme display
1101            * @return the web content article display
1102            * @throws PortalException if a matching DDM template could not be found or
1103            if a portal exception occurred
1104            * @throws SystemException if a system exception occurred
1105            */
1106            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1107            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1108                    com.liferay.portlet.journal.model.JournalArticle article,
1109                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1110                    java.lang.String languageId, int page, java.lang.String xmlRequest,
1111                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1112                    throws com.liferay.portal.kernel.exception.PortalException,
1113                            com.liferay.portal.kernel.exception.SystemException;
1114    
1115            /**
1116            * Returns a web content article display for the first page of the specified
1117            * version of the web content article, optionally based on the DDM template
1118            * if the article is template driven. If the article is template driven, web
1119            * content transformation tokens are added from the theme display (if not
1120            * <code>null</code>) or the XML request otherwise.
1121            *
1122            * @param groupId the primary key of the web content article's group
1123            * @param articleId the primary key of the web content article
1124            * @param version the web content article's version
1125            * @param ddmTemplateKey the primary key of the web content article's DDM
1126            template (optionally <code>null</code>). If the article is
1127            related to a DDM structure, the template's structure must match
1128            it.
1129            * @param viewMode the mode in which the web content is being viewed
1130            * @param languageId the primary key of the language translation to get
1131            * @param page the web content's page number
1132            * @param xmlRequest the request that serializes the web content into a
1133            hierarchical hash map
1134            * @param themeDisplay the theme display
1135            * @return the web content article display, or <code>null</code> if the
1136            article has expired or if article's display date/time is after
1137            the current date/time
1138            * @throws PortalException if a matching web content article or DDM template
1139            could not be found, or if a portal exception occurred
1140            * @throws SystemException if a system exception occurred
1141            */
1142            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1143            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1144                    long groupId, java.lang.String articleId, double version,
1145                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1146                    java.lang.String languageId, int page, java.lang.String xmlRequest,
1147                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1148                    throws com.liferay.portal.kernel.exception.PortalException,
1149                            com.liferay.portal.kernel.exception.SystemException;
1150    
1151            /**
1152            * Returns a web content article display for the first page of the specified
1153            * version of the web content article matching the group and article ID,
1154            * optionally based on the DDM template if the article is template driven.
1155            * If the article is template driven, web content transformation tokens are
1156            * added from the theme display (if not <code>null</code>).
1157            *
1158            * @param groupId the primary key of the web content article's group
1159            * @param articleId the primary key of the web content article
1160            * @param version the web content article's version
1161            * @param ddmTemplateKey the primary key of the web content article's DDM
1162            template (optionally <code>null</code>). If the article is
1163            related to a DDM structure, the template's structure must match
1164            it.
1165            * @param viewMode the mode in which the web content is being viewed
1166            * @param languageId the primary key of the language translation to get
1167            * @param themeDisplay the theme display
1168            * @return the web content article display, or <code>null</code> if the
1169            article has expired or if article's display date/time is after
1170            the current date/time
1171            * @throws PortalException if a matching web content article or DDM template
1172            could not be found, or if a portal exception occurred
1173            * @throws SystemException if a system exception occurred
1174            */
1175            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1176            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1177                    long groupId, java.lang.String articleId, double version,
1178                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1179                    java.lang.String languageId,
1180                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1181                    throws com.liferay.portal.kernel.exception.PortalException,
1182                            com.liferay.portal.kernel.exception.SystemException;
1183    
1184            /**
1185            * Returns a web content article display for the first page of the latest
1186            * version of the web content article matching the group and article ID. If
1187            * the article is template driven, web content transformation tokens are
1188            * added from the theme display (if not <code>null</code>) or the XML
1189            * request otherwise.
1190            *
1191            * @param groupId the primary key of the web content article's group
1192            * @param articleId the primary key of the web content article
1193            * @param viewMode the mode in which the web content is being viewed
1194            * @param languageId the primary key of the language translation to get
1195            * @param page the web content's page number
1196            * @param xmlRequest the request that serializes the web content into a
1197            hierarchical hash map
1198            * @param themeDisplay the theme display
1199            * @return the web content article display, or <code>null</code> if the
1200            article has expired or if article's display date/time is after
1201            the current date/time
1202            * @throws PortalException if a matching web content article or DDM template
1203            could not be found, or if a portal exception occurred
1204            * @throws SystemException if a system exception occurred
1205            */
1206            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1207            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1208                    long groupId, java.lang.String articleId, java.lang.String viewMode,
1209                    java.lang.String languageId, int page, java.lang.String xmlRequest,
1210                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1211                    throws com.liferay.portal.kernel.exception.PortalException,
1212                            com.liferay.portal.kernel.exception.SystemException;
1213    
1214            /**
1215            * Returns a web content article display for the specified page of the
1216            * latest version of the web content article matching the group and article
1217            * ID, optionally based on the DDM template if the article is template
1218            * driven. If the article is template driven, web content transformation
1219            * tokens are added from the theme display (if not <code>null</code>) or the
1220            * XML request otherwise.
1221            *
1222            * @param groupId the primary key of the web content article's group
1223            * @param articleId the primary key of the web content article
1224            * @param ddmTemplateKey the primary key of the web content article's DDM
1225            template (optionally <code>null</code>). If the article is
1226            related to a DDM structure, the template's structure must match
1227            it.
1228            * @param viewMode the mode in which the web content is being viewed
1229            * @param languageId the primary key of the language translation to get
1230            * @param page the web content's page number
1231            * @param xmlRequest the request that serializes the web content into a
1232            hierarchical hash map
1233            * @param themeDisplay the theme display
1234            * @return the web content article display, or <code>null</code> if the
1235            article has expired or if article's display date/time is after
1236            the current date/time
1237            * @throws PortalException if a matching web content article or DDM template
1238            could not be found, or if a portal exception occurred
1239            * @throws SystemException if a system exception occurred
1240            */
1241            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1242            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1243                    long groupId, java.lang.String articleId,
1244                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1245                    java.lang.String languageId, int page, java.lang.String xmlRequest,
1246                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1247                    throws com.liferay.portal.kernel.exception.PortalException,
1248                            com.liferay.portal.kernel.exception.SystemException;
1249    
1250            /**
1251            * Returns a web content article display for the first page of the latest
1252            * version of the web content article matching the group and article ID,
1253            * optionally based on the DDM template if the article is template driven.
1254            * If the article is template driven, web content transformation tokens are
1255            * added from the theme display (if not <code>null</code>).
1256            *
1257            * @param groupId the primary key of the web content article's group
1258            * @param articleId the primary key of the web content article
1259            * @param ddmTemplateKey the primary key of the web content article's DDM
1260            template (optionally <code>null</code>). If the article is
1261            related to a DDM structure, the template's structure must match
1262            it.
1263            * @param viewMode the mode in which the web content is being viewed
1264            * @param languageId the primary key of the language translation to get
1265            * @param themeDisplay the theme display
1266            * @return the web content article display, or <code>null</code> if the
1267            article has expired or if article's display date/time is after
1268            the current date/time
1269            * @throws PortalException if a matching web content article or DDM template
1270            could not be found, or if a portal exception occurred
1271            * @throws SystemException if a system exception occurred
1272            */
1273            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1274            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1275                    long groupId, java.lang.String articleId,
1276                    java.lang.String ddmTemplateKey, java.lang.String viewMode,
1277                    java.lang.String languageId,
1278                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1279                    throws com.liferay.portal.kernel.exception.PortalException,
1280                            com.liferay.portal.kernel.exception.SystemException;
1281    
1282            /**
1283            * Returns a web content article display for the first page of the latest
1284            * version of the web content article matching the group and article ID. If
1285            * the article is template driven, web content transformation tokens are
1286            * added from the theme display (if not <code>null</code>).
1287            *
1288            * @param groupId the primary key of the web content article's group
1289            * @param articleId the primary key of the web content article
1290            * @param viewMode the mode in which the web content is being viewed
1291            * @param languageId the primary key of the language translation to get
1292            * @param themeDisplay the theme display
1293            * @return the web content article display, or <code>null</code> if the
1294            article has expired or if article's display date/time is after
1295            the current date/time
1296            * @throws PortalException if a matching web content article or DDM template
1297            could not be found, or if a portal exception occurred
1298            * @throws SystemException if a system exception occurred
1299            */
1300            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1301            public com.liferay.portlet.journal.model.JournalArticleDisplay getArticleDisplay(
1302                    long groupId, java.lang.String articleId, java.lang.String viewMode,
1303                    java.lang.String languageId,
1304                    com.liferay.portal.theme.ThemeDisplay themeDisplay)
1305                    throws com.liferay.portal.kernel.exception.PortalException,
1306                            com.liferay.portal.kernel.exception.SystemException;
1307    
1308            /**
1309            * Returns all the web content articles present in the system.
1310            *
1311            * @return the web content articles present in the system
1312            * @throws SystemException if a system exception occurred
1313            */
1314            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1315            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles()
1316                    throws com.liferay.portal.kernel.exception.SystemException;
1317    
1318            /**
1319            * Returns all the web content articles belonging to the group.
1320            *
1321            * @param groupId the primary key of the web content article's group
1322            * @return the web content articles belonging to the group
1323            * @throws SystemException if a system exception occurred
1324            */
1325            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1326            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1327                    long groupId)
1328                    throws com.liferay.portal.kernel.exception.SystemException;
1329    
1330            /**
1331            * Returns a range of all the web content articles belonging to the group.
1332            *
1333            * <p>
1334            * Useful when paginating results. Returns a maximum of <code>end -
1335            * start</code> instances. <code>start</code> and <code>end</code> are not
1336            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1337            * refers to the first result in the set. Setting both <code>start</code>
1338            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1339            * result set.
1340            * </p>
1341            *
1342            * @param groupId the primary key of the web content article's group
1343            * @param start the lower bound of the range of web content articles to
1344            return
1345            * @param end the upper bound of the range of web content articles to
1346            return (not inclusive)
1347            * @return the range of matching web content articles
1348            * @throws SystemException if a system exception occurred
1349            */
1350            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1351            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1352                    long groupId, int start, int end)
1353                    throws com.liferay.portal.kernel.exception.SystemException;
1354    
1355            /**
1356            * Returns an ordered range of all the web content articles belonging to the
1357            * group.
1358            *
1359            * <p>
1360            * Useful when paginating results. Returns a maximum of <code>end -
1361            * start</code> instances. <code>start</code> and <code>end</code> are not
1362            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1363            * refers to the first result in the set. Setting both <code>start</code>
1364            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1365            * result set.
1366            * </p>
1367            *
1368            * @param groupId the primary key of the web content article's group
1369            * @param start the lower bound of the range of web content articles to
1370            return
1371            * @param end the upper bound of the range of web content articles to
1372            return (not inclusive)
1373            * @param obc the comparator to order the web content articles
1374            * @return the range of matching web content articles ordered by the
1375            comparator
1376            * @throws SystemException if a system exception occurred
1377            */
1378            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1379            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1380                    long groupId, int start, int end,
1381                    com.liferay.portal.kernel.util.OrderByComparator obc)
1382                    throws com.liferay.portal.kernel.exception.SystemException;
1383    
1384            /**
1385            * Returns all the web content articles matching the group and folder.
1386            *
1387            * @param groupId the primary key of the web content article's group
1388            * @param folderId the primary key of the web content article folder
1389            * @return the matching web content articles
1390            * @throws SystemException if a system exception occurred
1391            */
1392            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1393            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1394                    long groupId, long folderId)
1395                    throws com.liferay.portal.kernel.exception.SystemException;
1396    
1397            /**
1398            * Returns a range of all the web content articles matching the group and
1399            * folder.
1400            *
1401            * <p>
1402            * Useful when paginating results. Returns a maximum of <code>end -
1403            * start</code> instances. <code>start</code> and <code>end</code> are not
1404            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1405            * refers to the first result in the set. Setting both <code>start</code>
1406            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1407            * result set.
1408            * </p>
1409            *
1410            * @param groupId the primary key of the web content article's group
1411            * @param folderId the primary key of the web content article's folder
1412            * @param start the lower bound of the range of web content articles to
1413            return
1414            * @param end the upper bound of the range of web content articles to
1415            return (not inclusive)
1416            * @return the range of matching web content articles
1417            * @throws SystemException if a system exception occurred
1418            */
1419            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1420            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1421                    long groupId, long folderId, int start, int end)
1422                    throws com.liferay.portal.kernel.exception.SystemException;
1423    
1424            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1425            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1426                    long groupId, long folderId, int status, int start, int end)
1427                    throws com.liferay.portal.kernel.exception.SystemException;
1428    
1429            /**
1430            * Returns an ordered range of all the web content articles matching the
1431            * group and folder.
1432            *
1433            * <p>
1434            * Useful when paginating results. Returns a maximum of <code>end -
1435            * start</code> instances. <code>start</code> and <code>end</code> are not
1436            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1437            * refers to the first result in the set. Setting both <code>start</code>
1438            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1439            * result set.
1440            * </p>
1441            *
1442            * @param groupId the primary key of the web content article's group
1443            * @param folderId the primary key of the web content article's folder
1444            * @param start the lower bound of the range of web content articles to
1445            return
1446            * @param end the upper bound of the range of web content articles to
1447            return (not inclusive)
1448            * @param orderByComparator the comparator to order the web content
1449            articles
1450            * @return the range of matching web content articles ordered by the
1451            comparator
1452            * @throws SystemException if a system exception occurred
1453            */
1454            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1455            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1456                    long groupId, long folderId, int start, int end,
1457                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
1458                    throws com.liferay.portal.kernel.exception.SystemException;
1459    
1460            /**
1461            * Returns all the web content articles matching the group and article ID.
1462            *
1463            * @param groupId the primary key of the web content article's group
1464            * @param articleId the primary key of the web content article
1465            * @return the matching web content articles
1466            * @throws SystemException if a system exception occurred
1467            */
1468            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1469            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticles(
1470                    long groupId, java.lang.String articleId)
1471                    throws com.liferay.portal.kernel.exception.SystemException;
1472    
1473            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1474            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesByResourcePrimKey(
1475                    long resourcePrimKey)
1476                    throws com.liferay.portal.kernel.exception.SystemException;
1477    
1478            /**
1479            * Returns all the web content articles matching the small image ID.
1480            *
1481            * @param smallImageId the primary key of the web content article's small
1482            image
1483            * @return the web content articles matching the small image ID
1484            * @throws SystemException if a system exception occurred
1485            */
1486            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1487            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getArticlesBySmallImageId(
1488                    long smallImageId)
1489                    throws com.liferay.portal.kernel.exception.SystemException;
1490    
1491            /**
1492            * Returns the number of web content articles belonging to the group.
1493            *
1494            * @param groupId the primary key of the web content article's group
1495            * @return the number of web content articles belonging to the group
1496            * @throws SystemException if a system exception occurred
1497            */
1498            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1499            public int getArticlesCount(long groupId)
1500                    throws com.liferay.portal.kernel.exception.SystemException;
1501    
1502            /**
1503            * Returns the number of web content articles matching the group and folder.
1504            *
1505            * @param groupId the primary key of the web content article's group
1506            * @param folderId the primary key of the web content article's folder
1507            * @return the number of matching web content articles
1508            * @throws SystemException if a system exception occurred
1509            */
1510            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1511            public int getArticlesCount(long groupId, long folderId)
1512                    throws com.liferay.portal.kernel.exception.SystemException;
1513    
1514            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1515            public int getArticlesCount(long groupId, long folderId, int status)
1516                    throws com.liferay.portal.kernel.exception.SystemException;
1517    
1518            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1519            public int getArticlesCount(long groupId, java.lang.String articleId)
1520                    throws com.liferay.portal.kernel.exception.SystemException;
1521    
1522            /**
1523            * Returns an ordered range of all the web content articles matching the
1524            * company, version, and workflow status.
1525            *
1526            * <p>
1527            * Useful when paginating results. Returns a maximum of <code>end -
1528            * start</code> instances. <code>start</code> and <code>end</code> are not
1529            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1530            * refers to the first result in the set. Setting both <code>start</code>
1531            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1532            * result set.
1533            * </p>
1534            *
1535            * @param companyId the primary key of the web content article's company
1536            * @param version the web content article's version
1537            * @param status the web content article's workflow status. For more
1538            information see {@link WorkflowConstants} for constants starting
1539            with the "STATUS_" prefix.
1540            * @param start the lower bound of the range of web content articles to
1541            return
1542            * @param end the upper bound of the range of web content articles to
1543            return (not inclusive)
1544            * @return the range of matching web content articles ordered by article ID
1545            * @throws SystemException if a system exception occurred
1546            */
1547            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1548            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getCompanyArticles(
1549                    long companyId, double version, int status, int start, int end)
1550                    throws com.liferay.portal.kernel.exception.SystemException;
1551    
1552            /**
1553            * Returns an ordered range of all the web content articles matching the
1554            * company and workflow status.
1555            *
1556            * <p>
1557            * Useful when paginating results. Returns a maximum of <code>end -
1558            * start</code> instances. <code>start</code> and <code>end</code> are not
1559            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1560            * refers to the first result in the set. Setting both <code>start</code>
1561            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1562            * result set.
1563            * </p>
1564            *
1565            * @param companyId the primary key of the web content article's company
1566            * @param status the web content article's workflow status. For more
1567            information see {@link WorkflowConstants} for constants starting
1568            with the "STATUS_" prefix.
1569            * @param start the lower bound of the range of web content articles to
1570            return
1571            * @param end the upper bound of the range of web content articles to
1572            return (not inclusive)
1573            * @return the range of matching web content articles ordered by article ID
1574            * @throws SystemException if a system exception occurred
1575            */
1576            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1577            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getCompanyArticles(
1578                    long companyId, int status, int start, int end)
1579                    throws com.liferay.portal.kernel.exception.SystemException;
1580    
1581            /**
1582            * Returns the number of web content articles matching the company, version,
1583            * and workflow status.
1584            *
1585            * <p>
1586            * Useful when paginating results. Returns a maximum of <code>end -
1587            * start</code> instances. <code>start</code> and <code>end</code> are not
1588            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1589            * refers to the first result in the set. Setting both <code>start</code>
1590            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1591            * result set.
1592            * </p>
1593            *
1594            * @param companyId the primary key of the web content article's company
1595            * @param version the web content article's version
1596            * @param status the web content article's workflow status. For more
1597            information see {@link WorkflowConstants} for constants starting
1598            with the "STATUS_" prefix.
1599            * @param start the lower bound of the range of web content articles to
1600            return
1601            * @param end the upper bound of the range of web content articles to
1602            return (not inclusive)
1603            * @return the number of matching web content articles
1604            * @throws SystemException if a system exception occurred
1605            */
1606            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1607            public int getCompanyArticlesCount(long companyId, double version,
1608                    int status, int start, int end)
1609                    throws com.liferay.portal.kernel.exception.SystemException;
1610    
1611            /**
1612            * Returns the number of web content articles matching the company and
1613            * workflow status.
1614            *
1615            * @param companyId the primary key of the web content article's company
1616            * @param status the web content article's workflow status. For more
1617            information see {@link WorkflowConstants} for constants starting
1618            with the "STATUS_" prefix.
1619            * @return the number of matching web content articles
1620            * @throws SystemException if a system exception occurred
1621            */
1622            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1623            public int getCompanyArticlesCount(long companyId, int status)
1624                    throws com.liferay.portal.kernel.exception.SystemException;
1625    
1626            /**
1627            * Returns the matching web content article currently displayed or next to
1628            * be displayed if no article is currently displayed.
1629            *
1630            * @param groupId the primary key of the web content article's group
1631            * @param articleId the primary key of the web content article
1632            * @return the matching web content article currently displayed, or the next
1633            one to be displayed if no version of the article is currently
1634            displayed
1635            * @throws PortalException if no approved matching web content articles
1636            could be found
1637            * @throws SystemException if a system exception occurred
1638            */
1639            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1640            public com.liferay.portlet.journal.model.JournalArticle getDisplayArticle(
1641                    long groupId, java.lang.String articleId)
1642                    throws com.liferay.portal.kernel.exception.PortalException,
1643                            com.liferay.portal.kernel.exception.SystemException;
1644    
1645            /**
1646            * Returns the web content article matching the URL title that is currently
1647            * displayed or next to be displayed if no article is currently displayed.
1648            *
1649            * @param groupId the primary key of the web content article's group
1650            * @param urlTitle the web content article's accessible URL title
1651            * @return the web content article matching the URL title that is currently
1652            displayed, or next one to be displayed if no version of the
1653            article is currently displayed
1654            * @throws PortalException if no approved matching web content articles
1655            could be found
1656            * @throws SystemException if a system exception occurred
1657            */
1658            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1659            public com.liferay.portlet.journal.model.JournalArticle getDisplayArticleByUrlTitle(
1660                    long groupId, java.lang.String urlTitle)
1661                    throws com.liferay.portal.kernel.exception.PortalException,
1662                            com.liferay.portal.kernel.exception.SystemException;
1663    
1664            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1665            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getIndexableArticlesByDDMStructureKey(
1666                    java.lang.String[] ddmStructureKeys)
1667                    throws com.liferay.portal.kernel.exception.SystemException;
1668    
1669            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1670            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getIndexableArticlesByResourcePrimKey(
1671                    long resourcePrimKey)
1672                    throws com.liferay.portal.kernel.exception.SystemException;
1673    
1674            /**
1675            * Returns the latest web content article matching the resource primary key,
1676            * preferring articles with approved workflow status.
1677            *
1678            * @param resourcePrimKey the primary key of the resource instance
1679            * @return the latest web content article matching the resource primary key,
1680            preferring articles with approved workflow status
1681            * @throws PortalException if a matching web content article could not be
1682            found
1683            * @throws SystemException if a system exception occurred
1684            */
1685            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1686            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1687                    long resourcePrimKey)
1688                    throws com.liferay.portal.kernel.exception.PortalException,
1689                            com.liferay.portal.kernel.exception.SystemException;
1690    
1691            /**
1692            * Returns the latest web content article matching the resource primary key
1693            * and workflow status, preferring articles with approved workflow status.
1694            *
1695            * @param resourcePrimKey the primary key of the resource instance
1696            * @param status the web content article's workflow status. For more
1697            information see {@link WorkflowConstants} for constants starting
1698            with the "STATUS_" prefix.
1699            * @return the latest web content article matching the resource primary key
1700            and workflow status, preferring articles with approved workflow
1701            status
1702            * @throws PortalException if a matching web content article could not be
1703            found
1704            * @throws SystemException if a system exception occurred
1705            */
1706            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1707            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1708                    long resourcePrimKey, int status)
1709                    throws com.liferay.portal.kernel.exception.PortalException,
1710                            com.liferay.portal.kernel.exception.SystemException;
1711    
1712            /**
1713            * Returns the latest web content article matching the resource primary key
1714            * and workflow status, optionally preferring articles with approved
1715            * workflow status.
1716            *
1717            * @param resourcePrimKey the primary key of the resource instance
1718            * @param status the web content article's workflow status. For more
1719            information see {@link WorkflowConstants} for constants starting
1720            with the "STATUS_" prefix.
1721            * @param preferApproved whether to prefer returning the latest matching
1722            article that has workflow status {@link
1723            WorkflowConstants#STATUS_APPROVED} over returning one that has a
1724            different status
1725            * @return the latest web content article matching the resource primary key
1726            and workflow status, optionally preferring articles with approved
1727            workflow status
1728            * @throws PortalException if a matching web content article could not be
1729            found
1730            * @throws SystemException if a system exception occurred
1731            */
1732            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1733            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1734                    long resourcePrimKey, int status, boolean preferApproved)
1735                    throws com.liferay.portal.kernel.exception.PortalException,
1736                            com.liferay.portal.kernel.exception.SystemException;
1737    
1738            /**
1739            * Returns the latest web content article with the group and article ID.
1740            *
1741            * @param groupId the primary key of the web content article's group
1742            * @param articleId the primary key of the web content article
1743            * @return the latest matching web content article
1744            * @throws PortalException if a matching web content article could not be
1745            found
1746            * @throws SystemException if a system exception occurred
1747            */
1748            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1749            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1750                    long groupId, java.lang.String articleId)
1751                    throws com.liferay.portal.kernel.exception.PortalException,
1752                            com.liferay.portal.kernel.exception.SystemException;
1753    
1754            /**
1755            * Returns the latest web content article matching the group, article ID,
1756            * and workflow status.
1757            *
1758            * @param groupId the primary key of the web content article's group
1759            * @param articleId the primary key of the web content article
1760            * @param status the web content article's workflow status. For more
1761            information see {@link WorkflowConstants} for constants starting
1762            with the "STATUS_" prefix.
1763            * @return the latest matching web content article
1764            * @throws PortalException if a matching web content article could not be
1765            found
1766            * @throws SystemException if a system exception occurred
1767            */
1768            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1769            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1770                    long groupId, java.lang.String articleId, int status)
1771                    throws com.liferay.portal.kernel.exception.PortalException,
1772                            com.liferay.portal.kernel.exception.SystemException;
1773    
1774            /**
1775            * Returns the latest web content article matching the group, class name ID,
1776            * and class PK.
1777            *
1778            * @param groupId the primary key of the web content article's group
1779            * @param className the DDMStructure class name if the web content article
1780            is related to a DDM structure, the class name associated with the
1781            article, or {@link JournalArticleConstants#CLASSNAME_ID_DEFAULT}
1782            otherwise
1783            * @param classPK the primary key of the DDM structure, if the DDMStructure
1784            class name is given as the <code>className</code> parameter, the
1785            primary key of the class associated with the web content article,
1786            or <code>0</code> otherwise
1787            * @return the latest matching web content article
1788            * @throws PortalException if a matching web content article could not be
1789            found
1790            * @throws SystemException if a system exception occurred
1791            */
1792            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1793            public com.liferay.portlet.journal.model.JournalArticle getLatestArticle(
1794                    long groupId, java.lang.String className, long classPK)
1795                    throws com.liferay.portal.kernel.exception.PortalException,
1796                            com.liferay.portal.kernel.exception.SystemException;
1797    
1798            /**
1799            * Returns the latest web content article matching the group, URL title, and
1800            * workflow status.
1801            *
1802            * @param groupId the primary key of the web content article's group
1803            * @param urlTitle the web content article's accessible URL title
1804            * @param status the web content article's workflow status. For more
1805            information see {@link WorkflowConstants} for constants starting
1806            with the "STATUS_" prefix.
1807            * @return the latest matching web content article
1808            * @throws PortalException if a matching web content article could not be
1809            found
1810            * @throws SystemException if a system exception occurred
1811            */
1812            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1813            public com.liferay.portlet.journal.model.JournalArticle getLatestArticleByUrlTitle(
1814                    long groupId, java.lang.String urlTitle, int status)
1815                    throws com.liferay.portal.kernel.exception.PortalException,
1816                            com.liferay.portal.kernel.exception.SystemException;
1817    
1818            /**
1819            * Returns the latest version number of the web content with the group and
1820            * article ID.
1821            *
1822            * @param groupId the primary key of the web content article's group
1823            * @param articleId the primary key of the web content article
1824            * @return the latest version number of the matching web content
1825            * @throws PortalException if a matching web content article could not be
1826            found
1827            * @throws SystemException if a system exception occurred
1828            */
1829            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1830            public double getLatestVersion(long groupId, java.lang.String articleId)
1831                    throws com.liferay.portal.kernel.exception.PortalException,
1832                            com.liferay.portal.kernel.exception.SystemException;
1833    
1834            /**
1835            * Returns the latest version number of the web content with the group,
1836            * article ID, and workflow status.
1837            *
1838            * @param groupId the primary key of the web content article's group
1839            * @param articleId the primary key of the web content article
1840            * @param status the web content article's workflow status. For more
1841            information see {@link WorkflowConstants} for constants starting
1842            with the "STATUS_" prefix.
1843            * @return the latest version number of the matching web content
1844            * @throws PortalException if a matching web content article could not be
1845            found
1846            * @throws SystemException if a system exception occurred
1847            */
1848            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1849            public double getLatestVersion(long groupId, java.lang.String articleId,
1850                    int status)
1851                    throws com.liferay.portal.kernel.exception.PortalException,
1852                            com.liferay.portal.kernel.exception.SystemException;
1853    
1854            /**
1855            * Returns the number of web content articles that are not recycled.
1856            *
1857            * @param groupId the primary key of the web content article's group
1858            * @param folderId the primary key of the web content article folder
1859            * @return the number of web content articles that are not recycled
1860            * @throws SystemException if a system exception occurred
1861            */
1862            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1863            public int getNotInTrashArticlesCount(long groupId, long folderId)
1864                    throws com.liferay.portal.kernel.exception.SystemException;
1865    
1866            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1867            public com.liferay.portlet.journal.model.JournalArticle getOldestArticle(
1868                    long groupId, java.lang.String articleId)
1869                    throws com.liferay.portal.kernel.exception.PortalException,
1870                            com.liferay.portal.kernel.exception.SystemException;
1871    
1872            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1873            public com.liferay.portlet.journal.model.JournalArticle getOldestArticle(
1874                    long groupId, java.lang.String articleId, int status)
1875                    throws com.liferay.portal.kernel.exception.PortalException,
1876                            com.liferay.portal.kernel.exception.SystemException;
1877    
1878            /**
1879            * Returns the web content articles matching the group and DDM structure
1880            * key.
1881            *
1882            * @param groupId the primary key of the web content article's group
1883            * @param ddmStructureKey the primary key of the web content article's DDM
1884            structure
1885            * @return the matching web content articles
1886            * @throws SystemException if a system exception occurred
1887            */
1888            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1889            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getStructureArticles(
1890                    long groupId, java.lang.String ddmStructureKey)
1891                    throws com.liferay.portal.kernel.exception.SystemException;
1892    
1893            /**
1894            * Returns an ordered range of all the web content articles matching the
1895            * group and DDM structure key.
1896            *
1897            * <p>
1898            * Useful when paginating results. Returns a maximum of <code>end -
1899            * start</code> instances. <code>start</code> and <code>end</code> are not
1900            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1901            * refers to the first result in the set. Setting both <code>start</code>
1902            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1903            * result set.
1904            * </p>
1905            *
1906            * @param groupId the primary key of the web content article's group
1907            * @param ddmStructureKey the primary key of the web content article's DDM
1908            structure
1909            * @param start the lower bound of the range of web content articles to
1910            return
1911            * @param end the upper bound of the range of web content articles to
1912            return (not inclusive)
1913            * @param obc the comparator to order the web content articles
1914            * @return the range of matching web content articles ordered by the
1915            comparator
1916            * @throws SystemException if a system exception occurred
1917            */
1918            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1919            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getStructureArticles(
1920                    long groupId, java.lang.String ddmStructureKey, int start, int end,
1921                    com.liferay.portal.kernel.util.OrderByComparator obc)
1922                    throws com.liferay.portal.kernel.exception.SystemException;
1923    
1924            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1925            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getStructureArticles(
1926                    java.lang.String[] ddmStructureKeys)
1927                    throws com.liferay.portal.kernel.exception.SystemException;
1928    
1929            /**
1930            * Returns the number of web content articles matching the group and DDM
1931            * structure key.
1932            *
1933            * @param groupId the primary key of the web content article's group
1934            * @param ddmStructureKey the primary key of the web content article's DDM
1935            structure
1936            * @return the number of matching web content articles
1937            * @throws SystemException if a system exception occurred
1938            */
1939            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1940            public int getStructureArticlesCount(long groupId,
1941                    java.lang.String ddmStructureKey)
1942                    throws com.liferay.portal.kernel.exception.SystemException;
1943    
1944            /**
1945            * Returns the web content articles matching the group and DDM template key.
1946            *
1947            * @param groupId the primary key of the web content article's group
1948            * @param ddmTemplateKey the primary key of the web content article's DDM
1949            template (optionally <code>null</code>). If the article is
1950            related to a DDM structure, the template's structure must match
1951            it.
1952            * @return the matching web content articles
1953            * @throws SystemException if a system exception occurred
1954            */
1955            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1956            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getTemplateArticles(
1957                    long groupId, java.lang.String ddmTemplateKey)
1958                    throws com.liferay.portal.kernel.exception.SystemException;
1959    
1960            /**
1961            * Returns an ordered range of all the web content articles matching the
1962            * group and DDM template key.
1963            *
1964            * <p>
1965            * Useful when paginating results. Returns a maximum of <code>end -
1966            * start</code> instances. <code>start</code> and <code>end</code> are not
1967            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1968            * refers to the first result in the set. Setting both <code>start</code>
1969            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1970            * result set.
1971            * </p>
1972            *
1973            * @param groupId the primary key of the web content article's group
1974            * @param ddmTemplateKey the primary key of the web content article's DDM
1975            template (optionally <code>null</code>). If the article is
1976            related to a DDM structure, the template's structure must match
1977            it.
1978            * @param start the lower bound of the range of web content articles to
1979            return
1980            * @param end the upper bound of the range of web content articles to
1981            return (not inclusive)
1982            * @param obc the comparator to order the web content articles
1983            * @return the range of matching web content articles ordered by the
1984            comparator
1985            * @throws SystemException if a system exception occurred
1986            */
1987            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1988            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> getTemplateArticles(
1989                    long groupId, java.lang.String ddmTemplateKey, int start, int end,
1990                    com.liferay.portal.kernel.util.OrderByComparator obc)
1991                    throws com.liferay.portal.kernel.exception.SystemException;
1992    
1993            /**
1994            * Returns the number of web content articles matching the group and DDM
1995            * template key.
1996            *
1997            * @param groupId the primary key of the web content article's group
1998            * @param ddmTemplateKey the primary key of the web content article's DDM
1999            template (optionally <code>null</code>). If the article is
2000            related to a DDM structure, the template's structure must match
2001            it.
2002            * @return the number of matching web content articles
2003            * @throws SystemException if a system exception occurred
2004            */
2005            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2006            public int getTemplateArticlesCount(long groupId,
2007                    java.lang.String ddmTemplateKey)
2008                    throws com.liferay.portal.kernel.exception.SystemException;
2009    
2010            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2011            public java.lang.String getUniqueUrlTitle(long groupId,
2012                    java.lang.String articleId, java.lang.String urlTitle)
2013                    throws com.liferay.portal.kernel.exception.PortalException,
2014                            com.liferay.portal.kernel.exception.SystemException;
2015    
2016            /**
2017            * Returns <code>true</code> if the specified web content article exists.
2018            *
2019            * @param groupId the primary key of the group
2020            * @param articleId the primary key of the web content article
2021            * @return <code>true</code> if the specified web content article exists;
2022            <code>false</code> otherwise
2023            * @throws SystemException if a system exception occurred
2024            */
2025            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2026            public boolean hasArticle(long groupId, java.lang.String articleId)
2027                    throws com.liferay.portal.kernel.exception.SystemException;
2028    
2029            /**
2030            * Returns <code>true</code> if the web content article, specified by group
2031            * and article ID, is the latest version.
2032            *
2033            * @param groupId the primary key of the web content article's group
2034            * @param articleId the primary key of the web content article
2035            * @param version the web content article's version
2036            * @return <code>true</code> if the specified web content article is the
2037            latest version; <code>false</code> otherwise
2038            * @throws PortalException if a matching web content article could not be
2039            found
2040            * @throws SystemException if a system exception occurred
2041            */
2042            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2043            public boolean isLatestVersion(long groupId, java.lang.String articleId,
2044                    double version)
2045                    throws com.liferay.portal.kernel.exception.PortalException,
2046                            com.liferay.portal.kernel.exception.SystemException;
2047    
2048            /**
2049            * Returns <code>true</code> if the web content article, specified by group,
2050            * article ID, and workflow status, is the latest version.
2051            *
2052            * @param groupId the primary key of the web content article's group
2053            * @param articleId the primary key of the web content article
2054            * @param version the web content article's version
2055            * @param status the web content article's workflow status. For more
2056            information see {@link WorkflowConstants} for constants starting
2057            with the "STATUS_" prefix.
2058            * @return <code>true</code> if the specified web content article is the
2059            latest version; <code>false</code> otherwise
2060            * @throws PortalException if a matching web content article could not be
2061            found
2062            * @throws SystemException if a system exception occurred
2063            */
2064            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2065            public boolean isLatestVersion(long groupId, java.lang.String articleId,
2066                    double version, int status)
2067                    throws com.liferay.portal.kernel.exception.PortalException,
2068                            com.liferay.portal.kernel.exception.SystemException;
2069    
2070            /**
2071            * Moves the web content article matching the group and article ID to a new
2072            * folder.
2073            *
2074            * @param groupId the primary key of the web content article's group
2075            * @param articleId the primary key of the web content article
2076            * @param newFolderId the primary key of the web content article's new
2077            folder
2078            * @return the updated web content article, which was moved to a new folder
2079            * @throws PortalException if a matching web content article could not be
2080            found
2081            * @throws SystemException if a system exception occurred
2082            */
2083            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
2084            public com.liferay.portlet.journal.model.JournalArticle moveArticle(
2085                    long groupId, java.lang.String articleId, long newFolderId)
2086                    throws com.liferay.portal.kernel.exception.PortalException,
2087                            com.liferay.portal.kernel.exception.SystemException;
2088    
2089            /**
2090            * Moves the web content article from the Recycle Bin to a new folder.
2091            *
2092            * @param userId the primary key of the user updating the web content
2093            article
2094            * @param groupId the primary key of the web content article's group
2095            * @param article the web content article
2096            * @param newFolderId the primary key of the web content article's new
2097            folder
2098            * @param serviceContext the service context to be applied. Can set the
2099            modification date, portlet preferences, and can set whether to
2100            add the default command update for the web content article. With
2101            respect to social activities, by setting the service context's
2102            command to {@link
2103            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2104            is considered a web content update activity; otherwise it is
2105            considered a web content add activity.
2106            * @return the updated web content article, which was moved from the Recycle
2107            Bin to a new folder
2108            * @throws PortalException if a trashed web content article with the primary
2109            key could not be found or if a portal exception occurred
2110            * @throws SystemException if a system exception occurred
2111            */
2112            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
2113            public com.liferay.portlet.journal.model.JournalArticle moveArticleFromTrash(
2114                    long userId, long groupId,
2115                    com.liferay.portlet.journal.model.JournalArticle article,
2116                    long newFolderId,
2117                    com.liferay.portal.service.ServiceContext serviceContext)
2118                    throws com.liferay.portal.kernel.exception.PortalException,
2119                            com.liferay.portal.kernel.exception.SystemException;
2120    
2121            /**
2122            * Moves the latest version of the web content article matching the group
2123            * and article ID to the recycle bin.
2124            *
2125            * @param userId the primary key of the user updating the web content
2126            article
2127            * @param article the web content article
2128            * @return the updated web content article, which was moved to the Recycle
2129            Bin
2130            * @throws PortalException if the user did not have permission to move the
2131            article to the Recycle Bin or if a portal exception occurred
2132            * @throws SystemException if a system exception occurred
2133            */
2134            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
2135            public com.liferay.portlet.journal.model.JournalArticle moveArticleToTrash(
2136                    long userId, com.liferay.portlet.journal.model.JournalArticle article)
2137                    throws com.liferay.portal.kernel.exception.PortalException,
2138                            com.liferay.portal.kernel.exception.SystemException;
2139    
2140            /**
2141            * Moves the latest version of the web content article matching the group
2142            * and article ID to the recycle bin.
2143            *
2144            * @param userId the primary key of the user updating the web content
2145            article
2146            * @param groupId the primary key of the web content article's group
2147            * @param articleId the primary key of the web content article
2148            * @return the moved web content article or <code>null</code> if no matching
2149            article was found
2150            * @throws PortalException if the user did not have permission to move the
2151            article to the Recycle Bin or if a portal exception occurred
2152            * @throws SystemException if a system exception occurred
2153            */
2154            public com.liferay.portlet.journal.model.JournalArticle moveArticleToTrash(
2155                    long userId, long groupId, java.lang.String articleId)
2156                    throws com.liferay.portal.kernel.exception.PortalException,
2157                            com.liferay.portal.kernel.exception.SystemException;
2158    
2159            public void rebuildTree(long companyId)
2160                    throws com.liferay.portal.kernel.exception.PortalException,
2161                            com.liferay.portal.kernel.exception.SystemException;
2162    
2163            /**
2164            * Removes the web content of the web content article matching the group,
2165            * article ID, and version, and language.
2166            *
2167            * @param groupId the primary key of the web content article's group
2168            * @param articleId the primary key of the web content article
2169            * @param version the web content article's version
2170            * @param languageId the primary key of the language locale to remove
2171            * @return the updated web content article with the locale removed
2172            * @throws PortalException if a matching web content article could not be
2173            found
2174            * @throws SystemException if a system exception occurred
2175            */
2176            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
2177            public com.liferay.portlet.journal.model.JournalArticle removeArticleLocale(
2178                    long groupId, java.lang.String articleId, double version,
2179                    java.lang.String languageId)
2180                    throws com.liferay.portal.kernel.exception.PortalException,
2181                            com.liferay.portal.kernel.exception.SystemException;
2182    
2183            /**
2184            * Restores the web content article from the Recycle Bin.
2185            *
2186            * @param userId the primary key of the user restoring the web content
2187            article
2188            * @param article the web content article
2189            * @throws PortalException if the web content article with the primary key
2190            could not be found in the Recycle Bin, if the user did not have
2191            permission to restore the article, or if a portal exception
2192            occurred
2193            * @throws SystemException if a system exception occurred
2194            */
2195            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
2196            public com.liferay.portlet.journal.model.JournalArticle restoreArticleFromTrash(
2197                    long userId, com.liferay.portlet.journal.model.JournalArticle article)
2198                    throws com.liferay.portal.kernel.exception.PortalException,
2199                            com.liferay.portal.kernel.exception.SystemException;
2200    
2201            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2202            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2203                    long groupId, java.util.List<java.lang.Long> folderIds, int status,
2204                    int start, int end)
2205                    throws com.liferay.portal.kernel.exception.SystemException;
2206    
2207            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2208            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2209                    long groupId, long folderId, int status, int start, int end)
2210                    throws com.liferay.portal.kernel.exception.SystemException;
2211    
2212            /**
2213            * Returns an ordered range of all the web content articles matching the
2214            * parameters without using the indexer, including a keywords parameter for
2215            * matching with the article's ID, title, description, and content, a DDM
2216            * structure key parameter, and a DDM template key parameter. It is
2217            * preferable to use the indexed version {@link #search(long, long, List,
2218            * long, String, String, String, LinkedHashMap, int, int, Sort)} instead of
2219            * this method wherever possible for performance reasons.
2220            *
2221            * <p>
2222            * Useful when paginating results. Returns a maximum of <code>end -
2223            * start</code> instances. <code>start</code> and <code>end</code> are not
2224            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2225            * refers to the first result in the set. Setting both <code>start</code>
2226            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2227            * result set.
2228            * </p>
2229            *
2230            * @param companyId the primary key of the web content article's company
2231            * @param groupId the primary key of the group (optionally <code>0</code>)
2232            * @param folderIds the primary keys of the web content article folders
2233            (optionally {@link java.util.Collections#EMPTY_LIST})
2234            * @param classNameId the primary key of the DDMStructure class if the web
2235            content article is related to a DDM structure, the primary key of
2236            the class name associated with the article, or {@link
2237            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2238            * @param keywords the keywords (space separated), which may occur in the
2239            web content article ID, title, description, or content
2240            (optionally <code>null</code>). If the keywords value is not
2241            <code>null</code>, the search uses the OR operator in connecting
2242            query criteria; otherwise it uses the AND operator.
2243            * @param version the web content article's version (optionally
2244            <code>null</code>)
2245            * @param type the web content article's type (optionally
2246            <code>null</code>)
2247            * @param ddmStructureKey the primary key of the web content article's DDM
2248            structure, if the article is related to a DDM structure, or
2249            <code>null</code> otherwise
2250            * @param ddmTemplateKey the primary key of the web content article's DDM
2251            template (optionally <code>null</code>). If the article is
2252            related to a DDM structure, the template's structure must match
2253            it.
2254            * @param displayDateGT the date after which a matching web content
2255            article's display date must be after (optionally
2256            <code>null</code>)
2257            * @param displayDateLT the date before which a matching web content
2258            article's display date must be before (optionally
2259            <code>null</code>)
2260            * @param status the web content article's workflow status. For more
2261            information see {@link WorkflowConstants} for constants starting
2262            with the "STATUS_" prefix.
2263            * @param reviewDate the web content article's scheduled review date
2264            (optionally <code>null</code>)
2265            * @param start the lower bound of the range of web content articles to
2266            return
2267            * @param end the upper bound of the range of web content articles to
2268            return (not inclusive)
2269            * @param obc the comparator to order the web content articles
2270            * @return the range of matching web content articles ordered by the
2271            comparator
2272            * @throws SystemException if a system exception occurred
2273            */
2274            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2275            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2276                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2277                    long classNameId, java.lang.String keywords, java.lang.Double version,
2278                    java.lang.String type, java.lang.String ddmStructureKey,
2279                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
2280                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2281                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
2282                    throws com.liferay.portal.kernel.exception.SystemException;
2283    
2284            /**
2285            * Returns an ordered range of all the web content articles matching the
2286            * parameters without using the indexer, including keyword parameters for
2287            * article ID, title, description, and content, a DDM structure key
2288            * parameter, a DDM template key parameter, and an AND operator switch. It
2289            * is preferable to use the indexed version {@link #search(long, long, List,
2290            * long, String, String, String, String, String, String, String, String,
2291            * LinkedHashMap, boolean, int, int, Sort)} instead of this method wherever
2292            * possible for performance reasons.
2293            *
2294            * <p>
2295            * Useful when paginating results. Returns a maximum of <code>end -
2296            * start</code> instances. <code>start</code> and <code>end</code> are not
2297            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2298            * refers to the first result in the set. Setting both <code>start</code>
2299            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2300            * result set.
2301            * </p>
2302            *
2303            * @param companyId the primary key of the web content article's company
2304            * @param groupId the primary key of the group (optionally <code>0</code>)
2305            * @param folderIds the primary keys of the web content article folders
2306            (optionally {@link java.util.Collections#EMPTY_LIST})
2307            * @param classNameId the primary key of the DDMStructure class if the web
2308            content article is related to a DDM structure, the primary key of
2309            the class name associated with the article, or {@link
2310            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2311            * @param articleId the article ID keywords (space separated, optionally
2312            <code>null</code>)
2313            * @param version the web content article's version (optionally
2314            <code>null</code>)
2315            * @param title the title keywords (space separated, optionally
2316            <code>null</code>)
2317            * @param description the description keywords (space separated, optionally
2318            <code>null</code>)
2319            * @param content the content keywords (space separated, optionally
2320            <code>null</code>)
2321            * @param type the web content article's type (optionally
2322            <code>null</code>)
2323            * @param ddmStructureKey the primary key of the web content article's DDM
2324            structure, if the article is related to a DDM structure, or
2325            <code>null</code> otherwise
2326            * @param ddmTemplateKey the primary key of the web content article's DDM
2327            template (optionally <code>null</code>). If the article is
2328            related to a DDM structure, the template's structure must match
2329            it.
2330            * @param displayDateGT the date after which a matching web content
2331            article's display date must be after (optionally
2332            <code>null</code>)
2333            * @param displayDateLT the date before which a matching web content
2334            article's display date must be before (optionally
2335            <code>null</code>)
2336            * @param status the web content article's workflow status. For more
2337            information see {@link WorkflowConstants} for constants starting
2338            with the "STATUS_" prefix.
2339            * @param reviewDate the web content article's scheduled review date
2340            (optionally <code>null</code>)
2341            * @param andOperator whether every field must match its value or keywords,
2342            or just one field must match. Company, group, folder IDs, class
2343            name ID, and status must all match their values.
2344            * @param start the lower bound of the range of web content articles to
2345            return
2346            * @param end the upper bound of the range of web content articles to
2347            return (not inclusive)
2348            * @param obc the comparator to order the web content articles
2349            * @return the range of matching web content articles ordered by the
2350            comparator
2351            * @throws SystemException if a system exception occurred
2352            */
2353            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2354            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2355                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2356                    long classNameId, java.lang.String articleId, java.lang.Double version,
2357                    java.lang.String title, java.lang.String description,
2358                    java.lang.String content, java.lang.String type,
2359                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2360                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
2361                    java.util.Date reviewDate, boolean andOperator, int start, int end,
2362                    com.liferay.portal.kernel.util.OrderByComparator obc)
2363                    throws com.liferay.portal.kernel.exception.SystemException;
2364    
2365            /**
2366            * Returns an ordered range of all the web content articles matching the
2367            * parameters without using the indexer, including keyword parameters for
2368            * article ID, title, description, and content, a DDM structure keys
2369            * (plural) parameter, a DDM template keys (plural) parameter, and an AND
2370            * operator switch.
2371            *
2372            * <p>
2373            * Useful when paginating results. Returns a maximum of <code>end -
2374            * start</code> instances. <code>start</code> and <code>end</code> are not
2375            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2376            * refers to the first result in the set. Setting both <code>start</code>
2377            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2378            * result set.
2379            * </p>
2380            *
2381            * @param companyId the primary key of the web content article's company
2382            * @param groupId the primary key of the group (optionally <code>0</code>)
2383            * @param folderIds the primary keys of the web content article folders
2384            (optionally {@link java.util.Collections#EMPTY_LIST})
2385            * @param classNameId the primary key of the DDMStructure class if the web
2386            content article is related to a DDM structure, the primary key of
2387            the class name associated with the article, or {@link
2388            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2389            * @param articleId the article ID keywords (space separated, optionally
2390            <code>null</code>)
2391            * @param version the web content article's version (optionally
2392            <code>null</code>)
2393            * @param title the title keywords (space separated, optionally
2394            <code>null</code>)
2395            * @param description the description keywords (space separated, optionally
2396            <code>null</code>)
2397            * @param content the content keywords (space separated, optionally
2398            <code>null</code>)
2399            * @param type the web content article's type (optionally
2400            <code>null</code>)
2401            * @param ddmStructureKeys the primary keys of the web content article's
2402            DDM structures, if the article is related to a DDM structure, or
2403            <code>null</code> otherwise
2404            * @param ddmTemplateKeys the primary keys of the web content article's DDM
2405            templates (originally <code>null</code>). If the articles are
2406            related to a DDM structure, the template's structure must match
2407            it.
2408            * @param displayDateGT the date after which a matching web content
2409            article's display date must be after (optionally
2410            <code>null</code>)
2411            * @param displayDateLT the date before which a matching web content
2412            article's display date must be before (optionally
2413            <code>null</code>)
2414            * @param status the web content article's workflow status. For more
2415            information see {@link WorkflowConstants} for constants starting
2416            with the "STATUS_" prefix.
2417            * @param reviewDate the web content article's scheduled review date
2418            (optionally <code>null</code>)
2419            * @param andOperator whether every field must match its value or keywords,
2420            or just one field must match.  Company, group, folder IDs, class
2421            name ID, and status must all match their values.
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 obc the comparator to order the web content articles
2427            * @return the range of matching web content articles ordered by the
2428            comparator
2429            * @throws SystemException if a system exception occurred
2430            */
2431            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2432            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2433                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2434                    long classNameId, java.lang.String articleId, java.lang.Double version,
2435                    java.lang.String title, java.lang.String description,
2436                    java.lang.String content, java.lang.String type,
2437                    java.lang.String[] ddmStructureKeys,
2438                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
2439                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2440                    boolean andOperator, int start, int end,
2441                    com.liferay.portal.kernel.util.OrderByComparator obc)
2442                    throws com.liferay.portal.kernel.exception.SystemException;
2443    
2444            /**
2445            * Returns an ordered range of all the web content articles matching the
2446            * parameters using the indexer, including a keywords parameter for matching
2447            * an article's ID, title, description, or content, a DDM structure key
2448            * parameter, a DDM template key parameter, and a finder hash map parameter.
2449            * It is preferable to use this method instead of the non-indexed version
2450            * whenever possible for performance reasons.
2451            *
2452            * <p>
2453            * Useful when paginating results. Returns a maximum of <code>end -
2454            * start</code> instances. <code>start</code> and <code>end</code> are not
2455            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2456            * refers to the first result in the set. Setting both <code>start</code>
2457            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2458            * result set.
2459            * </p>
2460            *
2461            * @param companyId the primary key of the web content article's company
2462            * @param groupId the primary key of the group (optionally <code>0</code>)
2463            * @param folderIds the primary keys of the web content article folders
2464            (optionally {@link java.util.Collections#EMPTY_LIST})
2465            * @param classNameId the primary key of the DDMStructure class if the web
2466            content article is related to a DDM structure, the primary key of
2467            the class name associated with the article, or {@link
2468            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2469            * @param ddmStructureKey the primary key of the web content article's DDM
2470            structure, if the article is related to a DDM structure, or
2471            <code>null</code> otherwise
2472            * @param ddmTemplateKey the primary key of the web content article's DDM
2473            template (optionally <code>null</code>). If the article is
2474            related to a DDM structure, the template's structure must match
2475            it.
2476            * @param keywords the keywords (space separated), which may occur in the
2477            web content article ID, title, description, or content
2478            (optionally <code>null</code>). If the keywords value is not
2479            <code>null</code>, the search uses the OR operator in connecting
2480            query criteria; otherwise it uses the AND operator.
2481            * @param params the finder parameters (optionally <code>null</code>)
2482            * @param start the lower bound of the range of web content articles to
2483            return
2484            * @param end the upper bound of the range of web content articles to
2485            return (not inclusive)
2486            * @param sort the field, type, and direction by which to sort (optionally
2487            <code>null</code>)
2488            * @return the matching web content articles ordered by <code>sort</code>
2489            * @throws SystemException if a system exception occurred
2490            */
2491            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2492            public com.liferay.portal.kernel.search.Hits search(long companyId,
2493                    long groupId, java.util.List<java.lang.Long> folderIds,
2494                    long classNameId, java.lang.String ddmStructureKey,
2495                    java.lang.String ddmTemplateKey, java.lang.String keywords,
2496                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2497                    int start, int end, com.liferay.portal.kernel.search.Sort sort)
2498                    throws com.liferay.portal.kernel.exception.SystemException;
2499    
2500            /**
2501            * Returns an ordered range of all the web content articles matching the
2502            * parameters using the indexer, including a keywords parameter for matching
2503            * an article's ID, title, description, or content, a DDM structure key
2504            * parameter, a DDM template key parameter, an AND operator switch, and
2505            * parameters for type, status, a finder hash map. It is preferable to use
2506            * this method instead of the non-indexed version whenever possible for
2507            * performance reasons.
2508            *
2509            * <p>
2510            * Useful when paginating results. Returns a maximum of <code>end -
2511            * start</code> instances. <code>start</code> and <code>end</code> are not
2512            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2513            * refers to the first result in the set. Setting both <code>start</code>
2514            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2515            * result set.
2516            * </p>
2517            *
2518            * @param companyId the primary key of the web content article's company
2519            * @param groupId the primary key of the group (optionally <code>0</code>)
2520            * @param folderIds the primary keys of the web content article folders
2521            (optionally {@link java.util.Collections#EMPTY_LIST})
2522            * @param classNameId the primary key of the DDMStructure class if the web
2523            content article is related to a DDM structure, the primary key of
2524            the class name associated with the article, or {@link
2525            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2526            * @param articleId the article ID keywords (space separated, optionally
2527            <code>null</code>)
2528            * @param title the title keywords (space separated, optionally
2529            <code>null</code>)
2530            * @param description the description keywords (space separated, optionally
2531            <code>null</code>)
2532            * @param content the content keywords (space separated, optionally
2533            <code>null</code>)
2534            * @param type the web content article's type (optionally
2535            <code>null</code>)
2536            * @param status the web content article's workflow status. For more
2537            information see {@link WorkflowConstants} for constants starting
2538            with the "STATUS_" prefix.
2539            * @param ddmStructureKey the primary key of the web content article's DDM
2540            structure, if the article is related to a DDM structure, or
2541            <code>null</code> otherwise
2542            * @param ddmTemplateKey the primary key of the web content article's DDM
2543            template (optionally <code>null</code>). If the article is
2544            related to a DDM structure, the template's structure must match
2545            it.
2546            * @param params the finder parameters (optionally <code>null</code>). Can
2547            set parameter <code>"includeDiscussions"</code> to
2548            <code>true</code> to search for the keywords in the web content
2549            article discussions.
2550            * @param andSearch whether every field must match its value or keywords,
2551            or just one field must match
2552            * @param start the lower bound of the range of web content articles to
2553            return
2554            * @param end the upper bound of the range of web content articles to
2555            return (not inclusive)
2556            * @param sort the field, type, and direction by which to sort (optionally
2557            <code>null</code>)
2558            * @return the matching web content articles ordered by <code>sort</code>
2559            * @throws SystemException if a system exception occurred
2560            */
2561            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2562            public com.liferay.portal.kernel.search.Hits search(long companyId,
2563                    long groupId, java.util.List<java.lang.Long> folderIds,
2564                    long classNameId, java.lang.String articleId, java.lang.String title,
2565                    java.lang.String description, java.lang.String content,
2566                    java.lang.String type, java.lang.String status,
2567                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2568                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2569                    boolean andSearch, int start, int end,
2570                    com.liferay.portal.kernel.search.Sort sort)
2571                    throws com.liferay.portal.kernel.exception.SystemException;
2572    
2573            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2574            public com.liferay.portal.kernel.search.Hits search(long groupId,
2575                    long userId, long creatorUserId, int status, int start, int end)
2576                    throws com.liferay.portal.kernel.exception.PortalException,
2577                            com.liferay.portal.kernel.exception.SystemException;
2578    
2579            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2580            public int searchCount(long groupId,
2581                    java.util.List<java.lang.Long> folderIds, int status)
2582                    throws com.liferay.portal.kernel.exception.SystemException;
2583    
2584            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2585            public int searchCount(long groupId, long folderId, int status)
2586                    throws com.liferay.portal.kernel.exception.SystemException;
2587    
2588            /**
2589            * Returns the number of web content articles matching the parameters,
2590            * including a keywords parameter for matching with the article's ID, title,
2591            * description, and content, a DDM structure key parameter, and a DDM
2592            * template key parameter.
2593            *
2594            * @param companyId the primary key of the web content article's company
2595            * @param groupId the primary key of the group (optionally <code>0</code>)
2596            * @param folderIds the primary keys of the web content article folders
2597            (optionally {@link java.util.Collections#EMPTY_LIST})
2598            * @param classNameId the primary key of the DDMStructure class if the web
2599            content article is related to a DDM structure, the primary key of
2600            the class name associated with the article, or {@link
2601            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2602            * @param keywords the keywords (space separated), which may occur in the
2603            web content article ID, title, description, or content
2604            (optionally <code>null</code>). If the keywords value is not
2605            <code>null</code>, the search uses the OR operator in connecting
2606            query criteria; otherwise it uses the AND operator.
2607            * @param version the web content article's version (optionally
2608            <code>null</code>)
2609            * @param type the web content article's type (optionally
2610            <code>null</code>)
2611            * @param ddmStructureKey the primary key of the web content article's DDM
2612            structure, if the article is related to a DDM structure, or
2613            <code>null</code> otherwise
2614            * @param ddmTemplateKey the primary key of the web content article's DDM
2615            template (optionally <code>null</code>). If the article is
2616            related to a DDM structure, the template's structure must match
2617            it.
2618            * @param displayDateGT the date after which a matching web content
2619            article's display date must be after (optionally
2620            <code>null</code>)
2621            * @param displayDateLT the date before which a matching web content
2622            article's display date must be before (optionally
2623            <code>null</code>)
2624            * @param status the web content article's workflow status. For more
2625            information see {@link WorkflowConstants} for constants starting
2626            with the "STATUS_" prefix.
2627            * @param reviewDate the web content article's scheduled review date
2628            (optionally <code>null</code>)
2629            * @return the number of matching web content articles
2630            * @throws SystemException if a system exception occurred
2631            */
2632            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2633            public int searchCount(long companyId, long groupId,
2634                    java.util.List<java.lang.Long> folderIds, long classNameId,
2635                    java.lang.String keywords, java.lang.Double version,
2636                    java.lang.String type, java.lang.String ddmStructureKey,
2637                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
2638                    java.util.Date displayDateLT, int status, java.util.Date reviewDate)
2639                    throws com.liferay.portal.kernel.exception.SystemException;
2640    
2641            /**
2642            * Returns the number of web content articles matching the parameters,
2643            * including keyword parameters for article ID, title, description, and
2644            * content, a DDM structure key parameter, a DDM template key parameter, and
2645            * an AND operator switch.
2646            *
2647            * @param companyId the primary key of the web content article's company
2648            * @param groupId the primary key of the group (optionally <code>0</code>)
2649            * @param folderIds the primary keys of the web content article folders
2650            (optionally {@link java.util.Collections#EMPTY_LIST})
2651            * @param classNameId the primary key of the DDMStructure class if the web
2652            content article is related to a DDM structure, the primary key of
2653            the class name associated with the article, or {@link
2654            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2655            * @param articleId the article ID keywords (space separated, optionally
2656            <code>null</code>)
2657            * @param version the web content article's version (optionally
2658            <code>null</code>)
2659            * @param title the title keywords (space separated, optionally
2660            <code>null</code>)
2661            * @param description the description keywords (space separated, optionally
2662            <code>null</code>)
2663            * @param content the content keywords (space separated, optionally
2664            <code>null</code>)
2665            * @param type the web content article's type (optionally
2666            <code>null</code>)
2667            * @param ddmStructureKey the primary key of the web content article's DDM
2668            structure, if the article is related to a DDM structure, or
2669            <code>null</code> otherwise
2670            * @param ddmTemplateKey the primary key of the web content article's DDM
2671            template (optionally <code>null</code>). If the article is
2672            related to a DDM structure, the template's structure must match
2673            it.
2674            * @param displayDateGT the date after which a matching web content
2675            article's display date must be after (optionally
2676            <code>null</code>)
2677            * @param displayDateLT the date before which a matching web content
2678            article's display date must be before (optionally
2679            <code>null</code>)
2680            * @param status the web content article's workflow status. For more
2681            information see {@link WorkflowConstants} for constants starting
2682            with the "STATUS_" prefix.
2683            * @param reviewDate the web content article's scheduled review date
2684            (optionally <code>null</code>)
2685            * @param andOperator whether every field must match its value or keywords,
2686            or just one field must match. Group, folder IDs, class name ID,
2687            and status must all match their values.
2688            * @return the number of matching web content articles
2689            * @throws SystemException if a system exception occurred
2690            */
2691            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2692            public int searchCount(long companyId, long groupId,
2693                    java.util.List<java.lang.Long> folderIds, long classNameId,
2694                    java.lang.String articleId, java.lang.Double version,
2695                    java.lang.String title, java.lang.String description,
2696                    java.lang.String content, java.lang.String type,
2697                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2698                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
2699                    java.util.Date reviewDate, boolean andOperator)
2700                    throws com.liferay.portal.kernel.exception.SystemException;
2701    
2702            /**
2703            * Returns the number of web content articles matching the parameters,
2704            * including keyword parameters for article ID, title, description, and
2705            * content, a DDM structure keys (plural) parameter, a DDM template keys
2706            * (plural) parameter, and an AND operator switch.
2707            *
2708            * @param companyId the primary key of the web content article's company
2709            * @param groupId the primary key of the group (optionally <code>0</code>)
2710            * @param folderIds the primary keys of the web content article folders
2711            (optionally {@link java.util.Collections#EMPTY_LIST})
2712            * @param classNameId the primary key of the DDMStructure class if the web
2713            content article is related to a DDM structure, the primary key of
2714            the class name associated with the article, or {@link
2715            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2716            * @param articleId the article ID keywords (space separated, optionally
2717            <code>null</code>)
2718            * @param version the web content article's version (optionally
2719            <code>null</code>)
2720            * @param title the title keywords (space separated, optionally
2721            <code>null</code>)
2722            * @param description the description keywords (space separated, optionally
2723            <code>null</code>)
2724            * @param content the content keywords (space separated, optionally
2725            <code>null</code>)
2726            * @param type the web content article's type (optionally
2727            <code>null</code>)
2728            * @param ddmStructureKeys the primary keys of the web content article's
2729            DDM structures, if the article is related to a DDM structure, or
2730            <code>null</code> otherwise
2731            * @param ddmTemplateKeys the primary keys of the web content article's DDM
2732            templates (originally <code>null</code>). If the articles are
2733            related to a DDM structure, the template's structure must match
2734            it.
2735            * @param displayDateGT the date after which a matching web content
2736            article's display date must be after (optionally
2737            <code>null</code>)
2738            * @param displayDateLT the date before which a matching web content
2739            article's display date must be before (optionally
2740            <code>null</code>)
2741            * @param status the web content article's workflow status. For more
2742            information see {@link WorkflowConstants} for constants starting
2743            with the "STATUS_" prefix.
2744            * @param reviewDate the web content article's scheduled review date
2745            (optionally <code>null</code>)
2746            * @param andOperator whether every field must match its value or keywords,
2747            or just one field must match.  Group, folder IDs, class name ID,
2748            and status must all match their values.
2749            * @return the number of matching web content articles
2750            * @throws SystemException if a system exception occurred
2751            */
2752            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2753            public int searchCount(long companyId, long groupId,
2754                    java.util.List<java.lang.Long> folderIds, long classNameId,
2755                    java.lang.String articleId, java.lang.Double version,
2756                    java.lang.String title, java.lang.String description,
2757                    java.lang.String content, java.lang.String type,
2758                    java.lang.String[] ddmStructureKeys,
2759                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
2760                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2761                    boolean andOperator)
2762                    throws com.liferay.portal.kernel.exception.SystemException;
2763    
2764            public void setTreePaths(long folderId, java.lang.String treePath,
2765                    boolean reindex)
2766                    throws com.liferay.portal.kernel.exception.PortalException,
2767                            com.liferay.portal.kernel.exception.SystemException;
2768    
2769            /**
2770            * Subscribes the user to notifications for the web content article matching
2771            * the group, notifying him the instant versions of the article are created,
2772            * deleted, or modified.
2773            *
2774            * @param userId the primary key of the user to subscribe
2775            * @param groupId the primary key of the group
2776            * @throws PortalException if a matching user or group could not be found
2777            * @throws SystemException if a system exception occurred
2778            */
2779            public void subscribe(long userId, long groupId)
2780                    throws com.liferay.portal.kernel.exception.PortalException,
2781                            com.liferay.portal.kernel.exception.SystemException;
2782    
2783            /**
2784            * Unsubscribes the user from notifications for the web content article
2785            * matching the group.
2786            *
2787            * @param userId the primary key of the user to unsubscribe
2788            * @param groupId the primary key of the group
2789            * @throws PortalException if a matching user or subscription could not be
2790            found
2791            * @throws SystemException if a system exception occurred
2792            */
2793            public void unsubscribe(long userId, long groupId)
2794                    throws com.liferay.portal.kernel.exception.PortalException,
2795                            com.liferay.portal.kernel.exception.SystemException;
2796    
2797            /**
2798            * Updates the web content article matching the version, replacing its
2799            * folder, title, description, content, and layout UUID.
2800            *
2801            * @param userId the primary key of the user updating the web content
2802            article
2803            * @param groupId the primary key of the web content article's group
2804            * @param folderId the primary key of the web content article folder
2805            * @param articleId the primary key of the web content article
2806            * @param version the web content article's version
2807            * @param titleMap the web content article's locales and localized titles
2808            * @param descriptionMap the web content article's locales and localized
2809            descriptions
2810            * @param content the HTML content wrapped in XML. For more information,
2811            see the content example in the class description for {@link
2812            JournalArticleLocalServiceImpl}.
2813            * @param layoutUuid the unique string identifying the web content
2814            article's display page
2815            * @param serviceContext the service context to be applied. Can set the
2816            modification date, expando bridge attributes, asset category IDs,
2817            asset tag names, asset link entry IDs, workflow actions, the
2818            "defaultLanguageId" and "urlTitle" attributes, and can set
2819            whether to add the default command update for the web content
2820            article. With respect to social activities, by setting the
2821            service context's command to {@link
2822            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2823            is considered a web content update activity; otherwise it is
2824            considered a web content add activity.
2825            * @return the updated web content article
2826            * @throws PortalException if a user with the primary key or a matching web
2827            content article could not be found, or if a portal exception
2828            occurred
2829            * @throws SystemException if a system exception occurred
2830            */
2831            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2832                    long userId, long groupId, long folderId, java.lang.String articleId,
2833                    double version,
2834                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
2835                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
2836                    java.lang.String content, java.lang.String layoutUuid,
2837                    com.liferay.portal.service.ServiceContext serviceContext)
2838                    throws com.liferay.portal.kernel.exception.PortalException,
2839                            com.liferay.portal.kernel.exception.SystemException;
2840    
2841            /**
2842            * Updates the web content article with additional parameters.
2843            *
2844            * @param userId the primary key of the user updating the web content
2845            article
2846            * @param groupId the primary key of the web content article's group
2847            * @param folderId the primary key of the web content article folder
2848            * @param articleId the primary key of the web content article
2849            * @param version the web content article's version
2850            * @param titleMap the web content article's locales and localized titles
2851            * @param descriptionMap the web content article's locales and localized
2852            descriptions
2853            * @param content the HTML content wrapped in XML. For more information,
2854            see the content example in the class description for {@link
2855            JournalArticleLocalServiceImpl}.
2856            * @param type the structure's type, if the web content article is related
2857            to a DDM structure. For more information, see {@link
2858            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
2859            * @param ddmStructureKey the primary key of the web content article's DDM
2860            structure, if the article is related to a DDM structure, or
2861            <code>null</code> otherwise
2862            * @param ddmTemplateKey the primary key of the web content article's DDM
2863            template (optionally <code>null</code>). If the article is
2864            related to a DDM structure, the template's structure must match
2865            it.
2866            * @param layoutUuid the unique string identifying the web content
2867            article's display page
2868            * @param displayDateMonth the month the web content article is set to
2869            display
2870            * @param displayDateDay the calendar day the web content article is set to
2871            display
2872            * @param displayDateYear the year the web content article is set to
2873            display
2874            * @param displayDateHour the hour the web content article is set to
2875            display
2876            * @param displayDateMinute the minute the web content article is set to
2877            display
2878            * @param expirationDateMonth the month the web content article is set to
2879            expire
2880            * @param expirationDateDay the calendar day the web content article is set
2881            to expire
2882            * @param expirationDateYear the year the web content article is set to
2883            expire
2884            * @param expirationDateHour the hour the web content article is set to
2885            expire
2886            * @param expirationDateMinute the minute the web content article is set to
2887            expire
2888            * @param neverExpire whether the web content article is not set to auto
2889            expire
2890            * @param reviewDateMonth the month the web content article is set for
2891            review
2892            * @param reviewDateDay the calendar day the web content article is set for
2893            review
2894            * @param reviewDateYear the year the web content article is set for review
2895            * @param reviewDateHour the hour the web content article is set for review
2896            * @param reviewDateMinute the minute the web content article is set for
2897            review
2898            * @param neverReview whether the web content article is not set for review
2899            * @param indexable whether the web content is searchable
2900            * @param smallImage whether to update web content article's a small image.
2901            A file must be passed in as <code>smallImageFile</code> value,
2902            otherwise the current small image is deleted.
2903            * @param smallImageURL the web content article's small image URL
2904            (optionally <code>null</code>)
2905            * @param smallImageFile the web content article's new small image file
2906            (optionally <code>null</code>). Must pass in
2907            <code>smallImage</code> value of <code>true</code> to replace the
2908            article's small image file.
2909            * @param images the web content's images (optionally <code>null</code>)
2910            * @param articleURL the web content article's accessible URL (optionally
2911            <code>null</code>)
2912            * @param serviceContext the service context to be applied. Can set the
2913            modification date, expando bridge attributes, asset category IDs,
2914            asset tag names, asset link entry IDs, workflow actions, the
2915            "defaultLanguageId" and "urlTitle" attributes, and can set
2916            whether to add the default command update for the web content
2917            article. With respect to social activities, by setting the
2918            service context's command to {@link
2919            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2920            is considered a web content update activity; otherwise it is
2921            considered a web content add activity.
2922            * @return the updated web content article
2923            * @throws PortalException if a user with the primary key or a matching web
2924            content article could not be found, or if a portal exception
2925            occurred
2926            * @throws SystemException if a system exception occurred
2927            */
2928            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
2929            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2930                    long userId, long groupId, long folderId, java.lang.String articleId,
2931                    double version,
2932                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
2933                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
2934                    java.lang.String content, java.lang.String type,
2935                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2936                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
2937                    int displayDateYear, int displayDateHour, int displayDateMinute,
2938                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
2939                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
2940                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
2941                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
2942                    boolean indexable, boolean smallImage, java.lang.String smallImageURL,
2943                    java.io.File smallImageFile,
2944                    java.util.Map<java.lang.String, byte[]> images,
2945                    java.lang.String articleURL,
2946                    com.liferay.portal.service.ServiceContext serviceContext)
2947                    throws com.liferay.portal.kernel.exception.PortalException,
2948                            com.liferay.portal.kernel.exception.SystemException;
2949    
2950            /**
2951            * Updates the web content article matching the version, replacing its
2952            * folder and content.
2953            *
2954            * @param userId the primary key of the user updating the web content
2955            article
2956            * @param groupId the primary key of the web content article's group
2957            * @param folderId the primary key of the web content article folder
2958            * @param articleId the primary key of the web content article
2959            * @param version the web content article's version
2960            * @param content the HTML content wrapped in XML. For more information,
2961            see the content example in the class description for {@link
2962            JournalArticleLocalServiceImpl}.
2963            * @param serviceContext the service context to be applied. Can set the
2964            modification date, expando bridge attributes, asset category IDs,
2965            asset tag names, asset link entry IDs, workflow actions, the
2966            "defaultLanguageId" and "urlTitle" attributes, and can set
2967            whether to add the default command update for the web content
2968            article. With respect to social activities, by setting the
2969            service context's command to {@link
2970            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2971            is considered a web content update activity; otherwise it is
2972            considered a web content add activity.
2973            * @return the updated web content article
2974            * @throws PortalException if a user with the primary key or a matching web
2975            content article could not be found, or if a portal exception
2976            occurred
2977            * @throws SystemException if a system exception occurred
2978            */
2979            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2980                    long userId, long groupId, long folderId, java.lang.String articleId,
2981                    double version, java.lang.String content,
2982                    com.liferay.portal.service.ServiceContext serviceContext)
2983                    throws com.liferay.portal.kernel.exception.PortalException,
2984                            com.liferay.portal.kernel.exception.SystemException;
2985    
2986            /**
2987            * @deprecated As of 6.2.0, replaced by {@link
2988            #updateArticleTranslation(long, String, double, Locale,
2989            String, String, String, Map, ServiceContext)}
2990            */
2991            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
2992                    long groupId, java.lang.String articleId, double version,
2993                    java.util.Locale locale, java.lang.String title,
2994                    java.lang.String description, java.lang.String content,
2995                    java.util.Map<java.lang.String, byte[]> images)
2996                    throws com.liferay.portal.kernel.exception.PortalException,
2997                            com.liferay.portal.kernel.exception.SystemException;
2998    
2999            /**
3000            * Updates the translation of the web content article.
3001            *
3002            * @param groupId the primary key of the web content article's group
3003            * @param articleId the primary key of the web content article
3004            * @param version the web content article's version
3005            * @param locale the locale of the web content article's display template
3006            * @param title the translated web content article title
3007            * @param description the translated web content article description
3008            * @param content the HTML content wrapped in XML. For more information,
3009            see the content example in the class description for {@link
3010            JournalArticleLocalServiceImpl}.
3011            * @param images the web content's images
3012            * @param serviceContext the service context to be applied. Can set the
3013            modification date and "urlTitle" attribute for the web content
3014            article.
3015            * @return the updated web content article
3016            * @throws PortalException if a user with the primary key or a matching web
3017            content article could not be found, or if a portal exception
3018            occurred
3019            * @throws SystemException if a system exception occurred
3020            */
3021            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
3022            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
3023                    long groupId, java.lang.String articleId, double version,
3024                    java.util.Locale locale, java.lang.String title,
3025                    java.lang.String description, java.lang.String content,
3026                    java.util.Map<java.lang.String, byte[]> images,
3027                    com.liferay.portal.service.ServiceContext serviceContext)
3028                    throws com.liferay.portal.kernel.exception.PortalException,
3029                            com.liferay.portal.kernel.exception.SystemException;
3030    
3031            /**
3032            * Updates the web content article's asset with the new asset categories,
3033            * tag names, and link entries, removing and adding them as necessary.
3034            *
3035            * @param userId the primary key of the user updating the web content
3036            article's asset
3037            * @param article the web content article
3038            * @param assetCategoryIds the primary keys of the new asset categories
3039            * @param assetTagNames the new asset tag names
3040            * @param assetLinkEntryIds the primary keys of the new asset link entries
3041            * @throws PortalException if a portal exception occurred
3042            * @throws SystemException if a system exception occurred
3043            */
3044            public void updateAsset(long userId,
3045                    com.liferay.portlet.journal.model.JournalArticle article,
3046                    long[] assetCategoryIds, java.lang.String[] assetTagNames,
3047                    long[] assetLinkEntryIds)
3048                    throws com.liferay.portal.kernel.exception.PortalException,
3049                            com.liferay.portal.kernel.exception.SystemException;
3050    
3051            /**
3052            * Updates the web content article matching the group, article ID, and
3053            * version, replacing its content.
3054            *
3055            * @param groupId the primary key of the web content article's group
3056            * @param articleId the primary key of the web content article
3057            * @param version the web content article's version
3058            * @param content the HTML content wrapped in XML. For more information,
3059            see the content example in the class description for {@link
3060            JournalArticleLocalServiceImpl}.
3061            * @return the updated web content article
3062            * @throws PortalException if a matching web content article could not be
3063            found
3064            * @throws SystemException if a system exception occurred
3065            */
3066            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
3067            public com.liferay.portlet.journal.model.JournalArticle updateContent(
3068                    long groupId, java.lang.String articleId, double version,
3069                    java.lang.String content)
3070                    throws com.liferay.portal.kernel.exception.PortalException,
3071                            com.liferay.portal.kernel.exception.SystemException;
3072    
3073            /**
3074            * Updates the workflow status of the web content article.
3075            *
3076            * @param userId the primary key of the user updating the web content
3077            article's status
3078            * @param article the web content article
3079            * @param status the web content article's workflow status. For more
3080            information see {@link WorkflowConstants} for constants starting
3081            with the "STATUS_" prefix.
3082            * @param articleURL the web content article's accessible URL
3083            * @param workflowContext the web content article's configured workflow
3084            context
3085            * @param serviceContext the service context to be applied. Can set the
3086            modification date, status date, and portlet preferences. With
3087            respect to social activities, by setting the service context's
3088            command to {@link
3089            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
3090            is considered a web content update activity; otherwise it is
3091            considered a web content add activity.
3092            * @return the updated web content article
3093            * @throws PortalException if a portal exception occurred
3094            * @throws SystemException if a system exception occurred
3095            */
3096            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
3097            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
3098                    long userId, com.liferay.portlet.journal.model.JournalArticle article,
3099                    int status, java.lang.String articleURL,
3100                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
3101                    com.liferay.portal.service.ServiceContext serviceContext)
3102                    throws com.liferay.portal.kernel.exception.PortalException,
3103                            com.liferay.portal.kernel.exception.SystemException;
3104    
3105            /**
3106            * Updates the workflow status of the web content article matching the class
3107            * PK.
3108            *
3109            * @param userId the primary key of the user updating the web content
3110            article's status
3111            * @param classPK the primary key of the DDM structure, if the web content
3112            article is related to a DDM structure, the primary key of the
3113            class associated with the article, or <code>0</code> otherwise
3114            * @param status the web content article's workflow status. For more
3115            information see {@link WorkflowConstants} for constants starting
3116            with the "STATUS_" prefix.
3117            * @param workflowContext the web content article's configured workflow
3118            * @param serviceContext the service context to be applied. Can set the
3119            modification date, portlet preferences, and can set whether to
3120            add the default command update for the web content article.
3121            * @return the updated web content article
3122            * @throws PortalException if a matching web content article could not be
3123            found or if a portal exception occurred
3124            * @throws SystemException if a system exception occurred
3125            */
3126            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
3127                    long userId, long classPK, int status,
3128                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
3129                    com.liferay.portal.service.ServiceContext serviceContext)
3130                    throws com.liferay.portal.kernel.exception.PortalException,
3131                            com.liferay.portal.kernel.exception.SystemException;
3132    
3133            /**
3134            * Updates the workflow status of the web content article matching the
3135            * group, article ID, and version.
3136            *
3137            * @param userId the primary key of the user updating the web content
3138            article's status
3139            * @param groupId the primary key of the web content article's group
3140            * @param articleId the primary key of the web content article
3141            * @param version the web content article's version
3142            * @param status the web content article's workflow status. For more
3143            information see {@link WorkflowConstants} for constants starting
3144            with the "STATUS_" prefix.
3145            * @param articleURL the web content article's accessible URL
3146            * @param workflowContext the web content article's configured workflow
3147            * @param serviceContext the service context to be applied. Can set the
3148            modification date, portlet preferences, and can set whether to
3149            add the default command update for the web content article.
3150            * @return the updated web content article
3151            * @throws PortalException if a matching web content article could not be
3152            found or if a portal exception occurred
3153            * @throws SystemException if a system exception occurred
3154            */
3155            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
3156                    long userId, long groupId, java.lang.String articleId, double version,
3157                    int status, java.lang.String articleURL,
3158                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
3159                    com.liferay.portal.service.ServiceContext serviceContext)
3160                    throws com.liferay.portal.kernel.exception.PortalException,
3161                            com.liferay.portal.kernel.exception.SystemException;
3162    
3163            /**
3164            * Updates the web content articles matching the group, class name ID, and
3165            * DDM template key, replacing the DDM template key with a new one.
3166            *
3167            * @param groupId the primary key of the web content article's group
3168            * @param classNameId the primary key of the DDMStructure class if the web
3169            content article is related to a DDM structure, the primary key of
3170            the class name associated with the article, or {@link
3171            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
3172            * @param oldDDMTemplateKey the primary key of the web content article's
3173            old DDM template
3174            * @param newDDMTemplateKey the primary key of the web content article's
3175            new DDM template
3176            * @throws SystemException if a system exception occurred
3177            */
3178            public void updateTemplateId(long groupId, long classNameId,
3179                    java.lang.String oldDDMTemplateKey, java.lang.String newDDMTemplateKey)
3180                    throws com.liferay.portal.kernel.exception.SystemException;
3181    }