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 MBCategory. 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 MBCategoryLocalServiceUtil
035     * @see com.liferay.portlet.messageboards.service.base.MBCategoryLocalServiceBaseImpl
036     * @see com.liferay.portlet.messageboards.service.impl.MBCategoryLocalServiceImpl
037     * @generated
038     */
039    @ProviderType
040    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
041            PortalException.class, SystemException.class})
042    public interface MBCategoryLocalService extends BaseLocalService,
043            PersistedModelLocalService {
044            /*
045             * NOTE FOR DEVELOPERS:
046             *
047             * 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.
048             */
049    
050            /**
051            * Adds the message boards category to the database. Also notifies the appropriate model listeners.
052            *
053            * @param mbCategory the message boards category
054            * @return the message boards category that was added
055            * @throws SystemException if a system exception occurred
056            */
057            public com.liferay.portlet.messageboards.model.MBCategory addMBCategory(
058                    com.liferay.portlet.messageboards.model.MBCategory mbCategory)
059                    throws com.liferay.portal.kernel.exception.SystemException;
060    
061            /**
062            * Creates a new message boards category with the primary key. Does not add the message boards category to the database.
063            *
064            * @param categoryId the primary key for the new message boards category
065            * @return the new message boards category
066            */
067            public com.liferay.portlet.messageboards.model.MBCategory createMBCategory(
068                    long categoryId);
069    
070            /**
071            * Deletes the message boards category with the primary key from the database. Also notifies the appropriate model listeners.
072            *
073            * @param categoryId the primary key of the message boards category
074            * @return the message boards category that was removed
075            * @throws PortalException if a message boards category with the primary key could not be found
076            * @throws SystemException if a system exception occurred
077            */
078            public com.liferay.portlet.messageboards.model.MBCategory deleteMBCategory(
079                    long categoryId)
080                    throws com.liferay.portal.kernel.exception.PortalException,
081                            com.liferay.portal.kernel.exception.SystemException;
082    
083            /**
084            * Deletes the message boards category from the database. Also notifies the appropriate model listeners.
085            *
086            * @param mbCategory the message boards category
087            * @return the message boards category that was removed
088            * @throws SystemException if a system exception occurred
089            */
090            public com.liferay.portlet.messageboards.model.MBCategory deleteMBCategory(
091                    com.liferay.portlet.messageboards.model.MBCategory mbCategory)
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.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.
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.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.
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.MBCategory fetchMBCategory(
173                    long categoryId)
174                    throws com.liferay.portal.kernel.exception.SystemException;
175    
176            /**
177            * Returns the message boards category with the matching UUID and company.
178            *
179            * @param uuid the message boards category's UUID
180            * @param companyId the primary key of the company
181            * @return the matching message boards category, or <code>null</code> if a matching message boards category 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.MBCategory fetchMBCategoryByUuidAndCompanyId(
186                    java.lang.String uuid, long companyId)
187                    throws com.liferay.portal.kernel.exception.SystemException;
188    
189            /**
190            * Returns the message boards category matching the UUID and group.
191            *
192            * @param uuid the message boards category's UUID
193            * @param groupId the primary key of the group
194            * @return the matching message boards category, or <code>null</code> if a matching message boards category 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.MBCategory fetchMBCategoryByUuidAndGroupId(
199                    java.lang.String uuid, long groupId)
200                    throws com.liferay.portal.kernel.exception.SystemException;
201    
202            /**
203            * Returns the message boards category with the primary key.
204            *
205            * @param categoryId the primary key of the message boards category
206            * @return the message boards category
207            * @throws PortalException if a message boards category 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.MBCategory getMBCategory(
212                    long categoryId)
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 category with the matching UUID and company.
225            *
226            * @param uuid the message boards category's UUID
227            * @param companyId the primary key of the company
228            * @return the matching message boards category
229            * @throws PortalException if a matching message boards category 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.MBCategory getMBCategoryByUuidAndCompanyId(
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 category matching the UUID and group.
240            *
241            * @param uuid the message boards category's UUID
242            * @param groupId the primary key of the group
243            * @return the matching message boards category
244            * @throws PortalException if a matching message boards category 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.MBCategory getMBCategoryByUuidAndGroupId(
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 categories.
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.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.
258            * </p>
259            *
260            * @param start the lower bound of the range of message boards categories
261            * @param end the upper bound of the range of message boards categories (not inclusive)
262            * @return the range of message boards categories
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.MBCategory> getMBCategories(
267                    int start, int end)
268                    throws com.liferay.portal.kernel.exception.SystemException;
269    
270            /**
271            * Returns the number of message boards categories.
272            *
273            * @return the number of message boards categories
274            * @throws SystemException if a system exception occurred
275            */
276            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
277            public int getMBCategoriesCount()
278                    throws com.liferay.portal.kernel.exception.SystemException;
279    
280            /**
281            * Updates the message boards category in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
282            *
283            * @param mbCategory the message boards category
284            * @return the message boards category that was updated
285            * @throws SystemException if a system exception occurred
286            */
287            public com.liferay.portlet.messageboards.model.MBCategory updateMBCategory(
288                    com.liferay.portlet.messageboards.model.MBCategory mbCategory)
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.MBCategory addCategory(
306                    long userId, long parentCategoryId, java.lang.String name,
307                    java.lang.String description,
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 com.liferay.portlet.messageboards.model.MBCategory addCategory(
313                    long userId, long parentCategoryId, java.lang.String name,
314                    java.lang.String description, java.lang.String displayStyle,
315                    java.lang.String emailAddress, java.lang.String inProtocol,
316                    java.lang.String inServerName, int inServerPort, boolean inUseSSL,
317                    java.lang.String inUserName, java.lang.String inPassword,
318                    int inReadInterval, java.lang.String outEmailAddress,
319                    boolean outCustom, java.lang.String outServerName, int outServerPort,
320                    boolean outUseSSL, java.lang.String outUserName,
321                    java.lang.String outPassword, boolean allowAnonymous,
322                    boolean mailingListActive,
323                    com.liferay.portal.service.ServiceContext serviceContext)
324                    throws com.liferay.portal.kernel.exception.PortalException,
325                            com.liferay.portal.kernel.exception.SystemException;
326    
327            public void addCategoryResources(long categoryId,
328                    boolean addGroupPermissions, boolean addGuestPermissions)
329                    throws com.liferay.portal.kernel.exception.PortalException,
330                            com.liferay.portal.kernel.exception.SystemException;
331    
332            public void addCategoryResources(long categoryId,
333                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
334                    throws com.liferay.portal.kernel.exception.PortalException,
335                            com.liferay.portal.kernel.exception.SystemException;
336    
337            public void addCategoryResources(
338                    com.liferay.portlet.messageboards.model.MBCategory category,
339                    boolean addGroupPermissions, boolean addGuestPermissions)
340                    throws com.liferay.portal.kernel.exception.PortalException,
341                            com.liferay.portal.kernel.exception.SystemException;
342    
343            public void addCategoryResources(
344                    com.liferay.portlet.messageboards.model.MBCategory category,
345                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
346                    throws com.liferay.portal.kernel.exception.PortalException,
347                            com.liferay.portal.kernel.exception.SystemException;
348    
349            public void deleteCategories(long groupId)
350                    throws com.liferay.portal.kernel.exception.PortalException,
351                            com.liferay.portal.kernel.exception.SystemException;
352    
353            public void deleteCategory(long categoryId)
354                    throws com.liferay.portal.kernel.exception.PortalException,
355                            com.liferay.portal.kernel.exception.SystemException;
356    
357            public void deleteCategory(
358                    com.liferay.portlet.messageboards.model.MBCategory category)
359                    throws com.liferay.portal.kernel.exception.PortalException,
360                            com.liferay.portal.kernel.exception.SystemException;
361    
362            public void deleteCategory(
363                    com.liferay.portlet.messageboards.model.MBCategory category,
364                    boolean includeTrashedEntries)
365                    throws com.liferay.portal.kernel.exception.PortalException,
366                            com.liferay.portal.kernel.exception.SystemException;
367    
368            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
369            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
370                    long groupId)
371                    throws com.liferay.portal.kernel.exception.SystemException;
372    
373            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
374            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
375                    long groupId, int status)
376                    throws com.liferay.portal.kernel.exception.SystemException;
377    
378            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
379            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
380                    long groupId, long parentCategoryId, int start, int end)
381                    throws com.liferay.portal.kernel.exception.SystemException;
382    
383            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
384            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
385                    long groupId, long parentCategoryId, int status, int start, int end)
386                    throws com.liferay.portal.kernel.exception.SystemException;
387    
388            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
389            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
390                    long groupId, long[] parentCategoryIds, int start, int end)
391                    throws com.liferay.portal.kernel.exception.SystemException;
392    
393            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
394            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCategories(
395                    long groupId, long[] parentCategoryIds, int status, int start, int end)
396                    throws com.liferay.portal.kernel.exception.SystemException;
397    
398            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
399            public java.util.List<java.lang.Object> getCategoriesAndThreads(
400                    long groupId, long categoryId)
401                    throws com.liferay.portal.kernel.exception.SystemException;
402    
403            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
404            public int getCategoriesCount(long groupId)
405                    throws com.liferay.portal.kernel.exception.SystemException;
406    
407            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
408            public int getCategoriesCount(long groupId, int status)
409                    throws com.liferay.portal.kernel.exception.SystemException;
410    
411            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
412            public int getCategoriesCount(long groupId, long parentCategoryId)
413                    throws com.liferay.portal.kernel.exception.SystemException;
414    
415            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
416            public int getCategoriesCount(long groupId, long parentCategoryId,
417                    int status) throws com.liferay.portal.kernel.exception.SystemException;
418    
419            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
420            public int getCategoriesCount(long groupId, long[] parentCategoryIds)
421                    throws com.liferay.portal.kernel.exception.SystemException;
422    
423            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
424            public int getCategoriesCount(long groupId, long[] parentCategoryIds,
425                    int status) throws com.liferay.portal.kernel.exception.SystemException;
426    
427            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
428            public com.liferay.portlet.messageboards.model.MBCategory getCategory(
429                    long categoryId)
430                    throws com.liferay.portal.kernel.exception.PortalException,
431                            com.liferay.portal.kernel.exception.SystemException;
432    
433            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
434            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getCompanyCategories(
435                    long companyId, int start, int end)
436                    throws com.liferay.portal.kernel.exception.SystemException;
437    
438            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
439            public int getCompanyCategoriesCount(long companyId)
440                    throws com.liferay.portal.kernel.exception.SystemException;
441    
442            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
443            public java.util.List<java.lang.Long> getSubcategoryIds(
444                    java.util.List<java.lang.Long> categoryIds, long groupId,
445                    long categoryId)
446                    throws com.liferay.portal.kernel.exception.SystemException;
447    
448            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
449            public java.util.List<com.liferay.portlet.messageboards.model.MBCategory> getSubscribedCategories(
450                    long groupId, long userId, int start, int end)
451                    throws com.liferay.portal.kernel.exception.SystemException;
452    
453            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
454            public int getSubscribedCategoriesCount(long groupId, long userId)
455                    throws com.liferay.portal.kernel.exception.SystemException;
456    
457            public void moveCategoriesToTrash(long groupId, long userId)
458                    throws com.liferay.portal.kernel.exception.PortalException,
459                            com.liferay.portal.kernel.exception.SystemException;
460    
461            public com.liferay.portlet.messageboards.model.MBCategory moveCategory(
462                    long categoryId, long parentCategoryId, boolean mergeWithParentCategory)
463                    throws com.liferay.portal.kernel.exception.PortalException,
464                            com.liferay.portal.kernel.exception.SystemException;
465    
466            public com.liferay.portlet.messageboards.model.MBCategory moveCategoryFromTrash(
467                    long userId, long categoryId, long newCategoryId)
468                    throws com.liferay.portal.kernel.exception.PortalException,
469                            com.liferay.portal.kernel.exception.SystemException;
470    
471            public com.liferay.portlet.messageboards.model.MBCategory moveCategoryToTrash(
472                    long userId, long categoryId)
473                    throws com.liferay.portal.kernel.exception.PortalException,
474                            com.liferay.portal.kernel.exception.SystemException;
475    
476            public void restoreCategoryFromTrash(long userId, long categoryId)
477                    throws com.liferay.portal.kernel.exception.PortalException,
478                            com.liferay.portal.kernel.exception.SystemException;
479    
480            public void subscribeCategory(long userId, long groupId, long categoryId)
481                    throws com.liferay.portal.kernel.exception.PortalException,
482                            com.liferay.portal.kernel.exception.SystemException;
483    
484            public void unsubscribeCategory(long userId, long groupId, long categoryId)
485                    throws com.liferay.portal.kernel.exception.PortalException,
486                            com.liferay.portal.kernel.exception.SystemException;
487    
488            public com.liferay.portlet.messageboards.model.MBCategory updateCategory(
489                    long categoryId, long parentCategoryId, java.lang.String name,
490                    java.lang.String description, java.lang.String displayStyle,
491                    java.lang.String emailAddress, java.lang.String inProtocol,
492                    java.lang.String inServerName, int inServerPort, boolean inUseSSL,
493                    java.lang.String inUserName, java.lang.String inPassword,
494                    int inReadInterval, java.lang.String outEmailAddress,
495                    boolean outCustom, java.lang.String outServerName, int outServerPort,
496                    boolean outUseSSL, java.lang.String outUserName,
497                    java.lang.String outPassword, boolean allowAnonymous,
498                    boolean mailingListActive, boolean mergeWithParentCategory,
499                    com.liferay.portal.service.ServiceContext serviceContext)
500                    throws com.liferay.portal.kernel.exception.PortalException,
501                            com.liferay.portal.kernel.exception.SystemException;
502    
503            public com.liferay.portlet.messageboards.model.MBCategory updateStatus(
504                    long userId, long categoryId, int status)
505                    throws com.liferay.portal.kernel.exception.PortalException,
506                            com.liferay.portal.kernel.exception.SystemException;
507    }