001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.messageboards.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.transaction.Isolation;
020    import com.liferay.portal.kernel.transaction.Propagation;
021    import com.liferay.portal.kernel.transaction.Transactional;
022    import com.liferay.portal.service.BaseLocalService;
023    import com.liferay.portal.service.PersistedModelLocalService;
024    
025    /**
026     * Provides the local service interface for MBThread. Methods of this
027     * service will not have security checks based on the propagated JAAS
028     * credentials because this service can only be accessed from within the same
029     * VM.
030     *
031     * @author Brian Wing Shun Chan
032     * @see MBThreadLocalServiceUtil
033     * @see com.liferay.portlet.messageboards.service.base.MBThreadLocalServiceBaseImpl
034     * @see com.liferay.portlet.messageboards.service.impl.MBThreadLocalServiceImpl
035     * @generated
036     */
037    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
038            PortalException.class, SystemException.class})
039    public interface MBThreadLocalService extends BaseLocalService,
040            PersistedModelLocalService {
041            /*
042             * NOTE FOR DEVELOPERS:
043             *
044             * 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.
045             */
046    
047            /**
048            * Adds the message boards thread to the database. Also notifies the appropriate model listeners.
049            *
050            * @param mbThread the message boards thread
051            * @return the message boards thread that was added
052            * @throws SystemException if a system exception occurred
053            */
054            public com.liferay.portlet.messageboards.model.MBThread addMBThread(
055                    com.liferay.portlet.messageboards.model.MBThread mbThread)
056                    throws com.liferay.portal.kernel.exception.SystemException;
057    
058            /**
059            * Creates a new message boards thread with the primary key. Does not add the message boards thread to the database.
060            *
061            * @param threadId the primary key for the new message boards thread
062            * @return the new message boards thread
063            */
064            public com.liferay.portlet.messageboards.model.MBThread createMBThread(
065                    long threadId);
066    
067            /**
068            * Deletes the message boards thread with the primary key from the database. Also notifies the appropriate model listeners.
069            *
070            * @param threadId the primary key of the message boards thread
071            * @return the message boards thread that was removed
072            * @throws PortalException if a message boards thread with the primary key could not be found
073            * @throws SystemException if a system exception occurred
074            */
075            public com.liferay.portlet.messageboards.model.MBThread deleteMBThread(
076                    long threadId)
077                    throws com.liferay.portal.kernel.exception.PortalException,
078                            com.liferay.portal.kernel.exception.SystemException;
079    
080            /**
081            * Deletes the message boards thread from the database. Also notifies the appropriate model listeners.
082            *
083            * @param mbThread the message boards thread
084            * @return the message boards thread that was removed
085            * @throws SystemException if a system exception occurred
086            */
087            public com.liferay.portlet.messageboards.model.MBThread deleteMBThread(
088                    com.liferay.portlet.messageboards.model.MBThread mbThread)
089                    throws com.liferay.portal.kernel.exception.SystemException;
090    
091            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
092    
093            /**
094            * Performs a dynamic query on the database and returns the matching rows.
095            *
096            * @param dynamicQuery the dynamic query
097            * @return the matching rows
098            * @throws SystemException if a system exception occurred
099            */
100            @SuppressWarnings("rawtypes")
101            public java.util.List dynamicQuery(
102                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
103                    throws com.liferay.portal.kernel.exception.SystemException;
104    
105            /**
106            * Performs a dynamic query on the database and returns a range of the matching rows.
107            *
108            * <p>
109            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.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.
110            * </p>
111            *
112            * @param dynamicQuery the dynamic query
113            * @param start the lower bound of the range of model instances
114            * @param end the upper bound of the range of model instances (not inclusive)
115            * @return the range of matching rows
116            * @throws SystemException if a system exception occurred
117            */
118            @SuppressWarnings("rawtypes")
119            public java.util.List dynamicQuery(
120                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
121                    int end) throws com.liferay.portal.kernel.exception.SystemException;
122    
123            /**
124            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
125            *
126            * <p>
127            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.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.
128            * </p>
129            *
130            * @param dynamicQuery the dynamic query
131            * @param start the lower bound of the range of model instances
132            * @param end the upper bound of the range of model instances (not inclusive)
133            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
134            * @return the ordered range of matching rows
135            * @throws SystemException if a system exception occurred
136            */
137            @SuppressWarnings("rawtypes")
138            public java.util.List dynamicQuery(
139                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
140                    int end,
141                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
142                    throws com.liferay.portal.kernel.exception.SystemException;
143    
144            /**
145            * Returns the number of rows that match the dynamic query.
146            *
147            * @param dynamicQuery the dynamic query
148            * @return the number of rows that match the dynamic query
149            * @throws SystemException if a system exception occurred
150            */
151            public long dynamicQueryCount(
152                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
153                    throws com.liferay.portal.kernel.exception.SystemException;
154    
155            /**
156            * Returns the number of rows that match the dynamic query.
157            *
158            * @param dynamicQuery the dynamic query
159            * @param projection the projection to apply to the query
160            * @return the number of rows that match the dynamic query
161            * @throws SystemException if a system exception occurred
162            */
163            public long dynamicQueryCount(
164                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
165                    com.liferay.portal.kernel.dao.orm.Projection projection)
166                    throws com.liferay.portal.kernel.exception.SystemException;
167    
168            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
169            public com.liferay.portlet.messageboards.model.MBThread fetchMBThread(
170                    long threadId)
171                    throws com.liferay.portal.kernel.exception.SystemException;
172    
173            /**
174            * Returns the message boards thread with the matching UUID and company.
175            *
176            * @param uuid the message boards thread's UUID
177            * @param companyId the primary key of the company
178            * @return the matching message boards thread, or <code>null</code> if a matching message boards thread could not be found
179            * @throws SystemException if a system exception occurred
180            */
181            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
182            public com.liferay.portlet.messageboards.model.MBThread fetchMBThreadByUuidAndCompanyId(
183                    java.lang.String uuid, long companyId)
184                    throws com.liferay.portal.kernel.exception.SystemException;
185    
186            /**
187            * Returns the message boards thread matching the UUID and group.
188            *
189            * @param uuid the message boards thread's UUID
190            * @param groupId the primary key of the group
191            * @return the matching message boards thread, or <code>null</code> if a matching message boards thread could not be found
192            * @throws SystemException if a system exception occurred
193            */
194            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
195            public com.liferay.portlet.messageboards.model.MBThread fetchMBThreadByUuidAndGroupId(
196                    java.lang.String uuid, long groupId)
197                    throws com.liferay.portal.kernel.exception.SystemException;
198    
199            /**
200            * Returns the message boards thread with the primary key.
201            *
202            * @param threadId the primary key of the message boards thread
203            * @return the message boards thread
204            * @throws PortalException if a message boards thread with the primary key could not be found
205            * @throws SystemException if a system exception occurred
206            */
207            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
208            public com.liferay.portlet.messageboards.model.MBThread getMBThread(
209                    long threadId)
210                    throws com.liferay.portal.kernel.exception.PortalException,
211                            com.liferay.portal.kernel.exception.SystemException;
212    
213            @Override
214            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
215            public com.liferay.portal.model.PersistedModel getPersistedModel(
216                    java.io.Serializable primaryKeyObj)
217                    throws com.liferay.portal.kernel.exception.PortalException,
218                            com.liferay.portal.kernel.exception.SystemException;
219    
220            /**
221            * Returns the message boards thread with the matching UUID and company.
222            *
223            * @param uuid the message boards thread's UUID
224            * @param companyId the primary key of the company
225            * @return the matching message boards thread
226            * @throws PortalException if a matching message boards thread could not be found
227            * @throws SystemException if a system exception occurred
228            */
229            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
230            public com.liferay.portlet.messageboards.model.MBThread getMBThreadByUuidAndCompanyId(
231                    java.lang.String uuid, long companyId)
232                    throws com.liferay.portal.kernel.exception.PortalException,
233                            com.liferay.portal.kernel.exception.SystemException;
234    
235            /**
236            * Returns the message boards thread matching the UUID and group.
237            *
238            * @param uuid the message boards thread's UUID
239            * @param groupId the primary key of the group
240            * @return the matching message boards thread
241            * @throws PortalException if a matching message boards thread could not be found
242            * @throws SystemException if a system exception occurred
243            */
244            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
245            public com.liferay.portlet.messageboards.model.MBThread getMBThreadByUuidAndGroupId(
246                    java.lang.String uuid, long groupId)
247                    throws com.liferay.portal.kernel.exception.PortalException,
248                            com.liferay.portal.kernel.exception.SystemException;
249    
250            /**
251            * Returns a range of all the message boards threads.
252            *
253            * <p>
254            * 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.
255            * </p>
256            *
257            * @param start the lower bound of the range of message boards threads
258            * @param end the upper bound of the range of message boards threads (not inclusive)
259            * @return the range of message boards threads
260            * @throws SystemException if a system exception occurred
261            */
262            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
263            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getMBThreads(
264                    int start, int end)
265                    throws com.liferay.portal.kernel.exception.SystemException;
266    
267            /**
268            * Returns the number of message boards threads.
269            *
270            * @return the number of message boards threads
271            * @throws SystemException if a system exception occurred
272            */
273            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
274            public int getMBThreadsCount()
275                    throws com.liferay.portal.kernel.exception.SystemException;
276    
277            /**
278            * Updates the message boards thread in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
279            *
280            * @param mbThread the message boards thread
281            * @return the message boards thread that was updated
282            * @throws SystemException if a system exception occurred
283            */
284            public com.liferay.portlet.messageboards.model.MBThread updateMBThread(
285                    com.liferay.portlet.messageboards.model.MBThread mbThread)
286                    throws com.liferay.portal.kernel.exception.SystemException;
287    
288            /**
289            * Returns the Spring bean ID for this bean.
290            *
291            * @return the Spring bean ID for this bean
292            */
293            public java.lang.String getBeanIdentifier();
294    
295            /**
296            * Sets the Spring bean ID for this bean.
297            *
298            * @param beanIdentifier the Spring bean ID for this bean
299            */
300            public void setBeanIdentifier(java.lang.String beanIdentifier);
301    
302            public com.liferay.portlet.messageboards.model.MBThread addThread(
303                    long categoryId,
304                    com.liferay.portlet.messageboards.model.MBMessage message,
305                    com.liferay.portal.service.ServiceContext serviceContext)
306                    throws com.liferay.portal.kernel.exception.PortalException,
307                            com.liferay.portal.kernel.exception.SystemException;
308    
309            public void deleteThread(long threadId)
310                    throws com.liferay.portal.kernel.exception.PortalException,
311                            com.liferay.portal.kernel.exception.SystemException;
312    
313            public void deleteThread(
314                    com.liferay.portlet.messageboards.model.MBThread thread)
315                    throws com.liferay.portal.kernel.exception.PortalException,
316                            com.liferay.portal.kernel.exception.SystemException;
317    
318            public void deleteThreads(long groupId, long categoryId)
319                    throws com.liferay.portal.kernel.exception.PortalException,
320                            com.liferay.portal.kernel.exception.SystemException;
321    
322            public void deleteThreads(long groupId, long categoryId,
323                    boolean includeTrashedEntries)
324                    throws com.liferay.portal.kernel.exception.PortalException,
325                            com.liferay.portal.kernel.exception.SystemException;
326    
327            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
328            public com.liferay.portlet.messageboards.model.MBThread fetchThread(
329                    long threadId)
330                    throws com.liferay.portal.kernel.exception.SystemException;
331    
332            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
333            public int getCategoryThreadsCount(long groupId, long categoryId, int status)
334                    throws com.liferay.portal.kernel.exception.SystemException;
335    
336            /**
337            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreads(long,
338            QueryDefinition)}
339            */
340            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
341            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
342                    long groupId, int status, int start, int end)
343                    throws com.liferay.portal.kernel.exception.SystemException;
344    
345            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
346            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
347                    long groupId, long userId, boolean subscribed,
348                    boolean includeAnonymous,
349                    com.liferay.portal.kernel.dao.orm.QueryDefinition queryDefinition)
350                    throws com.liferay.portal.kernel.exception.SystemException;
351    
352            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
353            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
354                    long groupId, long userId, boolean subscribed,
355                    com.liferay.portal.kernel.dao.orm.QueryDefinition queryDefinition)
356                    throws com.liferay.portal.kernel.exception.SystemException;
357    
358            /**
359            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreads(long, long,
360            boolean, boolean, QueryDefinition)}
361            */
362            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
363            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
364                    long groupId, long userId, int status, boolean subscribed,
365                    boolean includeAnonymous, int start, int end)
366                    throws com.liferay.portal.kernel.exception.SystemException;
367    
368            /**
369            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreads(long, long,
370            boolean, QueryDefinition)}
371            */
372            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
373            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
374                    long groupId, long userId, int status, boolean subscribed, int start,
375                    int end) throws com.liferay.portal.kernel.exception.SystemException;
376    
377            /**
378            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreads(long, long,
379            QueryDefinition)}
380            */
381            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
382            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
383                    long groupId, long userId, int status, int start, int end)
384                    throws com.liferay.portal.kernel.exception.SystemException;
385    
386            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
387            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
388                    long groupId, long userId,
389                    com.liferay.portal.kernel.dao.orm.QueryDefinition queryDefinition)
390                    throws com.liferay.portal.kernel.exception.SystemException;
391    
392            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
393            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
394                    long groupId,
395                    com.liferay.portal.kernel.dao.orm.QueryDefinition queryDefinition)
396                    throws com.liferay.portal.kernel.exception.SystemException;
397    
398            /**
399            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreadsCount(long,
400            QueryDefinition)}
401            */
402            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
403            public int getGroupThreadsCount(long groupId, int status)
404                    throws com.liferay.portal.kernel.exception.SystemException;
405    
406            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
407            public int getGroupThreadsCount(long groupId, long userId,
408                    boolean subscribed, boolean includeAnonymous,
409                    com.liferay.portal.kernel.dao.orm.QueryDefinition queryDefinition)
410                    throws com.liferay.portal.kernel.exception.SystemException;
411    
412            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
413            public int getGroupThreadsCount(long groupId, long userId,
414                    boolean subscribed,
415                    com.liferay.portal.kernel.dao.orm.QueryDefinition queryDefinition)
416                    throws com.liferay.portal.kernel.exception.SystemException;
417    
418            /**
419            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreadsCount(long,
420            long, QueryDefinition)}
421            */
422            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
423            public int getGroupThreadsCount(long groupId, long userId, int status)
424                    throws com.liferay.portal.kernel.exception.SystemException;
425    
426            /**
427            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreadsCount(long,
428            long, boolean, QueryDefinition)}
429            */
430            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
431            public int getGroupThreadsCount(long groupId, long userId, int status,
432                    boolean subscribed)
433                    throws com.liferay.portal.kernel.exception.SystemException;
434    
435            /**
436            * @deprecated As of 6.2.0, replaced by {@link #getGroupThreadsCount(long,
437            long, boolean, boolean, QueryDefinition)}
438            */
439            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
440            public int getGroupThreadsCount(long groupId, long userId, int status,
441                    boolean subscribed, boolean includeAnonymous)
442                    throws com.liferay.portal.kernel.exception.SystemException;
443    
444            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
445            public int getGroupThreadsCount(long groupId, long userId,
446                    com.liferay.portal.kernel.dao.orm.QueryDefinition queryDefinition)
447                    throws com.liferay.portal.kernel.exception.SystemException;
448    
449            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
450            public int getGroupThreadsCount(long groupId,
451                    com.liferay.portal.kernel.dao.orm.QueryDefinition queryDefinition)
452                    throws com.liferay.portal.kernel.exception.SystemException;
453    
454            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
455            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getNoAssetThreads()
456                    throws com.liferay.portal.kernel.exception.SystemException;
457    
458            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
459            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getPriorityThreads(
460                    long categoryId, double priority)
461                    throws com.liferay.portal.kernel.exception.PortalException,
462                            com.liferay.portal.kernel.exception.SystemException;
463    
464            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
465            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getPriorityThreads(
466                    long categoryId, double priority, boolean inherit)
467                    throws com.liferay.portal.kernel.exception.PortalException,
468                            com.liferay.portal.kernel.exception.SystemException;
469    
470            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
471            public com.liferay.portlet.messageboards.model.MBThread getThread(
472                    long threadId)
473                    throws com.liferay.portal.kernel.exception.PortalException,
474                            com.liferay.portal.kernel.exception.SystemException;
475    
476            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
477            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getThreads(
478                    long groupId, long categoryId, int status, int start, int end)
479                    throws com.liferay.portal.kernel.exception.SystemException;
480    
481            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
482            public int getThreadsCount(long groupId, long categoryId, int status)
483                    throws com.liferay.portal.kernel.exception.SystemException;
484    
485            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
486            public boolean hasAnswerMessage(long threadId)
487                    throws com.liferay.portal.kernel.exception.SystemException;
488    
489            public com.liferay.portlet.messageboards.model.MBThread incrementViewCounter(
490                    long threadId, int increment)
491                    throws com.liferay.portal.kernel.exception.PortalException,
492                            com.liferay.portal.kernel.exception.SystemException;
493    
494            public com.liferay.portlet.messageboards.model.MBThread moveThread(
495                    long groupId, long categoryId, long threadId)
496                    throws com.liferay.portal.kernel.exception.PortalException,
497                            com.liferay.portal.kernel.exception.SystemException;
498    
499            public com.liferay.portlet.messageboards.model.MBThread moveThreadFromTrash(
500                    long userId, long categoryId, long threadId)
501                    throws com.liferay.portal.kernel.exception.PortalException,
502                            com.liferay.portal.kernel.exception.SystemException;
503    
504            public void moveThreadsToTrash(long groupId, long userId)
505                    throws com.liferay.portal.kernel.exception.PortalException,
506                            com.liferay.portal.kernel.exception.SystemException;
507    
508            public com.liferay.portlet.messageboards.model.MBThread moveThreadToTrash(
509                    long userId, long threadId)
510                    throws com.liferay.portal.kernel.exception.PortalException,
511                            com.liferay.portal.kernel.exception.SystemException;
512    
513            public com.liferay.portlet.messageboards.model.MBThread moveThreadToTrash(
514                    long userId, com.liferay.portlet.messageboards.model.MBThread thread)
515                    throws com.liferay.portal.kernel.exception.PortalException,
516                            com.liferay.portal.kernel.exception.SystemException;
517    
518            public void restoreThreadFromTrash(long userId, long threadId)
519                    throws com.liferay.portal.kernel.exception.PortalException,
520                            com.liferay.portal.kernel.exception.SystemException;
521    
522            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
523            public com.liferay.portal.kernel.search.Hits search(long groupId,
524                    long userId, long creatorUserId, int status, int start, int end)
525                    throws com.liferay.portal.kernel.exception.PortalException,
526                            com.liferay.portal.kernel.exception.SystemException;
527    
528            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
529            public com.liferay.portal.kernel.search.Hits search(long groupId,
530                    long userId, long creatorUserId, long startDate, long endDate,
531                    int status, int start, int end)
532                    throws com.liferay.portal.kernel.exception.PortalException,
533                            com.liferay.portal.kernel.exception.SystemException;
534    
535            public com.liferay.portlet.messageboards.model.MBThread splitThread(
536                    long messageId, java.lang.String subject,
537                    com.liferay.portal.service.ServiceContext serviceContext)
538                    throws com.liferay.portal.kernel.exception.PortalException,
539                            com.liferay.portal.kernel.exception.SystemException;
540    
541            public void updateQuestion(long threadId, boolean question)
542                    throws com.liferay.portal.kernel.exception.PortalException,
543                            com.liferay.portal.kernel.exception.SystemException;
544    
545            public com.liferay.portlet.messageboards.model.MBThread updateStatus(
546                    long userId, long threadId, int status, int categoryStatus)
547                    throws com.liferay.portal.kernel.exception.PortalException,
548                            com.liferay.portal.kernel.exception.SystemException;
549    
550            /**
551            * @deprecated As of 6.2.0, replaced by {@link #incrementViewCounter(long,
552            int)}
553            */
554            public com.liferay.portlet.messageboards.model.MBThread updateThread(
555                    long threadId, int viewCount)
556                    throws com.liferay.portal.kernel.exception.PortalException,
557                            com.liferay.portal.kernel.exception.SystemException;
558    }