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