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