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.messageboards.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 MBThread. 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 MBThreadLocalServiceUtil
037     * @see com.liferay.portlet.messageboards.service.base.MBThreadLocalServiceBaseImpl
038     * @see com.liferay.portlet.messageboards.service.impl.MBThreadLocalServiceImpl
039     * @generated
040     */
041    @ProviderType
042    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
043            PortalException.class, SystemException.class})
044    public interface MBThreadLocalService extends BaseLocalService,
045            PersistedModelLocalService {
046            /*
047             * NOTE FOR DEVELOPERS:
048             *
049             * Never modify or reference this interface directly. Always use {@link MBThreadLocalServiceUtil} to access the message boards thread local service. Add custom service methods to {@link com.liferay.portlet.messageboards.service.impl.MBThreadLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
050             */
051    
052            /**
053            * Adds the message boards thread to the database. Also notifies the appropriate model listeners.
054            *
055            * @param mbThread the message boards thread
056            * @return the message boards thread that was added
057            */
058            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
059            public com.liferay.portlet.messageboards.model.MBThread addMBThread(
060                    com.liferay.portlet.messageboards.model.MBThread mbThread);
061    
062            public com.liferay.portlet.messageboards.model.MBThread addThread(
063                    long categoryId,
064                    com.liferay.portlet.messageboards.model.MBMessage message,
065                    com.liferay.portal.service.ServiceContext serviceContext)
066                    throws PortalException;
067    
068            /**
069            * Creates a new message boards thread with the primary key. Does not add the message boards thread to the database.
070            *
071            * @param threadId the primary key for the new message boards thread
072            * @return the new message boards thread
073            */
074            public com.liferay.portlet.messageboards.model.MBThread createMBThread(
075                    long threadId);
076    
077            /**
078            * Deletes the message boards thread from the database. Also notifies the appropriate model listeners.
079            *
080            * @param mbThread the message boards thread
081            * @return the message boards thread that was removed
082            */
083            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
084            public com.liferay.portlet.messageboards.model.MBThread deleteMBThread(
085                    com.liferay.portlet.messageboards.model.MBThread mbThread);
086    
087            /**
088            * Deletes the message boards thread with the primary key from the database. Also notifies the appropriate model listeners.
089            *
090            * @param threadId the primary key of the message boards thread
091            * @return the message boards thread that was removed
092            * @throws PortalException if a message boards thread with the primary key could not be found
093            */
094            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
095            public com.liferay.portlet.messageboards.model.MBThread deleteMBThread(
096                    long threadId) throws PortalException;
097    
098            /**
099            * @throws PortalException
100            */
101            @Override
102            public com.liferay.portal.model.PersistedModel deletePersistedModel(
103                    com.liferay.portal.model.PersistedModel persistedModel)
104                    throws PortalException;
105    
106            @com.liferay.portal.kernel.systemevent.SystemEvent(action = SystemEventConstants.ACTION_SKIP, type = SystemEventConstants.TYPE_DELETE)
107            public void deleteThread(
108                    com.liferay.portlet.messageboards.model.MBThread thread)
109                    throws PortalException;
110    
111            public void deleteThread(long threadId) throws PortalException;
112    
113            public void deleteThreads(long groupId, long categoryId)
114                    throws PortalException;
115    
116            public void deleteThreads(long groupId, long categoryId,
117                    boolean includeTrashedEntries) throws PortalException;
118    
119            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
120    
121            /**
122            * Performs a dynamic query on the database and returns the matching rows.
123            *
124            * @param dynamicQuery the dynamic query
125            * @return the matching rows
126            */
127            public <T> java.util.List<T> dynamicQuery(
128                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
129    
130            /**
131            * Performs a dynamic query on the database and returns a range of the matching rows.
132            *
133            * <p>
134            * 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.messageboards.model.impl.MBThreadModelImpl}. 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.
135            * </p>
136            *
137            * @param dynamicQuery the dynamic query
138            * @param start the lower bound of the range of model instances
139            * @param end the upper bound of the range of model instances (not inclusive)
140            * @return the range of matching rows
141            */
142            public <T> java.util.List<T> dynamicQuery(
143                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
144                    int end);
145    
146            /**
147            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
148            *
149            * <p>
150            * 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.messageboards.model.impl.MBThreadModelImpl}. 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.
151            * </p>
152            *
153            * @param dynamicQuery the dynamic query
154            * @param start the lower bound of the range of model instances
155            * @param end the upper bound of the range of model instances (not inclusive)
156            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
157            * @return the ordered range of matching rows
158            */
159            public <T> java.util.List<T> dynamicQuery(
160                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
161                    int end,
162                    com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator);
163    
164            /**
165            * Returns the number of rows matching the dynamic query.
166            *
167            * @param dynamicQuery the dynamic query
168            * @return the number of rows matching the dynamic query
169            */
170            public long dynamicQueryCount(
171                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
172    
173            /**
174            * Returns the number of rows matching the dynamic query.
175            *
176            * @param dynamicQuery the dynamic query
177            * @param projection the projection to apply to the query
178            * @return the number of rows matching the dynamic query
179            */
180            public long dynamicQueryCount(
181                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
182                    com.liferay.portal.kernel.dao.orm.Projection projection);
183    
184            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
185            public com.liferay.portlet.messageboards.model.MBThread fetchMBThread(
186                    long threadId);
187    
188            /**
189            * Returns the message boards thread matching the UUID and group.
190            *
191            * @param uuid the message boards thread's UUID
192            * @param groupId the primary key of the group
193            * @return the matching message boards thread, or <code>null</code> if a matching message boards thread could not be found
194            */
195            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
196            public com.liferay.portlet.messageboards.model.MBThread fetchMBThreadByUuidAndGroupId(
197                    java.lang.String uuid, long groupId);
198    
199            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
200            public com.liferay.portlet.messageboards.model.MBThread fetchThread(
201                    long threadId);
202    
203            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
204            public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery();
205    
206            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
207            public int getCategoryThreadsCount(long groupId, long categoryId, int status);
208    
209            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
210            public com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery getExportActionableDynamicQuery(
211                    com.liferay.portlet.exportimport.lar.PortletDataContext portletDataContext);
212    
213            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
214            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
215                    long groupId,
216                    com.liferay.portal.kernel.dao.orm.QueryDefinition<com.liferay.portlet.messageboards.model.MBThread> queryDefinition);
217    
218            /**
219            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreads(long,
220            QueryDefinition)}
221            */
222            @java.lang.Deprecated
223            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
224            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
225                    long groupId, int status, int start, int end);
226    
227            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
228            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
229                    long groupId, long userId,
230                    com.liferay.portal.kernel.dao.orm.QueryDefinition<com.liferay.portlet.messageboards.model.MBThread> queryDefinition);
231    
232            /**
233            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreads(long, long,
234            QueryDefinition)}
235            */
236            @java.lang.Deprecated
237            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
238            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
239                    long groupId, long userId, int status, int start, int end);
240    
241            /**
242            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreads(long, long,
243            boolean, boolean, QueryDefinition)}
244            */
245            @java.lang.Deprecated
246            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
247            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
248                    long groupId, long userId, int status, boolean subscribed,
249                    boolean includeAnonymous, int start, int end);
250    
251            /**
252            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreads(long, long,
253            boolean, QueryDefinition)}
254            */
255            @java.lang.Deprecated
256            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
257            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
258                    long groupId, long userId, int status, boolean subscribed, int start,
259                    int end);
260    
261            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
262            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
263                    long groupId, long userId, boolean subscribed,
264                    boolean includeAnonymous,
265                    com.liferay.portal.kernel.dao.orm.QueryDefinition<com.liferay.portlet.messageboards.model.MBThread> queryDefinition);
266    
267            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
268            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
269                    long groupId, long userId, boolean subscribed,
270                    com.liferay.portal.kernel.dao.orm.QueryDefinition<com.liferay.portlet.messageboards.model.MBThread> queryDefinition);
271    
272            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
273            public int getGroupThreadsCount(long groupId,
274                    com.liferay.portal.kernel.dao.orm.QueryDefinition<com.liferay.portlet.messageboards.model.MBThread> queryDefinition);
275    
276            /**
277            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreadsCount(long,
278            QueryDefinition)}
279            */
280            @java.lang.Deprecated
281            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
282            public int getGroupThreadsCount(long groupId, int status);
283    
284            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
285            public int getGroupThreadsCount(long groupId, long userId,
286                    com.liferay.portal.kernel.dao.orm.QueryDefinition<com.liferay.portlet.messageboards.model.MBThread> queryDefinition);
287    
288            /**
289            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreadsCount(long,
290            long, QueryDefinition)}
291            */
292            @java.lang.Deprecated
293            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
294            public int getGroupThreadsCount(long groupId, long userId, int status);
295    
296            /**
297            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreadsCount(long,
298            long, boolean, QueryDefinition)}
299            */
300            @java.lang.Deprecated
301            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
302            public int getGroupThreadsCount(long groupId, long userId, int status,
303                    boolean subscribed);
304    
305            /**
306            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreadsCount(long,
307            long, boolean, boolean, QueryDefinition)}
308            */
309            @java.lang.Deprecated
310            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
311            public int getGroupThreadsCount(long groupId, long userId, int status,
312                    boolean subscribed, boolean includeAnonymous);
313    
314            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
315            public int getGroupThreadsCount(long groupId, long userId,
316                    boolean subscribed, boolean includeAnonymous,
317                    com.liferay.portal.kernel.dao.orm.QueryDefinition<com.liferay.portlet.messageboards.model.MBThread> queryDefinition);
318    
319            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
320            public int getGroupThreadsCount(long groupId, long userId,
321                    boolean subscribed,
322                    com.liferay.portal.kernel.dao.orm.QueryDefinition<com.liferay.portlet.messageboards.model.MBThread> queryDefinition);
323    
324            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
325            public com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
326    
327            /**
328            * Returns the message boards thread with the primary key.
329            *
330            * @param threadId the primary key of the message boards thread
331            * @return the message boards thread
332            * @throws PortalException if a message boards thread with the primary key could not be found
333            */
334            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
335            public com.liferay.portlet.messageboards.model.MBThread getMBThread(
336                    long threadId) throws PortalException;
337    
338            /**
339            * Returns the message boards thread matching the UUID and group.
340            *
341            * @param uuid the message boards thread's UUID
342            * @param groupId the primary key of the group
343            * @return the matching message boards thread
344            * @throws PortalException if a matching message boards thread could not be found
345            */
346            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
347            public com.liferay.portlet.messageboards.model.MBThread getMBThreadByUuidAndGroupId(
348                    java.lang.String uuid, long groupId) throws PortalException;
349    
350            /**
351            * Returns a range of all the message boards threads.
352            *
353            * <p>
354            * 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.messageboards.model.impl.MBThreadModelImpl}. 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.
355            * </p>
356            *
357            * @param start the lower bound of the range of message boards threads
358            * @param end the upper bound of the range of message boards threads (not inclusive)
359            * @return the range of message boards threads
360            */
361            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
362            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getMBThreads(
363                    int start, int end);
364    
365            /**
366            * Returns all the message boards threads matching the UUID and company.
367            *
368            * @param uuid the UUID of the message boards threads
369            * @param companyId the primary key of the company
370            * @return the matching message boards threads, or an empty list if no matches were found
371            */
372            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
373            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getMBThreadsByUuidAndCompanyId(
374                    java.lang.String uuid, long companyId);
375    
376            /**
377            * Returns a range of message boards threads matching the UUID and company.
378            *
379            * @param uuid the UUID of the message boards threads
380            * @param companyId the primary key of the company
381            * @param start the lower bound of the range of message boards threads
382            * @param end the upper bound of the range of message boards threads (not inclusive)
383            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
384            * @return the range of matching message boards threads, or an empty list if no matches were found
385            */
386            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
387            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getMBThreadsByUuidAndCompanyId(
388                    java.lang.String uuid, long companyId, int start, int end,
389                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.messageboards.model.MBThread> orderByComparator);
390    
391            /**
392            * Returns the number of message boards threads.
393            *
394            * @return the number of message boards threads
395            */
396            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
397            public int getMBThreadsCount();
398    
399            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
400            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getNoAssetThreads();
401    
402            /**
403            * Returns the OSGi service identifier.
404            *
405            * @return the OSGi service identifier
406            */
407            public java.lang.String getOSGiServiceIdentifier();
408    
409            @Override
410            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
411            public com.liferay.portal.model.PersistedModel getPersistedModel(
412                    java.io.Serializable primaryKeyObj) throws PortalException;
413    
414            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
415            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getPriorityThreads(
416                    long categoryId, double priority) throws PortalException;
417    
418            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
419            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getPriorityThreads(
420                    long categoryId, double priority, boolean inherit)
421                    throws PortalException;
422    
423            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
424            public com.liferay.portlet.messageboards.model.MBThread getThread(
425                    long threadId) throws PortalException;
426    
427            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
428            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getThreads(
429                    long groupId, long categoryId, int status, int start, int end);
430    
431            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
432            public int getThreadsCount(long groupId, long categoryId, int status);
433    
434            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
435            public boolean hasAnswerMessage(long threadId);
436    
437            @com.liferay.portal.kernel.increment.BufferedIncrement(configuration = "MBThread", incrementClass = com.liferay.portal.kernel.increment.NumberIncrement.class)
438            public void incrementViewCounter(long threadId, int increment)
439                    throws PortalException;
440    
441            public void moveDependentsToTrash(long groupId, long threadId,
442                    long trashEntryId) throws PortalException;
443    
444            public com.liferay.portlet.messageboards.model.MBThread moveThread(
445                    long groupId, long categoryId, long threadId) throws PortalException;
446    
447            public com.liferay.portlet.messageboards.model.MBThread moveThreadFromTrash(
448                    long userId, long categoryId, long threadId) throws PortalException;
449    
450            public com.liferay.portlet.messageboards.model.MBThread moveThreadToTrash(
451                    long userId, com.liferay.portlet.messageboards.model.MBThread thread)
452                    throws PortalException;
453    
454            public com.liferay.portlet.messageboards.model.MBThread moveThreadToTrash(
455                    long userId, long threadId) throws PortalException;
456    
457            public void moveThreadsToTrash(long groupId, long userId)
458                    throws PortalException;
459    
460            public void restoreDependentsFromTrash(long groupId, long threadId)
461                    throws PortalException;
462    
463            /**
464            * @deprecated As of 7.0.0, replaced by {@link
465            #restoreDependentsFromTrash(long, long)}
466            */
467            @java.lang.Deprecated
468            public void restoreDependentsFromTrash(long groupId, long threadId,
469                    long trashEntryId) throws PortalException;
470    
471            public void restoreThreadFromTrash(long userId, long threadId)
472                    throws PortalException;
473    
474            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
475            public com.liferay.portal.kernel.search.Hits search(long groupId,
476                    long userId, long creatorUserId, long startDate, long endDate,
477                    int status, int start, int end) throws PortalException;
478    
479            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
480            public com.liferay.portal.kernel.search.Hits search(long groupId,
481                    long userId, long creatorUserId, int status, int start, int end)
482                    throws PortalException;
483    
484            public com.liferay.portlet.messageboards.model.MBThread splitThread(
485                    long userId, long messageId, java.lang.String subject,
486                    com.liferay.portal.service.ServiceContext serviceContext)
487                    throws PortalException;
488    
489            /**
490            * Updates the message boards thread in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
491            *
492            * @param mbThread the message boards thread
493            * @return the message boards thread that was updated
494            */
495            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
496            public com.liferay.portlet.messageboards.model.MBThread updateMBThread(
497                    com.liferay.portlet.messageboards.model.MBThread mbThread);
498    
499            public com.liferay.portlet.messageboards.model.MBThread updateMessageCount(
500                    long threadId);
501    
502            public void updateQuestion(long threadId, boolean question)
503                    throws PortalException;
504    
505            public com.liferay.portlet.messageboards.model.MBThread updateStatus(
506                    long userId, long threadId, int status) throws PortalException;
507    
508            /**
509            * @deprecated As of 6.2.0, replaced by {@link #incrementViewCounter(long,
510            int)}
511            */
512            @java.lang.Deprecated
513            public com.liferay.portlet.messageboards.model.MBThread updateThread(
514                    long threadId, int viewCount) throws PortalException;
515    }