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