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