001    /**
002     * Copyright (c) 2000-2012 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.PersistedModelLocalService;
023    
024    /**
025     * The interface for the message boards thread local service.
026     *
027     * <p>
028     * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
029     * </p>
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 PersistedModelLocalService {
040            /*
041             * NOTE FOR DEVELOPERS:
042             *
043             * 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.
044             */
045    
046            /**
047            * Adds the message boards thread to the database. Also notifies the appropriate model listeners.
048            *
049            * @param mbThread the message boards thread
050            * @return the message boards thread that was added
051            * @throws SystemException if a system exception occurred
052            */
053            public com.liferay.portlet.messageboards.model.MBThread addMBThread(
054                    com.liferay.portlet.messageboards.model.MBThread mbThread)
055                    throws com.liferay.portal.kernel.exception.SystemException;
056    
057            /**
058            * Creates a new message boards thread with the primary key. Does not add the message boards thread to the database.
059            *
060            * @param threadId the primary key for the new message boards thread
061            * @return the new message boards thread
062            */
063            public com.liferay.portlet.messageboards.model.MBThread createMBThread(
064                    long threadId);
065    
066            /**
067            * Deletes the message boards thread with the primary key from the database. Also notifies the appropriate model listeners.
068            *
069            * @param threadId the primary key of the message boards thread
070            * @throws PortalException if a message boards thread with the primary key could not be found
071            * @throws SystemException if a system exception occurred
072            */
073            public void deleteMBThread(long threadId)
074                    throws com.liferay.portal.kernel.exception.PortalException,
075                            com.liferay.portal.kernel.exception.SystemException;
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            * @throws SystemException if a system exception occurred
082            */
083            public void deleteMBThread(
084                    com.liferay.portlet.messageboards.model.MBThread mbThread)
085                    throws com.liferay.portal.kernel.exception.SystemException;
086    
087            /**
088            * Performs a dynamic query on the database and returns the matching rows.
089            *
090            * @param dynamicQuery the dynamic query
091            * @return the matching rows
092            * @throws SystemException if a system exception occurred
093            */
094            @SuppressWarnings("rawtypes")
095            public java.util.List dynamicQuery(
096                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
097                    throws com.liferay.portal.kernel.exception.SystemException;
098    
099            /**
100            * Performs a dynamic query on the database and returns a range of the matching rows.
101            *
102            * <p>
103            * 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.
104            * </p>
105            *
106            * @param dynamicQuery the dynamic query
107            * @param start the lower bound of the range of model instances
108            * @param end the upper bound of the range of model instances (not inclusive)
109            * @return the range of matching rows
110            * @throws SystemException if a system exception occurred
111            */
112            @SuppressWarnings("rawtypes")
113            public java.util.List dynamicQuery(
114                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
115                    int end) throws com.liferay.portal.kernel.exception.SystemException;
116    
117            /**
118            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
119            *
120            * <p>
121            * 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.
122            * </p>
123            *
124            * @param dynamicQuery the dynamic query
125            * @param start the lower bound of the range of model instances
126            * @param end the upper bound of the range of model instances (not inclusive)
127            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
128            * @return the ordered range of matching rows
129            * @throws SystemException if a system exception occurred
130            */
131            @SuppressWarnings("rawtypes")
132            public java.util.List dynamicQuery(
133                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
134                    int end,
135                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
136                    throws com.liferay.portal.kernel.exception.SystemException;
137    
138            /**
139            * Returns the number of rows that match the dynamic query.
140            *
141            * @param dynamicQuery the dynamic query
142            * @return the number of rows that match the dynamic query
143            * @throws SystemException if a system exception occurred
144            */
145            public long dynamicQueryCount(
146                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
147                    throws com.liferay.portal.kernel.exception.SystemException;
148    
149            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
150            public com.liferay.portlet.messageboards.model.MBThread fetchMBThread(
151                    long threadId)
152                    throws com.liferay.portal.kernel.exception.SystemException;
153    
154            /**
155            * Returns the message boards thread with the primary key.
156            *
157            * @param threadId the primary key of the message boards thread
158            * @return the message boards thread
159            * @throws PortalException if a message boards thread with the primary key could not be found
160            * @throws SystemException if a system exception occurred
161            */
162            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
163            public com.liferay.portlet.messageboards.model.MBThread getMBThread(
164                    long threadId)
165                    throws com.liferay.portal.kernel.exception.PortalException,
166                            com.liferay.portal.kernel.exception.SystemException;
167    
168            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
169            public com.liferay.portal.model.PersistedModel getPersistedModel(
170                    java.io.Serializable primaryKeyObj)
171                    throws com.liferay.portal.kernel.exception.PortalException,
172                            com.liferay.portal.kernel.exception.SystemException;
173    
174            /**
175            * Returns a range of all the message boards threads.
176            *
177            * <p>
178            * 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.
179            * </p>
180            *
181            * @param start the lower bound of the range of message boards threads
182            * @param end the upper bound of the range of message boards threads (not inclusive)
183            * @return the range of message boards threads
184            * @throws SystemException if a system exception occurred
185            */
186            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
187            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getMBThreads(
188                    int start, int end)
189                    throws com.liferay.portal.kernel.exception.SystemException;
190    
191            /**
192            * Returns the number of message boards threads.
193            *
194            * @return the number of message boards threads
195            * @throws SystemException if a system exception occurred
196            */
197            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
198            public int getMBThreadsCount()
199                    throws com.liferay.portal.kernel.exception.SystemException;
200    
201            /**
202            * Updates the message boards thread in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
203            *
204            * @param mbThread the message boards thread
205            * @return the message boards thread that was updated
206            * @throws SystemException if a system exception occurred
207            */
208            public com.liferay.portlet.messageboards.model.MBThread updateMBThread(
209                    com.liferay.portlet.messageboards.model.MBThread mbThread)
210                    throws com.liferay.portal.kernel.exception.SystemException;
211    
212            /**
213            * Updates the message boards thread in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
214            *
215            * @param mbThread the message boards thread
216            * @param merge whether to merge the message boards thread with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
217            * @return the message boards thread that was updated
218            * @throws SystemException if a system exception occurred
219            */
220            public com.liferay.portlet.messageboards.model.MBThread updateMBThread(
221                    com.liferay.portlet.messageboards.model.MBThread mbThread, boolean merge)
222                    throws com.liferay.portal.kernel.exception.SystemException;
223    
224            /**
225            * Returns the Spring bean ID for this bean.
226            *
227            * @return the Spring bean ID for this bean
228            */
229            public java.lang.String getBeanIdentifier();
230    
231            /**
232            * Sets the Spring bean ID for this bean.
233            *
234            * @param beanIdentifier the Spring bean ID for this bean
235            */
236            public void setBeanIdentifier(java.lang.String beanIdentifier);
237    
238            public com.liferay.portlet.messageboards.model.MBThread addThread(
239                    long categoryId,
240                    com.liferay.portlet.messageboards.model.MBMessage message)
241                    throws com.liferay.portal.kernel.exception.PortalException,
242                            com.liferay.portal.kernel.exception.SystemException;
243    
244            public void deleteThread(long threadId)
245                    throws com.liferay.portal.kernel.exception.PortalException,
246                            com.liferay.portal.kernel.exception.SystemException;
247    
248            public void deleteThread(
249                    com.liferay.portlet.messageboards.model.MBThread thread)
250                    throws com.liferay.portal.kernel.exception.PortalException,
251                            com.liferay.portal.kernel.exception.SystemException;
252    
253            public void deleteThreads(long groupId, long categoryId)
254                    throws com.liferay.portal.kernel.exception.PortalException,
255                            com.liferay.portal.kernel.exception.SystemException;
256    
257            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
258            public com.liferay.portlet.messageboards.model.MBThread fetchThread(
259                    long threadId)
260                    throws com.liferay.portal.kernel.exception.SystemException;
261    
262            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
263            public int getCategoryThreadsCount(long groupId, long categoryId, int status)
264                    throws com.liferay.portal.kernel.exception.SystemException;
265    
266            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
267            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
268                    long groupId, int status, int start, int end)
269                    throws com.liferay.portal.kernel.exception.SystemException;
270    
271            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
272            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
273                    long groupId, long userId, int status, boolean subscribed,
274                    boolean includeAnonymous, int start, int end)
275                    throws com.liferay.portal.kernel.exception.PortalException,
276                            com.liferay.portal.kernel.exception.SystemException;
277    
278            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
279            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
280                    long groupId, long userId, int status, boolean subscribed, int start,
281                    int end)
282                    throws com.liferay.portal.kernel.exception.PortalException,
283                            com.liferay.portal.kernel.exception.SystemException;
284    
285            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
286            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getGroupThreads(
287                    long groupId, long userId, int status, int start, int end)
288                    throws com.liferay.portal.kernel.exception.PortalException,
289                            com.liferay.portal.kernel.exception.SystemException;
290    
291            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
292            public int getGroupThreadsCount(long groupId, int status)
293                    throws com.liferay.portal.kernel.exception.SystemException;
294    
295            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
296            public int getGroupThreadsCount(long groupId, long userId, int status)
297                    throws com.liferay.portal.kernel.exception.SystemException;
298    
299            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
300            public int getGroupThreadsCount(long groupId, long userId, int status,
301                    boolean subscribed)
302                    throws com.liferay.portal.kernel.exception.SystemException;
303    
304            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
305            public int getGroupThreadsCount(long groupId, long userId, int status,
306                    boolean subscribed, boolean includeAnonymous)
307                    throws com.liferay.portal.kernel.exception.SystemException;
308    
309            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
310            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getNoAssetThreads()
311                    throws com.liferay.portal.kernel.exception.SystemException;
312    
313            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
314            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getPriorityThreads(
315                    long categoryId, double priority)
316                    throws com.liferay.portal.kernel.exception.PortalException,
317                            com.liferay.portal.kernel.exception.SystemException;
318    
319            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
320            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getPriorityThreads(
321                    long categoryId, double priority, boolean inherit)
322                    throws com.liferay.portal.kernel.exception.PortalException,
323                            com.liferay.portal.kernel.exception.SystemException;
324    
325            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
326            public com.liferay.portlet.messageboards.model.MBThread getThread(
327                    long threadId)
328                    throws com.liferay.portal.kernel.exception.PortalException,
329                            com.liferay.portal.kernel.exception.SystemException;
330    
331            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
332            public java.util.List<com.liferay.portlet.messageboards.model.MBThread> getThreads(
333                    long groupId, long categoryId, int status, int start, int end)
334                    throws com.liferay.portal.kernel.exception.SystemException;
335    
336            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
337            public int getThreadsCount(long groupId, long categoryId, int status)
338                    throws com.liferay.portal.kernel.exception.SystemException;
339    
340            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
341            public boolean hasAnswerMessage(long threadId)
342                    throws com.liferay.portal.kernel.exception.SystemException;
343    
344            public com.liferay.portlet.messageboards.model.MBThread incrementViewCounter(
345                    long threadId, int increment)
346                    throws com.liferay.portal.kernel.exception.PortalException,
347                            com.liferay.portal.kernel.exception.SystemException;
348    
349            public com.liferay.portlet.messageboards.model.MBThread moveThread(
350                    long groupId, long categoryId, long threadId)
351                    throws com.liferay.portal.kernel.exception.PortalException,
352                            com.liferay.portal.kernel.exception.SystemException;
353    
354            public com.liferay.portlet.messageboards.model.MBThread splitThread(
355                    long messageId, java.lang.String subject,
356                    com.liferay.portal.service.ServiceContext serviceContext)
357                    throws com.liferay.portal.kernel.exception.PortalException,
358                            com.liferay.portal.kernel.exception.SystemException;
359    
360            public void updateQuestion(long threadId, boolean question)
361                    throws com.liferay.portal.kernel.exception.PortalException,
362                            com.liferay.portal.kernel.exception.SystemException;
363    
364            /**
365            * @deprecated {@link #incrementViewCounter(long, int)}
366            */
367            public com.liferay.portlet.messageboards.model.MBThread updateThread(
368                    long threadId, int viewCount)
369                    throws com.liferay.portal.kernel.exception.PortalException,
370                            com.liferay.portal.kernel.exception.SystemException;
371    }