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     * The interface for the message boards category local service.
027     *
028     * <p>
029     * 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.
030     * </p>
031     *
032     * @author Brian Wing Shun Chan
033     * @see MBCategoryLocalServiceUtil
034     * @see com.liferay.portlet.messageboards.service.base.MBCategoryLocalServiceBaseImpl
035     * @see com.liferay.portlet.messageboards.service.impl.MBCategoryLocalServiceImpl
036     * @generated
037     */
038    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
039            PortalException.class, SystemException.class})
040    public interface MBCategoryLocalService extends BaseLocalService,
041            PersistedModelLocalService {
042            /*
043             * NOTE FOR DEVELOPERS:
044             *
045             * Never modify or reference this interface directly. Always use {@link MBCategoryLocalServiceUtil} to access the message boards category local service. Add custom service methods to {@link com.liferay.portlet.messageboards.service.impl.MBCategoryLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
046             */
047    
048            /**
049            * Adds the message boards category to the database. Also notifies the appropriate model listeners.
050            *
051            * @param mbCategory the message boards category
052            * @return the message boards category that was added
053            * @throws SystemException if a system exception occurred
054            */
055            public com.liferay.portlet.messageboards.model.MBCategory addMBCategory(
056                    com.liferay.portlet.messageboards.model.MBCategory mbCategory)
057                    throws com.liferay.portal.kernel.exception.SystemException;
058    
059            /**
060            * Creates a new message boards category with the primary key. Does not add the message boards category to the database.
061            *
062            * @param categoryId the primary key for the new message boards category
063            * @return the new message boards category
064            */
065            public com.liferay.portlet.messageboards.model.MBCategory createMBCategory(
066                    long categoryId);
067    
068            /**
069            * Deletes the message boards category with the primary key from the database. Also notifies the appropriate model listeners.
070            *
071            * @param categoryId the primary key of the message boards category
072            * @return the message boards category that was removed
073            * @throws PortalException if a message boards category with the primary key could not be found
074            * @throws SystemException if a system exception occurred
075            */
076            public com.liferay.portlet.messageboards.model.MBCategory deleteMBCategory(
077                    long categoryId)
078                    throws com.liferay.portal.kernel.exception.PortalException,
079                            com.liferay.portal.kernel.exception.SystemException;
080    
081            /**
082            * Deletes the message boards category from the database. Also notifies the appropriate model listeners.
083            *
084            * @param mbCategory the message boards category
085            * @return the message boards category that was removed
086            * @throws SystemException if a system exception occurred
087            */
088            public com.liferay.portlet.messageboards.model.MBCategory deleteMBCategory(
089                    com.liferay.portlet.messageboards.model.MBCategory mbCategory)
090                    throws com.liferay.portal.kernel.exception.SystemException;
091    
092            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
093    
094            /**
095            * Performs a dynamic query on the database and returns the matching rows.
096            *
097            * @param dynamicQuery the dynamic query
098            * @return the matching rows
099            * @throws SystemException if a system exception occurred
100            */
101            @SuppressWarnings("rawtypes")
102            public java.util.List dynamicQuery(
103                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
104                    throws com.liferay.portal.kernel.exception.SystemException;
105    
106            /**
107            * Performs a dynamic query on the database and returns a range of the matching rows.
108            *
109            * <p>
110            * 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.MBCategoryModelImpl}. 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.
111            * </p>
112            *
113            * @param dynamicQuery the dynamic query
114            * @param start the lower bound of the range of model instances
115            * @param end the upper bound of the range of model instances (not inclusive)
116            * @return the range of matching rows
117            * @throws SystemException if a system exception occurred
118            */
119            @SuppressWarnings("rawtypes")
120            public java.util.List dynamicQuery(
121                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
122                    int end) throws com.liferay.portal.kernel.exception.SystemException;
123    
124            /**
125            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
126            *
127            * <p>
128            * 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.MBCategoryModelImpl}. 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.
129            * </p>
130            *
131            * @param dynamicQuery the dynamic query
132            * @param start the lower bound of the range of model instances
133            * @param end the upper bound of the range of model instances (not inclusive)
134            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
135            * @return the ordered range of matching rows
136            * @throws SystemException if a system exception occurred
137            */
138            @SuppressWarnings("rawtypes")
139            public java.util.List dynamicQuery(
140                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
141                    int end,
142                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
143                    throws com.liferay.portal.kernel.exception.SystemException;
144    
145            /**
146            * Returns the number of rows that match the dynamic query.
147            *
148            * @param dynamicQuery the dynamic query
149            * @return the number of rows that match the dynamic query
150            * @throws SystemException if a system exception occurred
151            */
152            public long dynamicQueryCount(
153                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
154                    throws com.liferay.portal.kernel.exception.SystemException;
155    
156            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
157            public com.liferay.portlet.messageboards.model.MBCategory fetchMBCategory(
158                    long categoryId)
159                    throws com.liferay.portal.kernel.exception.SystemException;
160    
161            /**
162            * Returns the message boards category with the primary key.
163            *
164            * @param categoryId the primary key of the message boards category
165            * @return the message boards category
166            * @throws PortalException if a message boards category with the primary key could not be found
167            * @throws SystemException if a system exception occurred
168            */
169            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
170            public com.liferay.portlet.messageboards.model.MBCategory getMBCategory(
171                    long categoryId)
172                    throws com.liferay.portal.kernel.exception.PortalException,
173                            com.liferay.portal.kernel.exception.SystemException;
174    
175            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
176            public com.liferay.portal.model.PersistedModel getPersistedModel(
177                    java.io.Serializable primaryKeyObj)
178                    throws com.liferay.portal.kernel.exception.PortalException,
179                            com.liferay.portal.kernel.exception.SystemException;
180    
181            /**
182            * Returns the message boards category matching the UUID and group.
183            *
184            * @param uuid the message boards category's UUID
185            * @param groupId the primary key of the group
186            * @return the matching message boards category
187            * @throws PortalException if a matching message boards category could not be found
188            * @throws SystemException if a system exception occurred
189            */
190            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
191            public com.liferay.portlet.messageboards.model.MBCategory getMBCategoryByUuidAndGroupId(
192                    java.lang.String uuid, long groupId)
193                    throws com.liferay.portal.kernel.exception.PortalException,
194                            com.liferay.portal.kernel.exception.SystemException;
195    
196            /**
197            * Returns a range of all the message boards categories.
198            *
199            * <p>
200            * 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.MBCategoryModelImpl}. 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.
201            * </p>
202            *
203            * @param start the lower bound of the range of message boards categories
204            * @param end the upper bound of the range of message boards categories (not inclusive)
205            * @return the range of message boards categories
206            * @throws SystemException if a system exception occurred
207            */
208            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
209            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getMBCategories(
210                    int start, int end)
211                    throws com.liferay.portal.kernel.exception.SystemException;
212    
213            /**
214            * Returns the number of message boards categories.
215            *
216            * @return the number of message boards categories
217            * @throws SystemException if a system exception occurred
218            */
219            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
220            public int getMBCategoriesCount()
221                    throws com.liferay.portal.kernel.exception.SystemException;
222    
223            /**
224            * Updates the message boards category in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
225            *
226            * @param mbCategory the message boards category
227            * @return the message boards category that was updated
228            * @throws SystemException if a system exception occurred
229            */
230            public com.liferay.portlet.messageboards.model.MBCategory updateMBCategory(
231                    com.liferay.portlet.messageboards.model.MBCategory mbCategory)
232                    throws com.liferay.portal.kernel.exception.SystemException;
233    
234            /**
235            * Returns the Spring bean ID for this bean.
236            *
237            * @return the Spring bean ID for this bean
238            */
239            public java.lang.String getBeanIdentifier();
240    
241            /**
242            * Sets the Spring bean ID for this bean.
243            *
244            * @param beanIdentifier the Spring bean ID for this bean
245            */
246            public void setBeanIdentifier(java.lang.String beanIdentifier);
247    
248            public com.liferay.portlet.messageboards.model.MBCategory addCategory(
249                    long userId, long parentCategoryId, java.lang.String name,
250                    java.lang.String description,
251                    com.liferay.portal.service.ServiceContext serviceContext)
252                    throws com.liferay.portal.kernel.exception.PortalException,
253                            com.liferay.portal.kernel.exception.SystemException;
254    
255            public com.liferay.portlet.messageboards.model.MBCategory addCategory(
256                    long userId, long parentCategoryId, java.lang.String name,
257                    java.lang.String description, java.lang.String displayStyle,
258                    java.lang.String emailAddress, java.lang.String inProtocol,
259                    java.lang.String inServerName, int inServerPort, boolean inUseSSL,
260                    java.lang.String inUserName, java.lang.String inPassword,
261                    int inReadInterval, java.lang.String outEmailAddress,
262                    boolean outCustom, java.lang.String outServerName, int outServerPort,
263                    boolean outUseSSL, java.lang.String outUserName,
264                    java.lang.String outPassword, boolean allowAnonymous,
265                    boolean mailingListActive,
266                    com.liferay.portal.service.ServiceContext serviceContext)
267                    throws com.liferay.portal.kernel.exception.PortalException,
268                            com.liferay.portal.kernel.exception.SystemException;
269    
270            public void addCategoryResources(long categoryId,
271                    boolean addGroupPermissions, boolean addGuestPermissions)
272                    throws com.liferay.portal.kernel.exception.PortalException,
273                            com.liferay.portal.kernel.exception.SystemException;
274    
275            public void addCategoryResources(long categoryId,
276                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
277                    throws com.liferay.portal.kernel.exception.PortalException,
278                            com.liferay.portal.kernel.exception.SystemException;
279    
280            public void addCategoryResources(
281                    com.liferay.portlet.messageboards.model.MBCategory category,
282                    boolean addGroupPermissions, boolean addGuestPermissions)
283                    throws com.liferay.portal.kernel.exception.PortalException,
284                            com.liferay.portal.kernel.exception.SystemException;
285    
286            public void addCategoryResources(
287                    com.liferay.portlet.messageboards.model.MBCategory category,
288                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
289                    throws com.liferay.portal.kernel.exception.PortalException,
290                            com.liferay.portal.kernel.exception.SystemException;
291    
292            public void deleteCategories(long groupId)
293                    throws com.liferay.portal.kernel.exception.PortalException,
294                            com.liferay.portal.kernel.exception.SystemException;
295    
296            public void deleteCategory(long categoryId)
297                    throws com.liferay.portal.kernel.exception.PortalException,
298                            com.liferay.portal.kernel.exception.SystemException;
299    
300            public void deleteCategory(
301                    com.liferay.portlet.messageboards.model.MBCategory category)
302                    throws com.liferay.portal.kernel.exception.PortalException,
303                            com.liferay.portal.kernel.exception.SystemException;
304    
305            public void deleteCategory(
306                    com.liferay.portlet.messageboards.model.MBCategory category,
307                    boolean includeTrashedEntries)
308                    throws com.liferay.portal.kernel.exception.PortalException,
309                            com.liferay.portal.kernel.exception.SystemException;
310    
311            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
312            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
313                    long groupId)
314                    throws com.liferay.portal.kernel.exception.SystemException;
315    
316            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
317            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
318                    long groupId, int status)
319                    throws com.liferay.portal.kernel.exception.SystemException;
320    
321            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
322            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
323                    long groupId, long parentCategoryId, int start, int end)
324                    throws com.liferay.portal.kernel.exception.SystemException;
325    
326            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
327            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
328                    long groupId, long parentCategoryId, int status, int start, int end)
329                    throws com.liferay.portal.kernel.exception.SystemException;
330    
331            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
332            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
333                    long groupId, long[] parentCategoryIds, int start, int end)
334                    throws com.liferay.portal.kernel.exception.SystemException;
335    
336            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
337            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
338                    long groupId, long[] parentCategoryIds, int status, int start, int end)
339                    throws com.liferay.portal.kernel.exception.SystemException;
340    
341            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
342            public java.util.List<java.lang.Object> getCategoriesAndThreads(
343                    long groupId, long categoryId)
344                    throws com.liferay.portal.kernel.exception.SystemException;
345    
346            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
347            public int getCategoriesCount(long groupId)
348                    throws com.liferay.portal.kernel.exception.SystemException;
349    
350            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
351            public int getCategoriesCount(long groupId, int status)
352                    throws com.liferay.portal.kernel.exception.SystemException;
353    
354            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
355            public int getCategoriesCount(long groupId, long parentCategoryId)
356                    throws com.liferay.portal.kernel.exception.SystemException;
357    
358            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
359            public int getCategoriesCount(long groupId, long parentCategoryId,
360                    int status) throws com.liferay.portal.kernel.exception.SystemException;
361    
362            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
363            public int getCategoriesCount(long groupId, long[] parentCategoryIds)
364                    throws com.liferay.portal.kernel.exception.SystemException;
365    
366            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
367            public int getCategoriesCount(long groupId, long[] parentCategoryIds,
368                    int status) throws com.liferay.portal.kernel.exception.SystemException;
369    
370            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
371            public com.liferay.portlet.messageboards.model.MBCategory getCategory(
372                    long categoryId)
373                    throws com.liferay.portal.kernel.exception.PortalException,
374                            com.liferay.portal.kernel.exception.SystemException;
375    
376            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
377            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCompanyCategories(
378                    long companyId, int start, int end)
379                    throws com.liferay.portal.kernel.exception.SystemException;
380    
381            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
382            public int getCompanyCategoriesCount(long companyId)
383                    throws com.liferay.portal.kernel.exception.SystemException;
384    
385            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
386            public java.util.List<java.lang.Long> getSubcategoryIds(
387                    java.util.List<java.lang.Long> categoryIds, long groupId,
388                    long categoryId)
389                    throws com.liferay.portal.kernel.exception.SystemException;
390    
391            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
392            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getSubscribedCategories(
393                    long groupId, long userId, int start, int end)
394                    throws com.liferay.portal.kernel.exception.SystemException;
395    
396            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
397            public int getSubscribedCategoriesCount(long groupId, long userId)
398                    throws com.liferay.portal.kernel.exception.SystemException;
399    
400            public void moveCategoriesToTrash(long groupId, long userId)
401                    throws com.liferay.portal.kernel.exception.PortalException,
402                            com.liferay.portal.kernel.exception.SystemException;
403    
404            public com.liferay.portlet.messageboards.model.MBCategory moveCategory(
405                    long categoryId, long parentCategoryId, boolean mergeWithParentCategory)
406                    throws com.liferay.portal.kernel.exception.PortalException,
407                            com.liferay.portal.kernel.exception.SystemException;
408    
409            public com.liferay.portlet.messageboards.model.MBCategory moveCategoryFromTrash(
410                    long userId, long categoryId, long newCategoryId)
411                    throws com.liferay.portal.kernel.exception.PortalException,
412                            com.liferay.portal.kernel.exception.SystemException;
413    
414            public com.liferay.portlet.messageboards.model.MBCategory moveCategoryToTrash(
415                    long userId, long categoryId)
416                    throws com.liferay.portal.kernel.exception.PortalException,
417                            com.liferay.portal.kernel.exception.SystemException;
418    
419            public void restoreCategoryFromTrash(long userId, long categoryId)
420                    throws com.liferay.portal.kernel.exception.PortalException,
421                            com.liferay.portal.kernel.exception.SystemException;
422    
423            public void subscribeCategory(long userId, long groupId, long categoryId)
424                    throws com.liferay.portal.kernel.exception.PortalException,
425                            com.liferay.portal.kernel.exception.SystemException;
426    
427            public void unsubscribeCategory(long userId, long groupId, long categoryId)
428                    throws com.liferay.portal.kernel.exception.PortalException,
429                            com.liferay.portal.kernel.exception.SystemException;
430    
431            public com.liferay.portlet.messageboards.model.MBCategory updateCategory(
432                    long categoryId, long parentCategoryId, java.lang.String name,
433                    java.lang.String description, java.lang.String displayStyle,
434                    java.lang.String emailAddress, java.lang.String inProtocol,
435                    java.lang.String inServerName, int inServerPort, boolean inUseSSL,
436                    java.lang.String inUserName, java.lang.String inPassword,
437                    int inReadInterval, java.lang.String outEmailAddress,
438                    boolean outCustom, java.lang.String outServerName, int outServerPort,
439                    boolean outUseSSL, java.lang.String outUserName,
440                    java.lang.String outPassword, boolean allowAnonymous,
441                    boolean mailingListActive, boolean mergeWithParentCategory,
442                    com.liferay.portal.service.ServiceContext serviceContext)
443                    throws com.liferay.portal.kernel.exception.PortalException,
444                            com.liferay.portal.kernel.exception.SystemException;
445    
446            public void updateDependentStatus(com.liferay.portal.model.User user,
447                    java.util.List<java.lang.Object> categoriesAndThreads, int status)
448                    throws com.liferay.portal.kernel.exception.PortalException,
449                            com.liferay.portal.kernel.exception.SystemException;
450    
451            public com.liferay.portlet.messageboards.model.MBCategory updateStatus(
452                    long userId, long categoryId, int status)
453                    throws com.liferay.portal.kernel.exception.PortalException,
454                            com.liferay.portal.kernel.exception.SystemException;
455    }