001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portal.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    
023    /**
024     * The interface for the group local service.
025     *
026     * <p>
027     * 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.
028     * </p>
029     *
030     * @author Brian Wing Shun Chan
031     * @see GroupLocalServiceUtil
032     * @see com.liferay.portal.service.base.GroupLocalServiceBaseImpl
033     * @see com.liferay.portal.service.impl.GroupLocalServiceImpl
034     * @generated
035     */
036    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
037            PortalException.class, SystemException.class})
038    public interface GroupLocalService extends PersistedModelLocalService {
039            /*
040             * NOTE FOR DEVELOPERS:
041             *
042             * Never modify or reference this interface directly. Always use {@link GroupLocalServiceUtil} to access the group local service. Add custom service methods to {@link com.liferay.portal.service.impl.GroupLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
043             */
044    
045            /**
046            * Adds the group to the database. Also notifies the appropriate model listeners.
047            *
048            * @param group the group
049            * @return the group that was added
050            * @throws SystemException if a system exception occurred
051            */
052            public com.liferay.portal.model.Group addGroup(
053                    com.liferay.portal.model.Group group)
054                    throws com.liferay.portal.kernel.exception.SystemException;
055    
056            /**
057            * Creates a new group with the primary key. Does not add the group to the database.
058            *
059            * @param groupId the primary key for the new group
060            * @return the new group
061            */
062            public com.liferay.portal.model.Group createGroup(long groupId);
063    
064            /**
065            * Deletes the group with the primary key from the database. Also notifies the appropriate model listeners.
066            *
067            * @param groupId the primary key of the group
068            * @throws PortalException if a group with the primary key could not be found
069            * @throws SystemException if a system exception occurred
070            */
071            public void deleteGroup(long groupId)
072                    throws com.liferay.portal.kernel.exception.PortalException,
073                            com.liferay.portal.kernel.exception.SystemException;
074    
075            /**
076            * Deletes the group from the database. Also notifies the appropriate model listeners.
077            *
078            * @param group the group
079            * @throws PortalException
080            * @throws SystemException if a system exception occurred
081            */
082            public void deleteGroup(com.liferay.portal.model.Group group)
083                    throws com.liferay.portal.kernel.exception.PortalException,
084                            com.liferay.portal.kernel.exception.SystemException;
085    
086            /**
087            * Performs a dynamic query on the database and returns the matching rows.
088            *
089            * @param dynamicQuery the dynamic query
090            * @return the matching rows
091            * @throws SystemException if a system exception occurred
092            */
093            @SuppressWarnings("rawtypes")
094            public java.util.List dynamicQuery(
095                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
096                    throws com.liferay.portal.kernel.exception.SystemException;
097    
098            /**
099            * Performs a dynamic query on the database and returns a range of the matching rows.
100            *
101            * <p>
102            * 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.
103            * </p>
104            *
105            * @param dynamicQuery the dynamic query
106            * @param start the lower bound of the range of model instances
107            * @param end the upper bound of the range of model instances (not inclusive)
108            * @return the range of matching rows
109            * @throws SystemException if a system exception occurred
110            */
111            @SuppressWarnings("rawtypes")
112            public java.util.List dynamicQuery(
113                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
114                    int end) throws com.liferay.portal.kernel.exception.SystemException;
115    
116            /**
117            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
118            *
119            * <p>
120            * 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.
121            * </p>
122            *
123            * @param dynamicQuery the dynamic query
124            * @param start the lower bound of the range of model instances
125            * @param end the upper bound of the range of model instances (not inclusive)
126            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
127            * @return the ordered range of matching rows
128            * @throws SystemException if a system exception occurred
129            */
130            @SuppressWarnings("rawtypes")
131            public java.util.List dynamicQuery(
132                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
133                    int end,
134                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
135                    throws com.liferay.portal.kernel.exception.SystemException;
136    
137            /**
138            * Returns the number of rows that match the dynamic query.
139            *
140            * @param dynamicQuery the dynamic query
141            * @return the number of rows that match the dynamic query
142            * @throws SystemException if a system exception occurred
143            */
144            public long dynamicQueryCount(
145                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
146                    throws com.liferay.portal.kernel.exception.SystemException;
147    
148            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
149            public com.liferay.portal.model.Group fetchGroup(long groupId)
150                    throws com.liferay.portal.kernel.exception.SystemException;
151    
152            /**
153            * Returns the group with the primary key.
154            *
155            * @param groupId the primary key of the group
156            * @return the group
157            * @throws PortalException if a group with the primary key could not be found
158            * @throws SystemException if a system exception occurred
159            */
160            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
161            public com.liferay.portal.model.Group getGroup(long groupId)
162                    throws com.liferay.portal.kernel.exception.PortalException,
163                            com.liferay.portal.kernel.exception.SystemException;
164    
165            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
166            public com.liferay.portal.model.PersistedModel getPersistedModel(
167                    java.io.Serializable primaryKeyObj)
168                    throws com.liferay.portal.kernel.exception.PortalException,
169                            com.liferay.portal.kernel.exception.SystemException;
170    
171            /**
172            * Returns a range of all the groups.
173            *
174            * <p>
175            * 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.
176            * </p>
177            *
178            * @param start the lower bound of the range of groups
179            * @param end the upper bound of the range of groups (not inclusive)
180            * @return the range of groups
181            * @throws SystemException if a system exception occurred
182            */
183            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
184            public java.util.List<com.liferay.portal.model.Group> getGroups(int start,
185                    int end) throws com.liferay.portal.kernel.exception.SystemException;
186    
187            /**
188            * Returns the number of groups.
189            *
190            * @return the number of groups
191            * @throws SystemException if a system exception occurred
192            */
193            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
194            public int getGroupsCount()
195                    throws com.liferay.portal.kernel.exception.SystemException;
196    
197            /**
198            * Updates the group in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
199            *
200            * @param group the group
201            * @return the group that was updated
202            * @throws SystemException if a system exception occurred
203            */
204            public com.liferay.portal.model.Group updateGroup(
205                    com.liferay.portal.model.Group group)
206                    throws com.liferay.portal.kernel.exception.SystemException;
207    
208            /**
209            * Updates the group in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
210            *
211            * @param group the group
212            * @param merge whether to merge the group 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.
213            * @return the group that was updated
214            * @throws SystemException if a system exception occurred
215            */
216            public com.liferay.portal.model.Group updateGroup(
217                    com.liferay.portal.model.Group group, boolean merge)
218                    throws com.liferay.portal.kernel.exception.SystemException;
219    
220            /**
221            * Returns the Spring bean ID for this bean.
222            *
223            * @return the Spring bean ID for this bean
224            */
225            public java.lang.String getBeanIdentifier();
226    
227            /**
228            * Sets the Spring bean ID for this bean.
229            *
230            * @param beanIdentifier the Spring bean ID for this bean
231            */
232            public void setBeanIdentifier(java.lang.String beanIdentifier);
233    
234            /**
235            * Adds a group.
236            *
237            * @param userId the primary key of the group's creator/owner
238            * @param className the entity's class name
239            * @param classPK the primary key of the entity's instance
240            * @param liveGroupId the primary key of the live group
241            * @param name the entity's name
242            * @param description the group's description (optionally
243            <code>null</code>)
244            * @param type the group's type. For more information see {@link
245            com.liferay.portal.model.GroupConstants}
246            * @param friendlyURL the group's friendlyURL (optionally
247            <code>null</code>)
248            * @param site whether the group is to be associated with a main site
249            * @param active whether the group is active
250            * @param serviceContext the service context to be applied (optionally
251            <code>null</code>). Can specify the group's asset category IDs,
252            asset tag names, and whether the group is for staging
253            * @return the group
254            * @throws PortalException if a creator could not be found, if the group's
255            information was invalid, if a layout could not be found, or if a
256            valid friendly URL could not be created for the group
257            * @throws SystemException if a system exception occurred
258            */
259            public com.liferay.portal.model.Group addGroup(long userId,
260                    java.lang.String className, long classPK, long liveGroupId,
261                    java.lang.String name, java.lang.String description, int type,
262                    java.lang.String friendlyURL, boolean site, boolean active,
263                    com.liferay.portal.service.ServiceContext serviceContext)
264                    throws com.liferay.portal.kernel.exception.PortalException,
265                            com.liferay.portal.kernel.exception.SystemException;
266    
267            /**
268            * Adds the group using the default live group.
269            *
270            * @param userId the primary key of the group's creator/owner
271            * @param className the entity's class name
272            * @param classPK the primary key of the entity's instance
273            * @param name the entity's name
274            * @param description the group's description (optionally
275            <code>null</code>)
276            * @param type the group's type. For more information see {@link
277            com.liferay.portal.model.GroupConstants}
278            * @param friendlyURL the group's friendlyURL
279            * @param site whether the group is to be associated with a main site
280            * @param active whether the group is active
281            * @param serviceContext the service context to be applied (optionally
282            <code>null</code>). Can specify the group's asset category IDs,
283            asset tag names, and whether the group is for staging
284            * @return the group
285            * @throws PortalException if a creator could not be found, if the group's
286            information was invalid, if a layout could not be found, or if a
287            valid friendly URL could not be created for the group
288            * @throws SystemException if a system exception occurred
289            */
290            public com.liferay.portal.model.Group addGroup(long userId,
291                    java.lang.String className, long classPK, java.lang.String name,
292                    java.lang.String description, int type, java.lang.String friendlyURL,
293                    boolean site, boolean active,
294                    com.liferay.portal.service.ServiceContext serviceContext)
295                    throws com.liferay.portal.kernel.exception.PortalException,
296                            com.liferay.portal.kernel.exception.SystemException;
297    
298            /**
299            * Adds the groups to the role.
300            *
301            * @param roleId the primary key of the role
302            * @param groupIds the primary keys of the groups
303            * @throws SystemException if a system exception occurred
304            */
305            public void addRoleGroups(long roleId, long[] groupIds)
306                    throws com.liferay.portal.kernel.exception.SystemException;
307    
308            /**
309            * Adds the user to the groups.
310            *
311            * @param userId the primary key of the user
312            * @param groupIds the primary keys of the groups
313            * @throws SystemException if a system exception occurred
314            */
315            public void addUserGroups(long userId, long[] groupIds)
316                    throws com.liferay.portal.kernel.exception.SystemException;
317    
318            /**
319            * Adds a company group if it does not exist. This method is typically used
320            * when a virtual host is added.
321            *
322            * @param companyId the primary key of the company
323            * @throws PortalException if a default user for the company could not be
324            found, if the group's information was invalid, if a layout could
325            not be found, or if a valid friendly URL could not be created
326            for the group
327            * @throws SystemException if a system exception occurred
328            */
329            public void checkCompanyGroup(long companyId)
330                    throws com.liferay.portal.kernel.exception.PortalException,
331                            com.liferay.portal.kernel.exception.SystemException;
332    
333            /**
334            * Creates systems groups and other related data needed by the system on
335            * the very first startup. Also takes care of creating the control panel
336            * groups and layouts.
337            *
338            * @param companyId the primary key of the company
339            * @throws PortalException if a new system group could not be created
340            * @throws SystemException if a system exception occurred
341            */
342            public void checkSystemGroups(long companyId)
343                    throws com.liferay.portal.kernel.exception.PortalException,
344                            com.liferay.portal.kernel.exception.SystemException;
345    
346            /**
347            * Returns the group with the matching friendly URL.
348            *
349            * @param companyId the primary key of the company
350            * @param friendlyURL the friendly URL
351            * @return the group with the friendly URL, or <code>null</code> if a
352            matching group could not be found
353            * @throws SystemException if a system exception occurred
354            */
355            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
356            public com.liferay.portal.model.Group fetchFriendlyURLGroup(
357                    long companyId, java.lang.String friendlyURL)
358                    throws com.liferay.portal.kernel.exception.SystemException;
359    
360            /**
361            * Returns the group with the matching group name.
362            *
363            * @param companyId the primary key of the company
364            * @param name the group's name
365            * @return the group with the name and associated company, or
366            <code>null</code> if a matching group could not be found
367            * @throws SystemException if a system exception occurred
368            */
369            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
370            public com.liferay.portal.model.Group fetchGroup(long companyId,
371                    java.lang.String name)
372                    throws com.liferay.portal.kernel.exception.SystemException;
373    
374            /**
375            * Returns the company group.
376            *
377            * @param companyId the primary key of the company
378            * @return the group associated with the company
379            * @throws PortalException if a matching group could not be found
380            * @throws SystemException if a system exception occurred
381            */
382            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
383            public com.liferay.portal.model.Group getCompanyGroup(long companyId)
384                    throws com.liferay.portal.kernel.exception.PortalException,
385                            com.liferay.portal.kernel.exception.SystemException;
386    
387            /**
388            * Returns a range of all the groups associated with the company.
389            *
390            * <p>
391            * Useful when paginating results. Returns a maximum of <code>end -
392            * start</code> instances. <code>start</code> and <code>end</code> are not
393            * primary keys, they are indexes in the result set. Thus, <code>0</code>
394            * refers to the first result in the set. Setting both <code>start</code>
395            * and <code>end</code> to {@link
396            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
397            * full result set.
398            * </p>
399            *
400            * @param companyId the primary key of the company
401            * @param start the lower bound of the range of groups to return
402            * @param end the upper bound of the range of groups to return (not
403            inclusive)
404            * @return the range of groups associated with the company
405            * @throws SystemException if a system exception occurred
406            */
407            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
408            public java.util.List<com.liferay.portal.model.Group> getCompanyGroups(
409                    long companyId, int start, int end)
410                    throws com.liferay.portal.kernel.exception.SystemException;
411    
412            /**
413            * Returns the number of groups associated with the company.
414            *
415            * @param companyId the primary key of the company
416            * @return the number of groups associated with the company
417            * @throws SystemException if a system exception occurred
418            */
419            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
420            public int getCompanyGroupsCount(long companyId)
421                    throws com.liferay.portal.kernel.exception.SystemException;
422    
423            /**
424            * Returns the group with the matching friendly URL.
425            *
426            * @param companyId the primary key of the company
427            * @param friendlyURL the group's friendlyURL
428            * @return the group with the friendly URL
429            * @throws PortalException if a matching group could not be found, or if
430            the friendly URL was invalid
431            * @throws SystemException if a system exception occurred
432            */
433            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
434            public com.liferay.portal.model.Group getFriendlyURLGroup(long companyId,
435                    java.lang.String friendlyURL)
436                    throws com.liferay.portal.kernel.exception.PortalException,
437                            com.liferay.portal.kernel.exception.SystemException;
438    
439            /**
440            * Returns the group with the matching group name.
441            *
442            * @param companyId the primary key of the company
443            * @param name the group's name
444            * @return the group with the name
445            * @throws PortalException if a matching group could not be found
446            * @throws SystemException if a system exception occurred
447            */
448            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
449            public com.liferay.portal.model.Group getGroup(long companyId,
450                    java.lang.String name)
451                    throws com.liferay.portal.kernel.exception.PortalException,
452                            com.liferay.portal.kernel.exception.SystemException;
453    
454            /**
455            * Returns the groups with the matching primary keys.
456            *
457            * @param groupIds the primary keys of the groups
458            * @return the groups with the primary keys
459            * @throws PortalException if any one of the groups could not be found
460            * @throws SystemException if a system exception occurred
461            */
462            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
463            public java.util.List<com.liferay.portal.model.Group> getGroups(
464                    long[] groupIds)
465                    throws com.liferay.portal.kernel.exception.PortalException,
466                            com.liferay.portal.kernel.exception.SystemException;
467    
468            /**
469            * Returns the group associated with the layout.
470            *
471            * @param companyId the primary key of the company
472            * @param plid the primary key of the layout
473            * @return the group associated with the layout
474            * @throws PortalException if a matching group could not be found
475            * @throws SystemException if a system exception occurred
476            */
477            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
478            public com.liferay.portal.model.Group getLayoutGroup(long companyId,
479                    long plid)
480                    throws com.liferay.portal.kernel.exception.PortalException,
481                            com.liferay.portal.kernel.exception.SystemException;
482    
483            /**
484            * Returns the group associated with the layout prototype.
485            *
486            * @param companyId the primary key of the company
487            * @param layoutPrototypeId the primary key of the layout prototype
488            * @return the group associated with the layout prototype
489            * @throws PortalException if a matching group could not be found
490            * @throws SystemException if a system exception occurred
491            */
492            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
493            public com.liferay.portal.model.Group getLayoutPrototypeGroup(
494                    long companyId, long layoutPrototypeId)
495                    throws com.liferay.portal.kernel.exception.PortalException,
496                            com.liferay.portal.kernel.exception.SystemException;
497    
498            /**
499            * Returns the group associated with the layout set prototype.
500            *
501            * @param companyId the primary key of the company
502            * @param layoutSetPrototypeId the primary key of the layout set prototype
503            * @return the group associated with the layout set prototype
504            * @throws PortalException if a matching group could not be found
505            * @throws SystemException if a system exception occurred
506            */
507            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
508            public com.liferay.portal.model.Group getLayoutSetPrototypeGroup(
509                    long companyId, long layoutSetPrototypeId)
510                    throws com.liferay.portal.kernel.exception.PortalException,
511                            com.liferay.portal.kernel.exception.SystemException;
512    
513            /**
514            * Returns all live groups.
515            *
516            * @return all live groups
517            * @throws SystemException if a system exception occurred
518            */
519            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
520            public java.util.List<com.liferay.portal.model.Group> getLiveGroups()
521                    throws com.liferay.portal.kernel.exception.SystemException;
522    
523            /**
524            * Returns a range of all non-system groups of a specified type (className)
525            * that have no layouts.
526            *
527            * <p>
528            * Useful when paginating results. Returns a maximum of <code>end -
529            * start</code> instances. <code>start</code> and <code>end</code> are not
530            * primary keys, they are indexes in the result set. Thus, <code>0</code>
531            * refers to the first result in the set. Setting both <code>start</code>
532            * and <code>end</code> to {@link
533            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
534            * full result set.
535            * </p>
536            *
537            * @param className the entity's class name
538            * @param privateLayout whether to include groups with private layout sets
539            or non-private layout sets
540            * @param start the lower bound of the range of groups to return
541            * @param end the upper bound of the range of groups to return (not
542            inclusive)
543            * @return the range of matching groups
544            * @throws SystemException if a system exception occurred
545            */
546            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
547            public java.util.List<com.liferay.portal.model.Group> getNoLayoutsGroups(
548                    java.lang.String className, boolean privateLayout, int start, int end)
549                    throws com.liferay.portal.kernel.exception.SystemException;
550    
551            /**
552            * Returns all non-system groups having <code>null</code> or empty friendly
553            * URLs.
554            *
555            * @return the non-system groups having <code>null</code> or empty friendly
556            URLs
557            * @throws SystemException if a system exception occurred
558            */
559            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
560            public java.util.List<com.liferay.portal.model.Group> getNullFriendlyURLGroups()
561                    throws com.liferay.portal.kernel.exception.SystemException;
562    
563            /**
564            * Returns the specified organization group.
565            *
566            * @param companyId the primary key of the company
567            * @param organizationId the primary key of the organization
568            * @return the group associated with the organization
569            * @throws PortalException if a matching group could not be found
570            * @throws SystemException if a system exception occurred
571            */
572            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
573            public com.liferay.portal.model.Group getOrganizationGroup(long companyId,
574                    long organizationId)
575                    throws com.liferay.portal.kernel.exception.PortalException,
576                            com.liferay.portal.kernel.exception.SystemException;
577    
578            /**
579            * Returns the specified organization groups.
580            *
581            * @param organizations the organizations
582            * @return the groups associated with the organizations
583            */
584            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
585            public java.util.List<com.liferay.portal.model.Group> getOrganizationsGroups(
586                    java.util.List<com.liferay.portal.model.Organization> organizations);
587    
588            /**
589            * Returns all the groups related to the organizations.
590            *
591            * @param organizations the organizations
592            * @return the groups related to the organizations
593            * @throws SystemException if a system exception occurred
594            */
595            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
596            public java.util.List<com.liferay.portal.model.Group> getOrganizationsRelatedGroups(
597                    java.util.List<com.liferay.portal.model.Organization> organizations)
598                    throws com.liferay.portal.kernel.exception.SystemException;
599    
600            /**
601            * Returns all the groups associated with the role.
602            *
603            * @param roleId the primary key of the role
604            * @return the groups associated with the role
605            * @throws SystemException if a system exception occurred
606            */
607            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
608            public java.util.List<com.liferay.portal.model.Group> getRoleGroups(
609                    long roleId) throws com.liferay.portal.kernel.exception.SystemException;
610    
611            /**
612            * Returns the staging group.
613            *
614            * @param liveGroupId the primary key of the live group
615            * @return the staging group
616            * @throws PortalException if a matching staging group could not be found
617            * @throws SystemException if a system exception occurred
618            */
619            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
620            public com.liferay.portal.model.Group getStagingGroup(long liveGroupId)
621                    throws com.liferay.portal.kernel.exception.PortalException,
622                            com.liferay.portal.kernel.exception.SystemException;
623    
624            /**
625            * Returns the group associated with the user.
626            *
627            * @param companyId the primary key of the company
628            * @param userId the primary key of the user
629            * @return the group associated with the user
630            * @throws PortalException if a matching group could not be found
631            * @throws SystemException if a system exception occurred
632            */
633            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
634            public com.liferay.portal.model.Group getUserGroup(long companyId,
635                    long userId)
636                    throws com.liferay.portal.kernel.exception.PortalException,
637                            com.liferay.portal.kernel.exception.SystemException;
638    
639            /**
640            * Returns the specified "user group" group. That is, the group that
641            * represents the {@link com.liferay.portal.model.UserGroup} entity.
642            *
643            * @param companyId the primary key of the company
644            * @param userGroupId the primary key of the user group
645            * @return the group associated with the user group
646            * @throws PortalException if a matching group could not be found
647            * @throws SystemException if a system exception occurred
648            */
649            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
650            public com.liferay.portal.model.Group getUserGroupGroup(long companyId,
651                    long userGroupId)
652                    throws com.liferay.portal.kernel.exception.PortalException,
653                            com.liferay.portal.kernel.exception.SystemException;
654    
655            /**
656            * Returns all the user's site groups and immediate organization groups.
657            * System and staged groups are not included.
658            *
659            * @param userId the primary key of the user
660            * @return the user's groups and organization groups
661            * @throws PortalException if a user with the primary key could not be
662            found
663            * @throws SystemException if a system exception occurred
664            */
665            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
666            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
667                    long userId)
668                    throws com.liferay.portal.kernel.exception.PortalException,
669                            com.liferay.portal.kernel.exception.SystemException;
670    
671            /**
672            * Returns all the user's site groups and immediate organization groups,
673            * optionally including the user's inherited organization groups and user
674            * groups. System and staged groups are not included.
675            *
676            * @param userId the primary key of the user
677            * @param inherit whether to include the user's inherited organization
678            groups and user groups
679            * @return the user's groups and immediate organization groups
680            * @throws PortalException if a user with the primary key could not be
681            found
682            * @throws SystemException if a system exception occurred
683            */
684            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
685            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
686                    long userId, boolean inherit)
687                    throws com.liferay.portal.kernel.exception.PortalException,
688                            com.liferay.portal.kernel.exception.SystemException;
689    
690            /**
691            * Returns a name ordered range of all the user's site groups and immediate
692            * organization groups, optionally including the user's inherited
693            * organization groups and user groups. System and staged groups are not
694            * included.
695            *
696            * <p>
697            * Useful when paginating results. Returns a maximum of <code>end -
698            * start</code> instances. <code>start</code> and <code>end</code> are not
699            * primary keys, they are indexes in the result set. Thus, <code>0</code>
700            * refers to the first result in the set. Setting both <code>start</code>
701            * and <code>end</code> to {@link
702            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
703            * full result set.
704            * </p>
705            *
706            * @param userId the primary key of the user
707            * @param inherit whether to include the user's inherited organization
708            groups and user groups
709            * @param start the lower bound of the range of groups to return
710            * @param end the upper bound of the range of groups to return (not
711            inclusive)
712            * @return the range of the user's groups and immediate organization groups
713            ordered by name
714            * @throws PortalException if a user with the primary key could not be
715            found
716            * @throws SystemException if a system exception occurred
717            */
718            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
719            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
720                    long userId, boolean inherit, int start, int end)
721                    throws com.liferay.portal.kernel.exception.PortalException,
722                            com.liferay.portal.kernel.exception.SystemException;
723    
724            /**
725            * Returns a name ordered range of all the user's site groups and immediate
726            * organization groups. System and staged groups are not included.
727            *
728            * <p>
729            * Useful when paginating results. Returns a maximum of <code>end -
730            * start</code> instances. <code>start</code> and <code>end</code> are not
731            * primary keys, they are indexes in the result set. Thus, <code>0</code>
732            * refers to the first result in the set. Setting both <code>start</code>
733            * and <code>end</code> to {@link
734            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
735            * full result set.
736            * </p>
737            *
738            * @param userId the primary key of the user
739            * @param start the lower bound of the range of groups to return
740            * @param end the upper bound of the range of groups to return (not
741            inclusive)
742            * @return the range of the user's groups and organization groups ordered
743            by name
744            * @throws PortalException if a user with the primary key could not be
745            found
746            * @throws SystemException if a system exception occurred
747            */
748            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
749            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
750                    long userId, int start, int end)
751                    throws com.liferay.portal.kernel.exception.PortalException,
752                            com.liferay.portal.kernel.exception.SystemException;
753    
754            /**
755            * Returns the groups associated with the user groups.
756            *
757            * @param userGroups the user groups
758            * @return the groups associated with the user groups
759            * @throws PortalException if any one of the user group's group could not
760            be found
761            * @throws SystemException if a system exception occurred
762            */
763            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
764            public java.util.List<com.liferay.portal.model.Group> getUserGroupsGroups(
765                    java.util.List<com.liferay.portal.model.UserGroup> userGroups)
766                    throws com.liferay.portal.kernel.exception.PortalException,
767                            com.liferay.portal.kernel.exception.SystemException;
768    
769            /**
770            * Returns all the groups related to the user groups.
771            *
772            * @param userGroups the user groups
773            * @return the groups related to the user groups
774            * @throws SystemException if a system exception occurred
775            */
776            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
777            public java.util.List<com.liferay.portal.model.Group> getUserGroupsRelatedGroups(
778                    java.util.List<com.liferay.portal.model.UserGroup> userGroups)
779                    throws com.liferay.portal.kernel.exception.SystemException;
780    
781            /**
782            * Returns the range of all groups associated with the user's organization
783            * groups, including the ancestors of the organization groups, unless
784            * portal property <code>organizations.membership.strict</code> is set to
785            * <code>true</code>.
786            *
787            * <p>
788            * Useful when paginating results. Returns a maximum of <code>end -
789            * start</code> instances. <code>start</code> and <code>end</code> are not
790            * primary keys, they are indexes in the result set. Thus, <code>0</code>
791            * refers to the first result in the set. Setting both <code>start</code>
792            * and <code>end</code> to {@link
793            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
794            * full result set.
795            * </p>
796            *
797            * @param userId the primary key of the user
798            * @param start the lower bound of the range of groups to consider
799            * @param end the upper bound of the range of groups to consider (not
800            inclusive)
801            * @return the range of groups associated with the user's organization
802            groups
803            * @throws PortalException if a user with the primary key could not be
804            found or if another portal exception occurred
805            * @throws SystemException if a system exception occurred
806            */
807            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
808            public java.util.List<com.liferay.portal.model.Group> getUserOrganizationsGroups(
809                    long userId, int start, int end)
810                    throws com.liferay.portal.kernel.exception.PortalException,
811                            com.liferay.portal.kernel.exception.SystemException;
812    
813            /**
814            * Returns <code>true</code> if the group is associated with the role.
815            *
816            * @param roleId the primary key of the role
817            * @param groupId the primary key of the group
818            * @return <code>true</code> if the group is associated with the role;
819            <code>false</code> otherwise
820            * @throws SystemException if a system exception occurred
821            */
822            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
823            public boolean hasRoleGroup(long roleId, long groupId)
824                    throws com.liferay.portal.kernel.exception.SystemException;
825    
826            /**
827            * Returns <code>true</code> if the live group has a staging group.
828            *
829            * @param liveGroupId the primary key of the live group
830            * @return <code>true</code> if the live group has a staging group;
831            <code>false</code> otherwise
832            * @throws SystemException if a system exception occurred
833            */
834            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
835            public boolean hasStagingGroup(long liveGroupId)
836                    throws com.liferay.portal.kernel.exception.SystemException;
837    
838            /**
839            * Returns <code>true</code> if the user is immediately associated with the
840            * group, or associated with the group via the user's organizations,
841            * inherited organizations, or user groups.
842            *
843            * @param userId the primary key of the user
844            * @param groupId the primary key of the group
845            * @return <code>true</code> if the user is associated with the group;
846            <code>false</code> otherwise
847            * @throws SystemException if a system exception occurred
848            */
849            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
850            public boolean hasUserGroup(long userId, long groupId)
851                    throws com.liferay.portal.kernel.exception.SystemException;
852    
853            /**
854            * Returns <code>true</code> if the user is immediately associated with the
855            * group, or optionally if the user is associated with the group via the
856            * user's organizations, inherited organizations, or user groups.
857            *
858            * @param userId the primary key of the user
859            * @param groupId the primary key of the group
860            * @param inherit whether to include organization groups and user groups
861            to which the user belongs in the determination
862            * @return <code>true</code> if the user is associated with the group;
863            <code>false</code> otherwise
864            * @throws SystemException if a system exception occurred
865            */
866            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
867            public boolean hasUserGroup(long userId, long groupId, boolean inherit)
868                    throws com.liferay.portal.kernel.exception.SystemException;
869    
870            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
871            public com.liferay.portal.model.Group loadFetchGroup(long companyId,
872                    java.lang.String name)
873                    throws com.liferay.portal.kernel.exception.SystemException;
874    
875            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
876            public com.liferay.portal.model.Group loadGetGroup(long companyId,
877                    java.lang.String name)
878                    throws com.liferay.portal.kernel.exception.PortalException,
879                            com.liferay.portal.kernel.exception.SystemException;
880    
881            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
882            public java.util.List<com.liferay.portal.model.Group> search(
883                    long companyId,
884                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
885                    int start, int end)
886                    throws com.liferay.portal.kernel.exception.SystemException;
887    
888            /**
889            * Returns a name ordered range of all the groups that match the class name
890            * IDs, name, and description, optionally including the user's inherited
891            * organization groups and user groups. System and staged groups are not
892            * included.
893            *
894            * <p>
895            * Useful when paginating results. Returns a maximum of <code>end -
896            * start</code> instances. <code>start</code> and <code>end</code> are not
897            * primary keys, they are indexes in the result set. Thus, <code>0</code>
898            * refers to the first result in the set. Setting both <code>start</code>
899            * and <code>end</code> to {@link
900            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
901            * full result set.
902            * </p>
903            *
904            * @param companyId the primary key of the company
905            * @param classNameIds the class names of entities to include in the
906            search (optionally <code>null</code>)
907            * @param name the group's name (optionally <code>null</code>)
908            * @param description the group's description (optionally
909            <code>null</code>)
910            * @param params the finder params (optionally <code>null</code>). To
911            include a user's organizations, inherited organizations, and
912            user groups in the search, add an entry with key
913            &quot;usersGroups&quot; mapped to the user's ID and an entry
914            with key &quot;inherit&quot; mapped to a non-<code>null</code>
915            object. For more information see {@link
916            com.liferay.portal.service.persistence.GroupFinder}
917            com.liferay.portal.service.persistence.GroupFinder}
918            * @param start the lower bound of the range of groups to return
919            * @param end the upper bound of the range of groups to return (not
920            inclusive)
921            * @return the matching groups ordered by name
922            * @throws SystemException if a system exception occurred
923            */
924            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
925            public java.util.List<com.liferay.portal.model.Group> search(
926                    long companyId, long[] classNameIds, java.lang.String name,
927                    java.lang.String description,
928                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
929                    int start, int end)
930                    throws com.liferay.portal.kernel.exception.SystemException;
931    
932            /**
933            * Returns an ordered range of all the groups that match the class name
934            * IDs, name, and description, optionally including the user's inherited
935            * organization groups and user groups. System and staged groups are not
936            * included.
937            *
938            * <p>
939            * Useful when paginating results. Returns a maximum of <code>end -
940            * start</code> instances. <code>start</code> and <code>end</code> are not
941            * primary keys, they are indexes in the result set. Thus, <code>0</code>
942            * refers to the first result in the set. Setting both <code>start</code>
943            * and <code>end</code> to {@link
944            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
945            * full result set.
946            * </p>
947            *
948            * @param companyId the primary key of the company
949            * @param classNameIds the group's class name IDs (optionally
950            <code>null</code>)
951            * @param name the group's name (optionally <code>null</code>)
952            * @param description the group's description (optionally
953            <code>null</code>)
954            * @param params the finder params (optionally <code>null</code>). To
955            include a user's organizations, inherited organizations, and
956            user groups in the search, add an entry with key
957            &quot;usersGroups&quot; mapped to the user's ID and an entry
958            with key &quot;inherit&quot; mapped to a non-<code>null</code>
959            object. For more information see {@link
960            com.liferay.portal.service.persistence.GroupFinder}
961            * @param start the lower bound of the range of groups to return
962            * @param end the upper bound of the range of groups to return (not
963            inclusive)
964            * @param obc the comparator to order the groups (optionally
965            <code>null</code>)
966            * @return the matching groups ordered by comparator <code>obc</code>
967            * @throws SystemException if a system exception occurred
968            */
969            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
970            public java.util.List<com.liferay.portal.model.Group> search(
971                    long companyId, long[] classNameIds, java.lang.String name,
972                    java.lang.String description,
973                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
974                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
975                    throws com.liferay.portal.kernel.exception.SystemException;
976    
977            /**
978            * Returns a name ordered range of all the site groups and organization
979            * groups that match the name and description, optionally including the
980            * user's inherited organization groups and user groups. System and staged
981            * groups are not included.
982            *
983            * <p>
984            * Useful when paginating results. Returns a maximum of <code>end -
985            * start</code> instances. <code>start</code> and <code>end</code> are not
986            * primary keys, they are indexes in the result set. Thus, <code>0</code>
987            * refers to the first result in the set. Setting both <code>start</code>
988            * and <code>end</code> to {@link
989            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
990            * full result set.
991            * </p>
992            *
993            * @param companyId the primary key of the company
994            * @param name the group's name (optionally <code>null</code>)
995            * @param description the group's description (optionally
996            <code>null</code>)
997            * @param params the finder params (optionally <code>null</code>). To
998            include the user's inherited organizations and user groups in
999            the search, add entries having &quot;usersGroups&quot; and
1000            &quot;inherit&quot; as keys mapped to the the user's ID. For
1001            more information see {@link
1002            com.liferay.portal.service.persistence.GroupFinder}
1003            * @param start the lower bound of the range of groups to return
1004            * @param end the upper bound of the range of groups to return (not
1005            inclusive)
1006            * @return the matching groups ordered by name
1007            * @throws SystemException if a system exception occurred
1008            */
1009            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1010            public java.util.List<com.liferay.portal.model.Group> search(
1011                    long companyId, java.lang.String name, java.lang.String description,
1012                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1013                    int start, int end)
1014                    throws com.liferay.portal.kernel.exception.SystemException;
1015    
1016            /**
1017            * Returns an ordered range of all the site groups and organization groups
1018            * that match the name and description, optionally including the user's
1019            * inherited organization groups and user groups. System and staged groups
1020            * are not included.
1021            *
1022            * <p>
1023            * Useful when paginating results. Returns a maximum of <code>end -
1024            * start</code> instances. <code>start</code> and <code>end</code> are not
1025            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1026            * refers to the first result in the set. Setting both <code>start</code>
1027            * and <code>end</code> to {@link
1028            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the
1029            * full result set.
1030            * </p>
1031            *
1032            * @param companyId the primary key of the company
1033            * @param name the group's name (optionally <code>null</code>)
1034            * @param description the group's description (optionally
1035            <code>null</code>)
1036            * @param params the finder params (optionally <code>null</code>). To
1037            include the user's inherited organizations and user groups in
1038            the search, add entries having &quot;usersGroups&quot; and
1039            &quot;inherit&quot; as keys mapped to the the user's ID. For
1040            more information see {@link
1041            com.liferay.portal.service.persistence.GroupFinder}
1042            * @param start the lower bound of the range of groups to return
1043            * @param end the upper bound of the range of groups to return (not
1044            inclusive)
1045            * @param obc the comparator to order the groups (optionally
1046            <code>null</code>)
1047            * @return the matching groups ordered by comparator <code>obc</code>
1048            * @throws SystemException if a system exception occurred
1049            */
1050            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1051            public java.util.List<com.liferay.portal.model.Group> search(
1052                    long companyId, java.lang.String name, java.lang.String description,
1053                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1054                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
1055                    throws com.liferay.portal.kernel.exception.SystemException;
1056    
1057            /**
1058            * Returns the number of groups that match the class name IDs, name, and
1059            * description, optionally including the user's inherited organization
1060            * groups and user groups. System and staged groups are not included.
1061            *
1062            * @param companyId the primary key of the company
1063            * @param classNameIds the class names of entities to include in the
1064            search (optionally <code>null</code>)
1065            * @param name the group's name (optionally <code>null</code>)
1066            * @param description the group's description (optionally
1067            <code>null</code>)
1068            * @param params the finder params (optionally <code>null</code>). To
1069            include the user's inherited organization groups and user groups
1070            in the search, add entries having &quot;usersGroups&quot; and
1071            &quot;inherit&quot; as keys mapped to the the user's ID. For
1072            more information see {@link
1073            com.liferay.portal.service.persistence.GroupFinder}
1074            * @return the number of matching groups
1075            * @throws SystemException if a system exception occurred
1076            */
1077            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1078            public int searchCount(long companyId, long[] classNameIds,
1079                    java.lang.String name, java.lang.String description,
1080                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params)
1081                    throws com.liferay.portal.kernel.exception.SystemException;
1082    
1083            /**
1084            * Returns the number of groups and immediate organization groups that
1085            * match the name and description, optionally including the user's
1086            * inherited organization groups and user groups. System and staged groups
1087            * are not included.
1088            *
1089            * @param companyId the primary key of the company
1090            * @param name the group's name (optionally <code>null</code>)
1091            * @param description the group's description (optionally
1092            <code>null</code>)
1093            * @param params the finder params (optionally <code>null</code>). To
1094            include the user's inherited organization groups and user groups
1095            in the search, add entries having &quot;usersGroups&quot; and
1096            &quot;inherit&quot; as keys mapped to the the user's ID. For
1097            more information see {@link
1098            com.liferay.portal.service.persistence.GroupFinder}
1099            * @return the number of matching groups
1100            * @throws SystemException if a system exception occurred
1101            */
1102            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1103            public int searchCount(long companyId, java.lang.String name,
1104                    java.lang.String description,
1105                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params)
1106                    throws com.liferay.portal.kernel.exception.SystemException;
1107    
1108            /**
1109            * Sets the groups associated with the role, removing and adding
1110            * associations as necessary.
1111            *
1112            * @param roleId the primary key of the role
1113            * @param groupIds the primary keys of the groups
1114            * @throws SystemException if a system exception occurred
1115            */
1116            public void setRoleGroups(long roleId, long[] groupIds)
1117                    throws com.liferay.portal.kernel.exception.SystemException;
1118    
1119            /**
1120            * Removes the groups from the role.
1121            *
1122            * @param roleId the primary key of the role
1123            * @param groupIds the primary keys of the groups
1124            * @throws SystemException if a system exception occurred
1125            */
1126            public void unsetRoleGroups(long roleId, long[] groupIds)
1127                    throws com.liferay.portal.kernel.exception.SystemException;
1128    
1129            /**
1130            * Removes the user from the groups.
1131            *
1132            * @param userId the primary key of the user
1133            * @param groupIds the primary keys of the groups
1134            * @throws SystemException if a system exception occurred
1135            */
1136            public void unsetUserGroups(long userId, long[] groupIds)
1137                    throws com.liferay.portal.kernel.exception.SystemException;
1138    
1139            /**
1140            * Updates the group's asset replacing categories and tag names.
1141            *
1142            * @param userId the primary key of the user
1143            * @param group the group
1144            * @param assetCategoryIds the primary keys of the asset categories
1145            (optionally <code>null</code>)
1146            * @param assetTagNames the asset tag names (optionally <code>null</code>)
1147            * @throws PortalException if a user with the primary key could not be
1148            found
1149            * @throws SystemException if a system exception occurred
1150            */
1151            public void updateAsset(long userId, com.liferay.portal.model.Group group,
1152                    long[] assetCategoryIds, java.lang.String[] assetTagNames)
1153                    throws com.liferay.portal.kernel.exception.PortalException,
1154                            com.liferay.portal.kernel.exception.SystemException;
1155    
1156            /**
1157            * Updates the group's friendly URL.
1158            *
1159            * @param groupId the primary key of the group
1160            * @param friendlyURL the group's new friendlyURL (optionally
1161            <code>null</code>)
1162            * @return the group
1163            * @throws PortalException if a group with the primary key could not be
1164            found or if a valid friendly URL could not be created for the
1165            group
1166            * @throws SystemException if a system exception occurred
1167            */
1168            public com.liferay.portal.model.Group updateFriendlyURL(long groupId,
1169                    java.lang.String friendlyURL)
1170                    throws com.liferay.portal.kernel.exception.PortalException,
1171                            com.liferay.portal.kernel.exception.SystemException;
1172    
1173            /**
1174            * Updates the group's type settings.
1175            *
1176            * @param groupId the primary key of the group
1177            * @param typeSettings the group's new type settings (optionally
1178            <code>null</code>)
1179            * @return the group
1180            * @throws PortalException if a group with the primary key could not be
1181            found
1182            * @throws SystemException if a system exception occurred
1183            */
1184            public com.liferay.portal.model.Group updateGroup(long groupId,
1185                    java.lang.String typeSettings)
1186                    throws com.liferay.portal.kernel.exception.PortalException,
1187                            com.liferay.portal.kernel.exception.SystemException;
1188    
1189            /**
1190            * Updates the group.
1191            *
1192            * @param groupId the primary key of the group
1193            * @param name the group's new name
1194            * @param description the group's new description (optionally
1195            <code>null</code>)
1196            * @param type the group's new type. For more information see {@link
1197            com.liferay.portal.model.GroupConstants}
1198            * @param friendlyURL the group's new friendlyURL (optionally
1199            <code>null</code>)
1200            * @param active whether the group is active
1201            * @param serviceContext the service context to be applied (optionally
1202            <code>null</code>). Can specify the group's replacement asset
1203            category IDs and replacement asset tag names
1204            * @return the group
1205            * @throws PortalException if a group with the primary key could not be
1206            found or if the friendly URL was invalid or could one not be
1207            created
1208            * @throws SystemException if a system exception occurred
1209            */
1210            public com.liferay.portal.model.Group updateGroup(long groupId,
1211                    java.lang.String name, java.lang.String description, int type,
1212                    java.lang.String friendlyURL, boolean active,
1213                    com.liferay.portal.service.ServiceContext serviceContext)
1214                    throws com.liferay.portal.kernel.exception.PortalException,
1215                            com.liferay.portal.kernel.exception.SystemException;
1216    
1217            /**
1218            * Associates the group with a main site if the group is an organization.
1219            *
1220            * @param groupId the primary key of the group
1221            * @param site whether the group is to be associated with a main site
1222            * @return the group
1223            * @throws PortalException if a group with the primary key could not be
1224            found
1225            * @throws SystemException if a system exception occurred
1226            */
1227            public com.liferay.portal.model.Group updateSite(long groupId, boolean site)
1228                    throws com.liferay.portal.kernel.exception.PortalException,
1229                            com.liferay.portal.kernel.exception.SystemException;
1230    }