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