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            /**
2052            * Removes the web content of the web content article matching the group,
2053            * article ID, and version, and language.
2054            *
2055            * @param groupId the primary key of the web content article's group
2056            * @param articleId the primary key of the web content article
2057            * @param version the web content article's version
2058            * @param languageId the primary key of the language locale to remove
2059            * @return the updated web content article with the locale removed
2060            * @throws PortalException if a matching web content article could not be
2061            found
2062            * @throws SystemException if a system exception occurred
2063            */
2064            public com.liferay.portlet.journal.model.JournalArticle removeArticleLocale(
2065                    long groupId, java.lang.String articleId, double version,
2066                    java.lang.String languageId)
2067                    throws com.liferay.portal.kernel.exception.PortalException,
2068                            com.liferay.portal.kernel.exception.SystemException;
2069    
2070            /**
2071            * Restores the web content article from the Recycle Bin.
2072            *
2073            * @param userId the primary key of the user restoring the web content
2074            article
2075            * @param article the web content article
2076            * @throws PortalException if the web content article with the primary key
2077            could not be found in the Recycle Bin, if the user did not have
2078            permission to restore the article, or if a portal exception
2079            occurred
2080            * @throws SystemException if a system exception occurred
2081            */
2082            public com.liferay.portlet.journal.model.JournalArticle restoreArticleFromTrash(
2083                    long userId, com.liferay.portlet.journal.model.JournalArticle article)
2084                    throws com.liferay.portal.kernel.exception.PortalException,
2085                            com.liferay.portal.kernel.exception.SystemException;
2086    
2087            /**
2088            * Returns an ordered range of all the web content articles matching the
2089            * parameters without using the indexer, including a keywords parameter for
2090            * matching with the article's ID, title, description, and content, a DDM
2091            * structure key parameter, and a DDM template key parameter. It is
2092            * preferable to use the indexed version {@link #search(long, long, List,
2093            * long, String, String, String, LinkedHashMap, int, int, Sort)} instead of
2094            * this method wherever possible for performance reasons.
2095            *
2096            * <p>
2097            * Useful when paginating results. Returns a maximum of <code>end -
2098            * start</code> instances. <code>start</code> and <code>end</code> are not
2099            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2100            * refers to the first result in the set. Setting both <code>start</code>
2101            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2102            * result set.
2103            * </p>
2104            *
2105            * @param companyId the primary key of the web content article's company
2106            * @param groupId the primary key of the group (optionally <code>0</code>)
2107            * @param folderIds the primary keys of the web content article folders
2108            (optionally {@link java.util.Collections#EMPTY_LIST})
2109            * @param classNameId the primary key of the DDMStructure class if the web
2110            content article is related to a DDM structure, the primary key of
2111            the class name associated with the article, or {@link
2112            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2113            * @param keywords the keywords (space separated), which may occur in the
2114            web content article ID, title, description, or content
2115            (optionally <code>null</code>). If the keywords value is not
2116            <code>null</code>, the search uses the OR operator in connecting
2117            query criteria; otherwise it uses the AND operator.
2118            * @param version the web content article's version (optionally
2119            <code>null</code>)
2120            * @param type the web content article's type (optionally
2121            <code>null</code>)
2122            * @param ddmStructureKey the primary key of the web content article's DDM
2123            structure, if the article is related to a DDM structure, or
2124            <code>null</code> otherwise
2125            * @param ddmTemplateKey the primary key of the web content article's DDM
2126            template (optionally <code>null</code>). If the article is
2127            related to a DDM structure, the template's structure must match
2128            it.
2129            * @param displayDateGT the date after which a matching web content
2130            article's display date must be after (optionally
2131            <code>null</code>)
2132            * @param displayDateLT the date before which a matching web content
2133            article's display date must be before (optionally
2134            <code>null</code>)
2135            * @param status the web content article's workflow status. For more
2136            information see {@link WorkflowConstants} for constants starting
2137            with the "STATUS_" prefix.
2138            * @param reviewDate the web content article's scheduled review date
2139            (optionally <code>null</code>)
2140            * @param start the lower bound of the range of web content articles to
2141            return
2142            * @param end the upper bound of the range of web content articles to
2143            return (not inclusive)
2144            * @param obc the comparator to order the web content articles
2145            * @return the range of matching web content articles ordered by the
2146            comparator
2147            * @throws SystemException if a system exception occurred
2148            */
2149            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2150            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2151                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2152                    long classNameId, java.lang.String keywords, java.lang.Double version,
2153                    java.lang.String type, java.lang.String ddmStructureKey,
2154                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
2155                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2156                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
2157                    throws com.liferay.portal.kernel.exception.SystemException;
2158    
2159            /**
2160            * Returns an ordered range of all the web content articles matching the
2161            * parameters without using the indexer, including keyword parameters for
2162            * article ID, title, description, and content, a DDM structure key
2163            * parameter, a DDM template key parameter, and an AND operator switch. It
2164            * is preferable to use the indexed version {@link #search(long, long, List,
2165            * long, String, String, String, String, String, String, String, String,
2166            * LinkedHashMap, boolean, int, int, Sort)} instead of this method wherever
2167            * possible for performance reasons.
2168            *
2169            * <p>
2170            * Useful when paginating results. Returns a maximum of <code>end -
2171            * start</code> instances. <code>start</code> and <code>end</code> are not
2172            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2173            * refers to the first result in the set. Setting both <code>start</code>
2174            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2175            * result set.
2176            * </p>
2177            *
2178            * @param companyId the primary key of the web content article's company
2179            * @param groupId the primary key of the group (optionally <code>0</code>)
2180            * @param folderIds the primary keys of the web content article folders
2181            (optionally {@link java.util.Collections#EMPTY_LIST})
2182            * @param classNameId the primary key of the DDMStructure class if the web
2183            content article is related to a DDM structure, the primary key of
2184            the class name associated with the article, or {@link
2185            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2186            * @param articleId the article ID keywords (space separated, optionally
2187            <code>null</code>)
2188            * @param version the web content article's version (optionally
2189            <code>null</code>)
2190            * @param title the title keywords (space separated, optionally
2191            <code>null</code>)
2192            * @param description the description keywords (space separated, optionally
2193            <code>null</code>)
2194            * @param content the content keywords (space separated, optionally
2195            <code>null</code>)
2196            * @param type the web content article's type (optionally
2197            <code>null</code>)
2198            * @param ddmStructureKey the primary key of the web content article's DDM
2199            structure, if the article is related to a DDM structure, or
2200            <code>null</code> otherwise
2201            * @param ddmTemplateKey the primary key of the web content article's DDM
2202            template (optionally <code>null</code>). If the article is
2203            related to a DDM structure, the template's structure must match
2204            it.
2205            * @param displayDateGT the date after which a matching web content
2206            article's display date must be after (optionally
2207            <code>null</code>)
2208            * @param displayDateLT the date before which a matching web content
2209            article's display date must be before (optionally
2210            <code>null</code>)
2211            * @param status the web content article's workflow status. For more
2212            information see {@link WorkflowConstants} for constants starting
2213            with the "STATUS_" prefix.
2214            * @param reviewDate the web content article's scheduled review date
2215            (optionally <code>null</code>)
2216            * @param andOperator whether every field must match its value or keywords,
2217            or just one field must match. Company, group, folder IDs, class
2218            name ID, and status must all match their values.
2219            * @param start the lower bound of the range of web content articles to
2220            return
2221            * @param end the upper bound of the range of web content articles to
2222            return (not inclusive)
2223            * @param obc the comparator to order the web content articles
2224            * @return the range of matching web content articles ordered by the
2225            comparator
2226            * @throws SystemException if a system exception occurred
2227            */
2228            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2229            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2230                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2231                    long classNameId, java.lang.String articleId, java.lang.Double version,
2232                    java.lang.String title, java.lang.String description,
2233                    java.lang.String content, java.lang.String type,
2234                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2235                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
2236                    java.util.Date reviewDate, boolean andOperator, int start, int end,
2237                    com.liferay.portal.kernel.util.OrderByComparator obc)
2238                    throws com.liferay.portal.kernel.exception.SystemException;
2239    
2240            /**
2241            * Returns an ordered range of all the web content articles matching the
2242            * parameters without using the indexer, including keyword parameters for
2243            * article ID, title, description, and content, a DDM structure keys
2244            * (plural) parameter, a DDM template keys (plural) parameter, and an AND
2245            * operator switch.
2246            *
2247            * <p>
2248            * Useful when paginating results. Returns a maximum of <code>end -
2249            * start</code> instances. <code>start</code> and <code>end</code> are not
2250            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2251            * refers to the first result in the set. Setting both <code>start</code>
2252            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2253            * result set.
2254            * </p>
2255            *
2256            * @param companyId the primary key of the web content article's company
2257            * @param groupId the primary key of the group (optionally <code>0</code>)
2258            * @param folderIds the primary keys of the web content article folders
2259            (optionally {@link java.util.Collections#EMPTY_LIST})
2260            * @param classNameId the primary key of the DDMStructure class if the web
2261            content article is related to a DDM structure, the primary key of
2262            the class name associated with the article, or {@link
2263            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2264            * @param articleId the article ID keywords (space separated, optionally
2265            <code>null</code>)
2266            * @param version the web content article's version (optionally
2267            <code>null</code>)
2268            * @param title the title keywords (space separated, optionally
2269            <code>null</code>)
2270            * @param description the description keywords (space separated, optionally
2271            <code>null</code>)
2272            * @param content the content keywords (space separated, optionally
2273            <code>null</code>)
2274            * @param type the web content article's type (optionally
2275            <code>null</code>)
2276            * @param ddmStructureKeys the primary keys of the web content article's
2277            DDM structures, if the article is related to a DDM structure, or
2278            <code>null</code> otherwise
2279            * @param ddmTemplateKeys the primary keys of the web content article's DDM
2280            templates (originally <code>null</code>). If the articles are
2281            related to a DDM structure, the template's structure must match
2282            it.
2283            * @param displayDateGT the date after which a matching web content
2284            article's display date must be after (optionally
2285            <code>null</code>)
2286            * @param displayDateLT the date before which a matching web content
2287            article's display date must be before (optionally
2288            <code>null</code>)
2289            * @param status the web content article's workflow status. For more
2290            information see {@link WorkflowConstants} for constants starting
2291            with the "STATUS_" prefix.
2292            * @param reviewDate the web content article's scheduled review date
2293            (optionally <code>null</code>)
2294            * @param andOperator whether every field must match its value or keywords,
2295            or just one field must match.  Company, group, folder IDs, class
2296            name ID, and status must all match their values.
2297            * @param start the lower bound of the range of web content articles to
2298            return
2299            * @param end the upper bound of the range of web content articles to
2300            return (not inclusive)
2301            * @param obc the comparator to order the web content articles
2302            * @return the range of matching web content articles ordered by the
2303            comparator
2304            * @throws SystemException if a system exception occurred
2305            */
2306            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2307            public java.util.List<com.liferay.portlet.journal.model.JournalArticle> search(
2308                    long companyId, long groupId, java.util.List<java.lang.Long> folderIds,
2309                    long classNameId, java.lang.String articleId, java.lang.Double version,
2310                    java.lang.String title, java.lang.String description,
2311                    java.lang.String content, java.lang.String type,
2312                    java.lang.String[] ddmStructureKeys,
2313                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
2314                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2315                    boolean andOperator, int start, int end,
2316                    com.liferay.portal.kernel.util.OrderByComparator obc)
2317                    throws com.liferay.portal.kernel.exception.SystemException;
2318    
2319            /**
2320            * Returns an ordered range of all the web content articles matching the
2321            * parameters using the indexer, including a keywords parameter for matching
2322            * an article's ID, title, description, or content, a DDM structure key
2323            * parameter, a DDM template key parameter, and a finder hash map parameter.
2324            * It is preferable to use this method instead of the non-indexed version
2325            * whenever possible for performance reasons.
2326            *
2327            * <p>
2328            * Useful when paginating results. Returns a maximum of <code>end -
2329            * start</code> instances. <code>start</code> and <code>end</code> are not
2330            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2331            * refers to the first result in the set. Setting both <code>start</code>
2332            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2333            * result set.
2334            * </p>
2335            *
2336            * @param companyId the primary key of the web content article's company
2337            * @param groupId the primary key of the group (optionally <code>0</code>)
2338            * @param folderIds the primary keys of the web content article folders
2339            (optionally {@link java.util.Collections#EMPTY_LIST})
2340            * @param classNameId the primary key of the DDMStructure class if the web
2341            content article is related to a DDM structure, the primary key of
2342            the class name associated with the article, or {@link
2343            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2344            * @param ddmStructureKey the primary key of the web content article's DDM
2345            structure, if the article is related to a DDM structure, or
2346            <code>null</code> otherwise
2347            * @param ddmTemplateKey the primary key of the web content article's DDM
2348            template (optionally <code>null</code>). If the article is
2349            related to a DDM structure, the template's structure must match
2350            it.
2351            * @param keywords the keywords (space separated), which may occur in the
2352            web content article ID, title, description, or content
2353            (optionally <code>null</code>). If the keywords value is not
2354            <code>null</code>, the search uses the OR operator in connecting
2355            query criteria; otherwise it uses the AND operator.
2356            * @param params the finder parameters (optionally <code>null</code>)
2357            * @param start the lower bound of the range of web content articles to
2358            return
2359            * @param end the upper bound of the range of web content articles to
2360            return (not inclusive)
2361            * @param sort the field, type, and direction by which to sort (optionally
2362            <code>null</code>)
2363            * @return the matching web content articles ordered by <code>sort</code>
2364            * @throws SystemException if a system exception occurred
2365            */
2366            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2367            public com.liferay.portal.kernel.search.Hits search(long companyId,
2368                    long groupId, java.util.List<java.lang.Long> folderIds,
2369                    long classNameId, java.lang.String ddmStructureKey,
2370                    java.lang.String ddmTemplateKey, java.lang.String keywords,
2371                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2372                    int start, int end, com.liferay.portal.kernel.search.Sort sort)
2373                    throws com.liferay.portal.kernel.exception.SystemException;
2374    
2375            /**
2376            * Returns an ordered range of all the web content articles matching the
2377            * parameters using the indexer, including a keywords parameter for matching
2378            * an article's ID, title, description, or content, a DDM structure key
2379            * parameter, a DDM template key parameter, an AND operator switch, and
2380            * parameters for type, status, a finder hash map. It is preferable to use
2381            * this method instead of the non-indexed version whenever possible for
2382            * performance reasons.
2383            *
2384            * <p>
2385            * Useful when paginating results. Returns a maximum of <code>end -
2386            * start</code> instances. <code>start</code> and <code>end</code> are not
2387            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2388            * refers to the first result in the set. Setting both <code>start</code>
2389            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
2390            * result set.
2391            * </p>
2392            *
2393            * @param companyId the primary key of the web content article's company
2394            * @param groupId the primary key of the group (optionally <code>0</code>)
2395            * @param folderIds the primary keys of the web content article folders
2396            (optionally {@link java.util.Collections#EMPTY_LIST})
2397            * @param classNameId the primary key of the DDMStructure class if the web
2398            content article is related to a DDM structure, the primary key of
2399            the class name associated with the article, or {@link
2400            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2401            * @param articleId the article ID keywords (space separated, optionally
2402            <code>null</code>)
2403            * @param title the title keywords (space separated, optionally
2404            <code>null</code>)
2405            * @param description the description keywords (space separated, optionally
2406            <code>null</code>)
2407            * @param content the content keywords (space separated, optionally
2408            <code>null</code>)
2409            * @param type the web content article's type (optionally
2410            <code>null</code>)
2411            * @param status the web content article's workflow status. For more
2412            information see {@link WorkflowConstants} for constants starting
2413            with the "STATUS_" prefix.
2414            * @param ddmStructureKey the primary key of the web content article's DDM
2415            structure, if the article is related to a DDM structure, or
2416            <code>null</code> otherwise
2417            * @param ddmTemplateKey the primary key of the web content article's DDM
2418            template (optionally <code>null</code>). If the article is
2419            related to a DDM structure, the template's structure must match
2420            it.
2421            * @param params the finder parameters (optionally <code>null</code>). Can
2422            set parameter <code>"includeDiscussions"</code> to
2423            <code>true</code> to search for the keywords in the web content
2424            article discussions.
2425            * @param andSearch whether every field must match its value or keywords,
2426            or just one field must match
2427            * @param start the lower bound of the range of web content articles to
2428            return
2429            * @param end the upper bound of the range of web content articles to
2430            return (not inclusive)
2431            * @param sort the field, type, and direction by which to sort (optionally
2432            <code>null</code>)
2433            * @return the matching web content articles ordered by <code>sort</code>
2434            * @throws SystemException if a system exception occurred
2435            */
2436            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2437            public com.liferay.portal.kernel.search.Hits search(long companyId,
2438                    long groupId, java.util.List<java.lang.Long> folderIds,
2439                    long classNameId, java.lang.String articleId, java.lang.String title,
2440                    java.lang.String description, java.lang.String content,
2441                    java.lang.String type, java.lang.String status,
2442                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2443                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2444                    boolean andSearch, int start, int end,
2445                    com.liferay.portal.kernel.search.Sort sort)
2446                    throws com.liferay.portal.kernel.exception.SystemException;
2447    
2448            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2449            public com.liferay.portal.kernel.search.Hits search(long groupId,
2450                    long userId, long creatorUserId, int status, int start, int end)
2451                    throws com.liferay.portal.kernel.exception.PortalException,
2452                            com.liferay.portal.kernel.exception.SystemException;
2453    
2454            /**
2455            * Returns the number of web content articles matching the parameters,
2456            * including a keywords parameter for matching with the article's ID, title,
2457            * description, and content, a DDM structure key parameter, and a DDM
2458            * template key parameter.
2459            *
2460            * @param companyId the primary key of the web content article's company
2461            * @param groupId the primary key of the group (optionally <code>0</code>)
2462            * @param folderIds the primary keys of the web content article folders
2463            (optionally {@link java.util.Collections#EMPTY_LIST})
2464            * @param classNameId the primary key of the DDMStructure class if the web
2465            content article is related to a DDM structure, the primary key of
2466            the class name associated with the article, or {@link
2467            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2468            * @param keywords the keywords (space separated), which may occur in the
2469            web content article ID, title, description, or content
2470            (optionally <code>null</code>). If the keywords value is not
2471            <code>null</code>, the search uses the OR operator in connecting
2472            query criteria; otherwise it uses the AND operator.
2473            * @param version the web content article's version (optionally
2474            <code>null</code>)
2475            * @param type the web content article's type (optionally
2476            <code>null</code>)
2477            * @param ddmStructureKey the primary key of the web content article's DDM
2478            structure, if the article is related to a DDM structure, or
2479            <code>null</code> otherwise
2480            * @param ddmTemplateKey the primary key of the web content article's DDM
2481            template (optionally <code>null</code>). If the article is
2482            related to a DDM structure, the template's structure must match
2483            it.
2484            * @param displayDateGT the date after which a matching web content
2485            article's display date must be after (optionally
2486            <code>null</code>)
2487            * @param displayDateLT the date before which a matching web content
2488            article's display date must be before (optionally
2489            <code>null</code>)
2490            * @param status the web content article's workflow status. For more
2491            information see {@link WorkflowConstants} for constants starting
2492            with the "STATUS_" prefix.
2493            * @param reviewDate the web content article's scheduled review date
2494            (optionally <code>null</code>)
2495            * @return the number of matching web content articles
2496            * @throws SystemException if a system exception occurred
2497            */
2498            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2499            public int searchCount(long companyId, long groupId,
2500                    java.util.List<java.lang.Long> folderIds, long classNameId,
2501                    java.lang.String keywords, java.lang.Double version,
2502                    java.lang.String type, java.lang.String ddmStructureKey,
2503                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
2504                    java.util.Date displayDateLT, int status, java.util.Date reviewDate)
2505                    throws com.liferay.portal.kernel.exception.SystemException;
2506    
2507            /**
2508            * Returns the number of web content articles matching the parameters,
2509            * including keyword parameters for article ID, title, description, and
2510            * content, a DDM structure key parameter, a DDM template key parameter, and
2511            * an AND operator switch.
2512            *
2513            * @param companyId the primary key of the web content article's company
2514            * @param groupId the primary key of the group (optionally <code>0</code>)
2515            * @param folderIds the primary keys of the web content article folders
2516            (optionally {@link java.util.Collections#EMPTY_LIST})
2517            * @param classNameId the primary key of the DDMStructure class if the web
2518            content article is related to a DDM structure, the primary key of
2519            the class name associated with the article, or {@link
2520            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2521            * @param articleId the article ID keywords (space separated, optionally
2522            <code>null</code>)
2523            * @param version the web content article's version (optionally
2524            <code>null</code>)
2525            * @param title the title keywords (space separated, optionally
2526            <code>null</code>)
2527            * @param description the description keywords (space separated, optionally
2528            <code>null</code>)
2529            * @param content the content keywords (space separated, optionally
2530            <code>null</code>)
2531            * @param type the web content article's type (optionally
2532            <code>null</code>)
2533            * @param ddmStructureKey the primary key of the web content article's DDM
2534            structure, if the article is related to a DDM structure, or
2535            <code>null</code> otherwise
2536            * @param ddmTemplateKey the primary key of the web content article's DDM
2537            template (optionally <code>null</code>). If the article is
2538            related to a DDM structure, the template's structure must match
2539            it.
2540            * @param displayDateGT the date after which a matching web content
2541            article's display date must be after (optionally
2542            <code>null</code>)
2543            * @param displayDateLT the date before which a matching web content
2544            article's display date must be before (optionally
2545            <code>null</code>)
2546            * @param status the web content article's workflow status. For more
2547            information see {@link WorkflowConstants} for constants starting
2548            with the "STATUS_" prefix.
2549            * @param reviewDate the web content article's scheduled review date
2550            (optionally <code>null</code>)
2551            * @param andOperator whether every field must match its value or keywords,
2552            or just one field must match. Group, folder IDs, class name ID,
2553            and status must all match their values.
2554            * @return the number of matching web content articles
2555            * @throws SystemException if a system exception occurred
2556            */
2557            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2558            public int searchCount(long companyId, long groupId,
2559                    java.util.List<java.lang.Long> folderIds, long classNameId,
2560                    java.lang.String articleId, java.lang.Double version,
2561                    java.lang.String title, java.lang.String description,
2562                    java.lang.String content, java.lang.String type,
2563                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2564                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
2565                    java.util.Date reviewDate, boolean andOperator)
2566                    throws com.liferay.portal.kernel.exception.SystemException;
2567    
2568            /**
2569            * Returns the number of web content articles matching the parameters,
2570            * including keyword parameters for article ID, title, description, and
2571            * content, a DDM structure keys (plural) parameter, a DDM template keys
2572            * (plural) parameter, and an AND operator switch.
2573            *
2574            * @param companyId the primary key of the web content article's company
2575            * @param groupId the primary key of the group (optionally <code>0</code>)
2576            * @param folderIds the primary keys of the web content article folders
2577            (optionally {@link java.util.Collections#EMPTY_LIST})
2578            * @param classNameId the primary key of the DDMStructure class if the web
2579            content article is related to a DDM structure, the primary key of
2580            the class name associated with the article, or {@link
2581            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
2582            * @param articleId the article ID keywords (space separated, optionally
2583            <code>null</code>)
2584            * @param version the web content article's version (optionally
2585            <code>null</code>)
2586            * @param title the title keywords (space separated, optionally
2587            <code>null</code>)
2588            * @param description the description keywords (space separated, optionally
2589            <code>null</code>)
2590            * @param content the content keywords (space separated, optionally
2591            <code>null</code>)
2592            * @param type the web content article's type (optionally
2593            <code>null</code>)
2594            * @param ddmStructureKeys the primary keys of the web content article's
2595            DDM structures, if the article is related to a DDM structure, or
2596            <code>null</code> otherwise
2597            * @param ddmTemplateKeys the primary keys of the web content article's DDM
2598            templates (originally <code>null</code>). If the articles are
2599            related to a DDM structure, the template's structure must match
2600            it.
2601            * @param displayDateGT the date after which a matching web content
2602            article's display date must be after (optionally
2603            <code>null</code>)
2604            * @param displayDateLT the date before which a matching web content
2605            article's display date must be before (optionally
2606            <code>null</code>)
2607            * @param status the web content article's workflow status. For more
2608            information see {@link WorkflowConstants} for constants starting
2609            with the "STATUS_" prefix.
2610            * @param reviewDate the web content article's scheduled review date
2611            (optionally <code>null</code>)
2612            * @param andOperator whether every field must match its value or keywords,
2613            or just one field must match.  Group, folder IDs, class name ID,
2614            and status must all match their values.
2615            * @return the number of matching web content articles
2616            * @throws SystemException if a system exception occurred
2617            */
2618            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2619            public int searchCount(long companyId, long groupId,
2620                    java.util.List<java.lang.Long> folderIds, long classNameId,
2621                    java.lang.String articleId, java.lang.Double version,
2622                    java.lang.String title, java.lang.String description,
2623                    java.lang.String content, java.lang.String type,
2624                    java.lang.String[] ddmStructureKeys,
2625                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
2626                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
2627                    boolean andOperator)
2628                    throws com.liferay.portal.kernel.exception.SystemException;
2629    
2630            /**
2631            * Subscribes the user to notifications for the web content article matching
2632            * the group, notifying him the instant versions of the article are created,
2633            * deleted, or modified.
2634            *
2635            * @param userId the primary key of the user to subscribe
2636            * @param groupId the primary key of the group
2637            * @throws PortalException if a matching user or group could not be found
2638            * @throws SystemException if a system exception occurred
2639            */
2640            public void subscribe(long userId, long groupId)
2641                    throws com.liferay.portal.kernel.exception.PortalException,
2642                            com.liferay.portal.kernel.exception.SystemException;
2643    
2644            /**
2645            * Unsubscribes the user from notifications for the web content article
2646            * matching the group.
2647            *
2648            * @param userId the primary key of the user to unsubscribe
2649            * @param groupId the primary key of the group
2650            * @throws PortalException if a matching user or subscription could not be
2651            found
2652            * @throws SystemException if a system exception occurred
2653            */
2654            public void unsubscribe(long userId, long groupId)
2655                    throws com.liferay.portal.kernel.exception.PortalException,
2656                            com.liferay.portal.kernel.exception.SystemException;
2657    
2658            /**
2659            * Updates the web content article matching the version, replacing its
2660            * folder, title, description, content, and layout UUID.
2661            *
2662            * @param userId the primary key of the user updating the web content
2663            article
2664            * @param groupId the primary key of the web content article's group
2665            * @param folderId the primary key of the web content article folder
2666            * @param articleId the primary key of the web content article
2667            * @param version the web content article's version
2668            * @param titleMap the web content article's locales and localized titles
2669            * @param descriptionMap the web content article's locales and localized
2670            descriptions
2671            * @param content the HTML content wrapped in XML. For more information,
2672            see the content example in the class description for {@link
2673            JournalArticleLocalServiceImpl}.
2674            * @param layoutUuid the unique string identifying the web content
2675            article's display page
2676            * @param serviceContext the service context to be applied. Can set the
2677            modification date, expando bridge attributes, asset category IDs,
2678            asset tag names, asset link entry IDs, workflow actions, the
2679            "defaultLanguageId" and "urlTitle" attributes, and can set
2680            whether to add the default command update for the web content
2681            article. With respect to social activities, by setting the
2682            service context's command to {@link
2683            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2684            is considered a web content update activity; otherwise it is
2685            considered a web content add activity.
2686            * @return the updated web content article
2687            * @throws PortalException if a user with the primary key or a matching web
2688            content article could not be found, or if a portal exception
2689            occurred
2690            * @throws SystemException if a system exception occurred
2691            */
2692            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2693                    long userId, long groupId, long folderId, java.lang.String articleId,
2694                    double version,
2695                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
2696                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
2697                    java.lang.String content, java.lang.String layoutUuid,
2698                    com.liferay.portal.service.ServiceContext serviceContext)
2699                    throws com.liferay.portal.kernel.exception.PortalException,
2700                            com.liferay.portal.kernel.exception.SystemException;
2701    
2702            /**
2703            * Updates the web content article with additional parameters.
2704            *
2705            * @param userId the primary key of the user updating the web content
2706            article
2707            * @param groupId the primary key of the web content article's group
2708            * @param folderId the primary key of the web content article folder
2709            * @param articleId the primary key of the web content article
2710            * @param version the web content article's version
2711            * @param titleMap the web content article's locales and localized titles
2712            * @param descriptionMap the web content article's locales and localized
2713            descriptions
2714            * @param content the HTML content wrapped in XML. For more information,
2715            see the content example in the class description for {@link
2716            JournalArticleLocalServiceImpl}.
2717            * @param type the structure's type, if the web content article is related
2718            to a DDM structure. For more information, see {@link
2719            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
2720            * @param ddmStructureKey the primary key of the web content article's DDM
2721            structure, if the article is related to a DDM structure, or
2722            <code>null</code> otherwise
2723            * @param ddmTemplateKey the primary key of the web content article's DDM
2724            template (optionally <code>null</code>). If the article is
2725            related to a DDM structure, the template's structure must match
2726            it.
2727            * @param layoutUuid the unique string identifying the web content
2728            article's display page
2729            * @param displayDateMonth the month the web content article is set to
2730            display
2731            * @param displayDateDay the calendar day the web content article is set to
2732            display
2733            * @param displayDateYear the year the web content article is set to
2734            display
2735            * @param displayDateHour the hour the web content article is set to
2736            display
2737            * @param displayDateMinute the minute the web content article is set to
2738            display
2739            * @param expirationDateMonth the month the web content article is set to
2740            expire
2741            * @param expirationDateDay the calendar day the web content article is set
2742            to expire
2743            * @param expirationDateYear the year the web content article is set to
2744            expire
2745            * @param expirationDateHour the hour the web content article is set to
2746            expire
2747            * @param expirationDateMinute the minute the web content article is set to
2748            expire
2749            * @param neverExpire whether the web content article is not set to auto
2750            expire
2751            * @param reviewDateMonth the month the web content article is set for
2752            review
2753            * @param reviewDateDay the calendar day the web content article is set for
2754            review
2755            * @param reviewDateYear the year the web content article is set for review
2756            * @param reviewDateHour the hour the web content article is set for review
2757            * @param reviewDateMinute the minute the web content article is set for
2758            review
2759            * @param neverReview whether the web content article is not set for review
2760            * @param indexable whether the web content is searchable
2761            * @param smallImage whether to update web content article's a small image.
2762            A file must be passed in as <code>smallImageFile</code> value,
2763            otherwise the current small image is deleted.
2764            * @param smallImageURL the web content article's small image URL
2765            (optionally <code>null</code>)
2766            * @param smallImageFile the web content article's new small image file
2767            (optionally <code>null</code>). Must pass in
2768            <code>smallImage</code> value of <code>true</code> to replace the
2769            article's small image file.
2770            * @param images the web content's images (optionally <code>null</code>)
2771            * @param articleURL the web content article's accessible URL (optionally
2772            <code>null</code>)
2773            * @param serviceContext the service context to be applied. Can set the
2774            modification date, expando bridge attributes, asset category IDs,
2775            asset tag names, asset link entry IDs, workflow actions, the
2776            "defaultLanguageId" and "urlTitle" attributes, and can set
2777            whether to add the default command update for the web content
2778            article. With respect to social activities, by setting the
2779            service context's command to {@link
2780            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2781            is considered a web content update activity; otherwise it is
2782            considered a web content add activity.
2783            * @return the updated web content article
2784            * @throws PortalException if a user with the primary key or a matching web
2785            content article could not be found, or if a portal exception
2786            occurred
2787            * @throws SystemException if a system exception occurred
2788            */
2789            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2790                    long userId, long groupId, long folderId, java.lang.String articleId,
2791                    double version,
2792                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
2793                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
2794                    java.lang.String content, java.lang.String type,
2795                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
2796                    java.lang.String layoutUuid, int displayDateMonth, int displayDateDay,
2797                    int displayDateYear, int displayDateHour, int displayDateMinute,
2798                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
2799                    int expirationDateHour, int expirationDateMinute, boolean neverExpire,
2800                    int reviewDateMonth, int reviewDateDay, int reviewDateYear,
2801                    int reviewDateHour, int reviewDateMinute, boolean neverReview,
2802                    boolean indexable, boolean smallImage, java.lang.String smallImageURL,
2803                    java.io.File smallImageFile,
2804                    java.util.Map<java.lang.String, byte[]> images,
2805                    java.lang.String articleURL,
2806                    com.liferay.portal.service.ServiceContext serviceContext)
2807                    throws com.liferay.portal.kernel.exception.PortalException,
2808                            com.liferay.portal.kernel.exception.SystemException;
2809    
2810            /**
2811            * Updates the web content article matching the version, replacing its
2812            * folder and content.
2813            *
2814            * @param userId the primary key of the user updating the web content
2815            article
2816            * @param groupId the primary key of the web content article's group
2817            * @param folderId the primary key of the web content article folder
2818            * @param articleId the primary key of the web content article
2819            * @param version the web content article's version
2820            * @param content the HTML content wrapped in XML. For more information,
2821            see the content example in the class description for {@link
2822            JournalArticleLocalServiceImpl}.
2823            * @param serviceContext the service context to be applied. Can set the
2824            modification date, expando bridge attributes, asset category IDs,
2825            asset tag names, asset link entry IDs, workflow actions, the
2826            "defaultLanguageId" and "urlTitle" attributes, and can set
2827            whether to add the default command update for the web content
2828            article. With respect to social activities, by setting the
2829            service context's command to {@link
2830            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2831            is considered a web content update activity; otherwise it is
2832            considered a web content add activity.
2833            * @return the updated web content article
2834            * @throws PortalException if a user with the primary key or a matching web
2835            content article could not be found, or if a portal exception
2836            occurred
2837            * @throws SystemException if a system exception occurred
2838            */
2839            public com.liferay.portlet.journal.model.JournalArticle updateArticle(
2840                    long userId, long groupId, long folderId, java.lang.String articleId,
2841                    double version, java.lang.String content,
2842                    com.liferay.portal.service.ServiceContext serviceContext)
2843                    throws com.liferay.portal.kernel.exception.PortalException,
2844                            com.liferay.portal.kernel.exception.SystemException;
2845    
2846            /**
2847            * @deprecated As of 6.2.0, replaced by {@link
2848            #updateArticleTranslation(long, String, double, Locale,
2849            String, String, String, Map, ServiceContext)}
2850            */
2851            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
2852                    long groupId, java.lang.String articleId, double version,
2853                    java.util.Locale locale, java.lang.String title,
2854                    java.lang.String description, java.lang.String content,
2855                    java.util.Map<java.lang.String, byte[]> images)
2856                    throws com.liferay.portal.kernel.exception.PortalException,
2857                            com.liferay.portal.kernel.exception.SystemException;
2858    
2859            /**
2860            * Updates the translation of the web content article.
2861            *
2862            * @param groupId the primary key of the web content article's group
2863            * @param articleId the primary key of the web content article
2864            * @param version the web content article's version
2865            * @param locale the locale of the web content article's display template
2866            * @param title the translated web content article title
2867            * @param description the translated web content article description
2868            * @param content the HTML content wrapped in XML. For more information,
2869            see the content example in the class description for {@link
2870            JournalArticleLocalServiceImpl}.
2871            * @param images the web content's images
2872            * @param serviceContext the service context to be applied. Can set the
2873            modification date and "urlTitle" attribute for the web content
2874            article.
2875            * @return the updated web content article
2876            * @throws PortalException if a user with the primary key or a matching web
2877            content article could not be found, or if a portal exception
2878            occurred
2879            * @throws SystemException if a system exception occurred
2880            */
2881            public com.liferay.portlet.journal.model.JournalArticle updateArticleTranslation(
2882                    long groupId, java.lang.String articleId, double version,
2883                    java.util.Locale locale, java.lang.String title,
2884                    java.lang.String description, java.lang.String content,
2885                    java.util.Map<java.lang.String, byte[]> images,
2886                    com.liferay.portal.service.ServiceContext serviceContext)
2887                    throws com.liferay.portal.kernel.exception.PortalException,
2888                            com.liferay.portal.kernel.exception.SystemException;
2889    
2890            /**
2891            * Updates the web content article's asset with the new asset categories,
2892            * tag names, and link entries, removing and adding them as necessary.
2893            *
2894            * @param userId the primary key of the user updating the web content
2895            article's asset
2896            * @param article the web content article
2897            * @param assetCategoryIds the primary keys of the new asset categories
2898            * @param assetTagNames the new asset tag names
2899            * @param assetLinkEntryIds the primary keys of the new asset link entries
2900            * @throws PortalException if a portal exception occurred
2901            * @throws SystemException if a system exception occurred
2902            */
2903            public void updateAsset(long userId,
2904                    com.liferay.portlet.journal.model.JournalArticle article,
2905                    long[] assetCategoryIds, java.lang.String[] assetTagNames,
2906                    long[] assetLinkEntryIds)
2907                    throws com.liferay.portal.kernel.exception.PortalException,
2908                            com.liferay.portal.kernel.exception.SystemException;
2909    
2910            /**
2911            * Updates the web content article matching the group, article ID, and
2912            * version, replacing its content.
2913            *
2914            * @param groupId the primary key of the web content article's group
2915            * @param articleId the primary key of the web content article
2916            * @param version the web content article's version
2917            * @param content the HTML content wrapped in XML. For more information,
2918            see the content example in the class description for {@link
2919            JournalArticleLocalServiceImpl}.
2920            * @return the updated web content article
2921            * @throws PortalException if a matching web content article could not be
2922            found
2923            * @throws SystemException if a system exception occurred
2924            */
2925            public com.liferay.portlet.journal.model.JournalArticle updateContent(
2926                    long groupId, java.lang.String articleId, double version,
2927                    java.lang.String content)
2928                    throws com.liferay.portal.kernel.exception.PortalException,
2929                            com.liferay.portal.kernel.exception.SystemException;
2930    
2931            /**
2932            * Updates the workflow status of the web content article.
2933            *
2934            * @param userId the primary key of the user updating the web content
2935            article's status
2936            * @param article the web content article
2937            * @param status the web content article's workflow status. For more
2938            information see {@link WorkflowConstants} for constants starting
2939            with the "STATUS_" prefix.
2940            * @param articleURL the web content article's accessible URL
2941            * @param workflowContext the web content article's configured workflow
2942            context
2943            * @param serviceContext the service context to be applied. Can set the
2944            modification date, status date, and portlet preferences. With
2945            respect to social activities, by setting the service context's
2946            command to {@link
2947            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
2948            is considered a web content update activity; otherwise it is
2949            considered a web content add activity.
2950            * @return the updated web content article
2951            * @throws PortalException if a portal exception occurred
2952            * @throws SystemException if a system exception occurred
2953            */
2954            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
2955                    long userId, com.liferay.portlet.journal.model.JournalArticle article,
2956                    int status, java.lang.String articleURL,
2957                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
2958                    com.liferay.portal.service.ServiceContext serviceContext)
2959                    throws com.liferay.portal.kernel.exception.PortalException,
2960                            com.liferay.portal.kernel.exception.SystemException;
2961    
2962            /**
2963            * Updates the workflow status of the web content article matching the class
2964            * PK.
2965            *
2966            * @param userId the primary key of the user updating the web content
2967            article's status
2968            * @param classPK the primary key of the DDM structure, if the web content
2969            article is related to a DDM structure, the primary key of the
2970            class associated with the article, or <code>0</code> otherwise
2971            * @param status the web content article's workflow status. For more
2972            information see {@link WorkflowConstants} for constants starting
2973            with the "STATUS_" prefix.
2974            * @param workflowContext the web content article's configured workflow
2975            * @param serviceContext the service context to be applied. Can set the
2976            modification date, portlet preferences, and can set whether to
2977            add the default command update for the web content article.
2978            * @return the updated web content article
2979            * @throws PortalException if a matching web content article could not be
2980            found or if a portal exception occurred
2981            * @throws SystemException if a system exception occurred
2982            */
2983            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
2984                    long userId, long classPK, int status,
2985                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
2986                    com.liferay.portal.service.ServiceContext serviceContext)
2987                    throws com.liferay.portal.kernel.exception.PortalException,
2988                            com.liferay.portal.kernel.exception.SystemException;
2989    
2990            /**
2991            * Updates the workflow status of the web content article matching the
2992            * group, article ID, and version.
2993            *
2994            * @param userId the primary key of the user updating the web content
2995            article's status
2996            * @param groupId the primary key of the web content article's group
2997            * @param articleId the primary key of the web content article
2998            * @param version the web content article's version
2999            * @param status the web content article's workflow status. For more
3000            information see {@link WorkflowConstants} for constants starting
3001            with the "STATUS_" prefix.
3002            * @param articleURL the web content article's accessible URL
3003            * @param workflowContext the web content article's configured workflow
3004            * @param serviceContext the service context to be applied. Can set the
3005            modification date, portlet preferences, and can set whether to
3006            add the default command update for the web content article.
3007            * @return the updated web content article
3008            * @throws PortalException if a matching web content article could not be
3009            found or if a portal exception occurred
3010            * @throws SystemException if a system exception occurred
3011            */
3012            public com.liferay.portlet.journal.model.JournalArticle updateStatus(
3013                    long userId, long groupId, java.lang.String articleId, double version,
3014                    int status, java.lang.String articleURL,
3015                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext,
3016                    com.liferay.portal.service.ServiceContext serviceContext)
3017                    throws com.liferay.portal.kernel.exception.PortalException,
3018                            com.liferay.portal.kernel.exception.SystemException;
3019    
3020            /**
3021            * Updates the web content articles matching the group, class name ID, and
3022            * DDM template key, replacing the DDM template key with a new one.
3023            *
3024            * @param groupId the primary key of the web content article's group
3025            * @param classNameId the primary key of the DDMStructure class if the web
3026            content article is related to a DDM structure, the primary key of
3027            the class name associated with the article, or {@link
3028            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
3029            * @param oldDDMTemplateKey the primary key of the web content article's
3030            old DDM template
3031            * @param newDDMTemplateKey the primary key of the web content article's
3032            new DDM template
3033            * @throws SystemException if a system exception occurred
3034            */
3035            public void updateTemplateId(long groupId, long classNameId,
3036                    java.lang.String oldDDMTemplateKey, java.lang.String newDDMTemplateKey)
3037                    throws com.liferay.portal.kernel.exception.SystemException;
3038    }