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