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