001    /**
002     * Copyright (c) 2000-present 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 aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.search.IndexableType;
022    import com.liferay.portal.kernel.transaction.Isolation;
023    import com.liferay.portal.kernel.transaction.Propagation;
024    import com.liferay.portal.kernel.transaction.Transactional;
025    
026    /**
027     * Provides the local service interface for Group. Methods of this
028     * service will not have security checks based on the propagated JAAS
029     * credentials because this service can only be accessed from within the same
030     * VM.
031     *
032     * @author Brian Wing Shun Chan
033     * @see GroupLocalServiceUtil
034     * @see com.liferay.portal.service.base.GroupLocalServiceBaseImpl
035     * @see com.liferay.portal.service.impl.GroupLocalServiceImpl
036     * @generated
037     */
038    @ProviderType
039    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
040            PortalException.class, SystemException.class})
041    public interface GroupLocalService extends BaseLocalService,
042            PersistedModelLocalService {
043            /*
044             * NOTE FOR DEVELOPERS:
045             *
046             * 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.
047             */
048    
049            /**
050            * Adds the group to the database. Also notifies the appropriate model listeners.
051            *
052            * @param group the group
053            * @return the group that was added
054            */
055            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
056            public com.liferay.portal.model.Group addGroup(
057                    com.liferay.portal.model.Group group);
058    
059            /**
060            * Adds a group.
061            *
062            * @param userId the primary key of the group's creator/owner
063            * @param className the entity's class name
064            * @param classPK the primary key of the entity's instance
065            * @param liveGroupId the primary key of the live group
066            * @param name the entity's name
067            * @param description the group's description (optionally
068            <code>null</code>)
069            * @param type the group's type. For more information see {@link
070            GroupConstants}.
071            * @param friendlyURL the group's friendlyURL (optionally
072            <code>null</code>)
073            * @param site whether the group is to be associated with a main site
074            * @param active whether the group is active
075            * @param serviceContext the service context to be applied (optionally
076            <code>null</code>). Can set asset category IDs and asset tag
077            names for the group, and whether the group is for staging.
078            * @return the group
079            * @throws PortalException if a portal exception occurred
080            * @deprecated As of 6.2.0, replaced by {@link #addGroup(long, long, String,
081            long, long, Map, Map, int, boolean, int, String, boolean,
082            boolean, ServiceContext)}
083            */
084            @java.lang.Deprecated
085            public com.liferay.portal.model.Group addGroup(long userId,
086                    java.lang.String className, long classPK, long liveGroupId,
087                    java.lang.String name, java.lang.String description, int type,
088                    java.lang.String friendlyURL, boolean site, boolean active,
089                    com.liferay.portal.service.ServiceContext serviceContext)
090                    throws PortalException;
091    
092            /**
093            * Adds the group using the default live group.
094            *
095            * @param userId the primary key of the group's creator/owner
096            * @param className the entity's class name
097            * @param classPK the primary key of the entity's instance
098            * @param name the entity's name
099            * @param description the group's description (optionally
100            <code>null</code>)
101            * @param type the group's type. For more information see {@link
102            GroupConstants}.
103            * @param friendlyURL the group's friendlyURL
104            * @param site whether the group is to be associated with a main site
105            * @param active whether the group is active
106            * @param serviceContext the service context to be applied (optionally
107            <code>null</code>). Can set asset category IDs and asset tag
108            names for the group, and whether the group is for staging.
109            * @return the group
110            * @throws PortalException if a portal exception occurred
111            * @deprecated As of 6.2.0, replaced by {@link #addGroup(long, long, String,
112            long, long, Map, Map, int, boolean, int, String, boolean,
113            boolean, ServiceContext)}
114            */
115            @java.lang.Deprecated
116            public com.liferay.portal.model.Group addGroup(long userId,
117                    java.lang.String className, long classPK, java.lang.String name,
118                    java.lang.String description, int type, java.lang.String friendlyURL,
119                    boolean site, boolean active,
120                    com.liferay.portal.service.ServiceContext serviceContext)
121                    throws PortalException;
122    
123            /**
124            * Adds a group.
125            *
126            * @param userId the primary key of the group's creator/owner
127            * @param parentGroupId the primary key of the parent group
128            * @param className the entity's class name
129            * @param classPK the primary key of the entity's instance
130            * @param liveGroupId the primary key of the live group
131            * @param name the entity's name
132            * @param description the group's description (optionally
133            <code>null</code>)
134            * @param type the group's type. For more information see {@link
135            GroupConstants}.
136            * @param manualMembership whether manual membership is allowed for the
137            group
138            * @param membershipRestriction the group's membership restriction. For
139            more information see {@link GroupConstants}.
140            * @param friendlyURL the group's friendlyURL (optionally
141            <code>null</code>)
142            * @param site whether the group is to be associated with a main site
143            * @param active whether the group is active
144            * @param serviceContext the service context to be applied (optionally
145            <code>null</code>). Can set asset category IDs and asset tag
146            names for the group, and whether the group is for staging.
147            * @return the group
148            * @throws PortalException if a portal exception occured
149            * @deprecated As of 7.0.0, replaced by {@link #addGroup(long, long, String,
150            long, long, Map, Map, int, boolean, int, String, boolean,
151            boolean, ServiceContext)}
152            */
153            @java.lang.Deprecated
154            public com.liferay.portal.model.Group addGroup(long userId,
155                    long parentGroupId, java.lang.String className, long classPK,
156                    long liveGroupId, java.lang.String name, java.lang.String description,
157                    int type, boolean manualMembership, int membershipRestriction,
158                    java.lang.String friendlyURL, boolean site, boolean active,
159                    com.liferay.portal.service.ServiceContext serviceContext)
160                    throws PortalException;
161    
162            public com.liferay.portal.model.Group addGroup(long userId,
163                    long parentGroupId, java.lang.String className, long classPK,
164                    long liveGroupId,
165                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
166                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
167                    int type, boolean manualMembership, int membershipRestriction,
168                    java.lang.String friendlyURL, boolean site, boolean active,
169                    com.liferay.portal.service.ServiceContext serviceContext)
170                    throws PortalException;
171    
172            public com.liferay.portal.model.Group addGroup(long userId,
173                    long parentGroupId, java.lang.String className, long classPK,
174                    long liveGroupId,
175                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
176                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
177                    int type, boolean manualMembership, int membershipRestriction,
178                    java.lang.String friendlyURL, boolean site, boolean inheritContent,
179                    boolean active, com.liferay.portal.service.ServiceContext serviceContext)
180                    throws PortalException;
181    
182            /**
183            * Adds the group using the default live group.
184            *
185            * @param userId the primary key of the group's creator/owner
186            * @param parentGroupId the primary key of the parent group
187            * @param className the entity's class name
188            * @param classPK the primary key of the entity's instance
189            * @param name the entity's name
190            * @param description the group's description (optionally
191            <code>null</code>)
192            * @param type the group's type. For more information see {@link
193            GroupConstants}.
194            * @param friendlyURL the group's friendlyURL
195            * @param site whether the group is to be associated with a main site
196            * @param active whether the group is active
197            * @param serviceContext the service context to be applied (optionally
198            <code>null</code>). Can set asset category IDs and asset tag
199            names for the group, and whether the group is for staging.
200            * @return the group
201            * @throws PortalException if a portal exception occurred
202            * @deprecated As of 6.2.0, replaced by {@link #addGroup(long, long, String,
203            long, long, Map, Map, int, boolean, int, String, boolean,
204            boolean, ServiceContext)}
205            */
206            @java.lang.Deprecated
207            public com.liferay.portal.model.Group addGroup(long userId,
208                    long parentGroupId, java.lang.String className, long classPK,
209                    java.lang.String name, java.lang.String description, int type,
210                    java.lang.String friendlyURL, boolean site, boolean active,
211                    com.liferay.portal.service.ServiceContext serviceContext)
212                    throws PortalException;
213    
214            public void addOrganizationGroup(long organizationId,
215                    com.liferay.portal.model.Group group);
216    
217            public void addOrganizationGroup(long organizationId, long groupId);
218    
219            public void addOrganizationGroups(long organizationId,
220                    java.util.List<com.liferay.portal.model.Group> Groups);
221    
222            public void addOrganizationGroups(long organizationId, long[] groupIds);
223    
224            public void addRoleGroup(long roleId, com.liferay.portal.model.Group group);
225    
226            public void addRoleGroup(long roleId, long groupId);
227    
228            public void addRoleGroups(long roleId,
229                    java.util.List<com.liferay.portal.model.Group> Groups);
230    
231            public void addRoleGroups(long roleId, long[] groupIds);
232    
233            public void addUserGroup(long userId, com.liferay.portal.model.Group group);
234    
235            public void addUserGroup(long userId, long groupId);
236    
237            public void addUserGroupGroup(long userGroupId,
238                    com.liferay.portal.model.Group group);
239    
240            public void addUserGroupGroup(long userGroupId, long groupId);
241    
242            public void addUserGroupGroups(long userGroupId,
243                    java.util.List<com.liferay.portal.model.Group> Groups);
244    
245            public void addUserGroupGroups(long userGroupId, long[] groupIds);
246    
247            public void addUserGroups(long userId,
248                    java.util.List<com.liferay.portal.model.Group> Groups);
249    
250            public void addUserGroups(long userId, long[] groupIds);
251    
252            /**
253            * Adds a company group if it does not exist. This method is typically used
254            * when a virtual host is added.
255            *
256            * @param companyId the primary key of the company
257            * @throws PortalException if a portal exception occurred
258            */
259            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
260            public void checkCompanyGroup(long companyId) throws PortalException;
261    
262            /**
263            * Creates systems groups and other related data needed by the system on the
264            * very first startup. Also takes care of creating the Control Panel groups
265            * and layouts.
266            *
267            * @param companyId the primary key of the company
268            * @throws PortalException if a portal exception occurred
269            */
270            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
271            public void checkSystemGroups(long companyId) throws PortalException;
272    
273            public void clearOrganizationGroups(long organizationId);
274    
275            public void clearRoleGroups(long roleId);
276    
277            public void clearUserGroupGroups(long userGroupId);
278    
279            public void clearUserGroups(long userId);
280    
281            /**
282            * Creates a new group with the primary key. Does not add the group to the database.
283            *
284            * @param groupId the primary key for the new group
285            * @return the new group
286            */
287            public com.liferay.portal.model.Group createGroup(long groupId);
288    
289            /**
290            * Deletes the group from the database. Also notifies the appropriate model listeners.
291            *
292            * @param group the group
293            * @return the group that was removed
294            * @throws PortalException
295            */
296            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
297            public com.liferay.portal.model.Group deleteGroup(
298                    com.liferay.portal.model.Group group) throws PortalException;
299    
300            /**
301            * Deletes the group with the primary key from the database. Also notifies the appropriate model listeners.
302            *
303            * @param groupId the primary key of the group
304            * @return the group that was removed
305            * @throws PortalException if a group with the primary key could not be found
306            */
307            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
308            public com.liferay.portal.model.Group deleteGroup(long groupId)
309                    throws PortalException;
310    
311            public void deleteOrganizationGroup(long organizationId,
312                    com.liferay.portal.model.Group group);
313    
314            public void deleteOrganizationGroup(long organizationId, long groupId);
315    
316            public void deleteOrganizationGroups(long organizationId,
317                    java.util.List<com.liferay.portal.model.Group> Groups);
318    
319            public void deleteOrganizationGroups(long organizationId, long[] groupIds);
320    
321            /**
322            * @throws PortalException
323            */
324            @Override
325            public com.liferay.portal.model.PersistedModel deletePersistedModel(
326                    com.liferay.portal.model.PersistedModel persistedModel)
327                    throws PortalException;
328    
329            public void deleteRoleGroup(long roleId,
330                    com.liferay.portal.model.Group group);
331    
332            public void deleteRoleGroup(long roleId, long groupId);
333    
334            public void deleteRoleGroups(long roleId,
335                    java.util.List<com.liferay.portal.model.Group> Groups);
336    
337            public void deleteRoleGroups(long roleId, long[] groupIds);
338    
339            public void deleteUserGroup(long userId,
340                    com.liferay.portal.model.Group group);
341    
342            public void deleteUserGroup(long userId, long groupId);
343    
344            public void deleteUserGroupGroup(long userGroupId,
345                    com.liferay.portal.model.Group group);
346    
347            public void deleteUserGroupGroup(long userGroupId, long groupId);
348    
349            public void deleteUserGroupGroups(long userGroupId,
350                    java.util.List<com.liferay.portal.model.Group> Groups);
351    
352            public void deleteUserGroupGroups(long userGroupId, long[] groupIds);
353    
354            public void deleteUserGroups(long userId,
355                    java.util.List<com.liferay.portal.model.Group> Groups);
356    
357            public void deleteUserGroups(long userId, long[] groupIds);
358    
359            public void disableStaging(long groupId) throws PortalException;
360    
361            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
362    
363            /**
364            * Performs a dynamic query on the database and returns the matching rows.
365            *
366            * @param dynamicQuery the dynamic query
367            * @return the matching rows
368            */
369            public <T> java.util.List<T> dynamicQuery(
370                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
371    
372            /**
373            * Performs a dynamic query on the database and returns a range of the matching rows.
374            *
375            * <p>
376            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.GroupModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
377            * </p>
378            *
379            * @param dynamicQuery the dynamic query
380            * @param start the lower bound of the range of model instances
381            * @param end the upper bound of the range of model instances (not inclusive)
382            * @return the range of matching rows
383            */
384            public <T> java.util.List<T> dynamicQuery(
385                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
386                    int end);
387    
388            /**
389            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
390            *
391            * <p>
392            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.GroupModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
393            * </p>
394            *
395            * @param dynamicQuery the dynamic query
396            * @param start the lower bound of the range of model instances
397            * @param end the upper bound of the range of model instances (not inclusive)
398            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
399            * @return the ordered range of matching rows
400            */
401            public <T> java.util.List<T> dynamicQuery(
402                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
403                    int end,
404                    com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator);
405    
406            /**
407            * Returns the number of rows matching the dynamic query.
408            *
409            * @param dynamicQuery the dynamic query
410            * @return the number of rows matching the dynamic query
411            */
412            public long dynamicQueryCount(
413                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
414    
415            /**
416            * Returns the number of rows matching the dynamic query.
417            *
418            * @param dynamicQuery the dynamic query
419            * @param projection the projection to apply to the query
420            * @return the number of rows matching the dynamic query
421            */
422            public long dynamicQueryCount(
423                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
424                    com.liferay.portal.kernel.dao.orm.Projection projection);
425    
426            public void enableStaging(long groupId) throws PortalException;
427    
428            /**
429            * Returns the company's group.
430            *
431            * @param companyId the primary key of the company
432            * @return the company's group, or <code>null</code> if a matching group
433            could not be found
434            */
435            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
436            public com.liferay.portal.model.Group fetchCompanyGroup(long companyId);
437    
438            /**
439            * Returns the group with the matching friendly URL.
440            *
441            * @param companyId the primary key of the company
442            * @param friendlyURL the friendly URL
443            * @return the group with the friendly URL, or <code>null</code> if a
444            matching group could not be found
445            */
446            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
447            public com.liferay.portal.model.Group fetchFriendlyURLGroup(
448                    long companyId, java.lang.String friendlyURL);
449    
450            /**
451            * Returns the group with the matching group key by first searching the
452            * system groups and then using the finder cache.
453            *
454            * @param companyId the primary key of the company
455            * @param groupKey the group key
456            * @return the group with the group key and associated company, or
457            <code>null</code> if a matching group could not be found
458            */
459            @com.liferay.portal.kernel.spring.aop.Skip
460            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
461            public com.liferay.portal.model.Group fetchGroup(long companyId,
462                    java.lang.String groupKey);
463    
464            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
465            public com.liferay.portal.model.Group fetchGroup(long groupId);
466    
467            /**
468            * Returns the group with the matching UUID and company.
469            *
470            * @param uuid the group's UUID
471            * @param companyId the primary key of the company
472            * @return the matching group, or <code>null</code> if a matching group could not be found
473            */
474            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
475            public com.liferay.portal.model.Group fetchGroupByUuidAndCompanyId(
476                    java.lang.String uuid, long companyId);
477    
478            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
479            public com.liferay.portal.model.Group fetchUserGroup(long companyId,
480                    long userId);
481    
482            /**
483            * Returns the default user's personal site group.
484            *
485            * @param companyId the primary key of the company
486            * @return the default user's personal site group, or <code>null</code> if a
487            matching group could not be found
488            * @throws PortalException if a portal exception occurred
489            */
490            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
491            public com.liferay.portal.model.Group fetchUserPersonalSiteGroup(
492                    long companyId) throws PortalException;
493    
494            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
495            public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery();
496    
497            /**
498            * Returns all the active or inactive groups associated with the company.
499            *
500            * @param companyId the primary key of the company
501            * @param active whether to return only active groups, or only inactive
502            groups
503            * @return the active or inactive groups associated with the company
504            */
505            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
506            public java.util.List<com.liferay.portal.model.Group> getActiveGroups(
507                    long companyId, boolean active);
508    
509            /**
510            * Returns the company group.
511            *
512            * @param companyId the primary key of the company
513            * @return the group associated with the company
514            * @throws PortalException if a portal exception occurred
515            */
516            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
517            public com.liferay.portal.model.Group getCompanyGroup(long companyId)
518                    throws PortalException;
519    
520            /**
521            * Returns a range of all the groups associated with the company.
522            *
523            * <p>
524            * Useful when paginating results. Returns a maximum of <code>end -
525            * start</code> instances. <code>start</code> and <code>end</code> are not
526            * primary keys, they are indexes in the result set. Thus, <code>0</code>
527            * refers to the first result in the set. Setting both <code>start</code>
528            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
529            * result set.
530            * </p>
531            *
532            * @param companyId the primary key of the company
533            * @param start the lower bound of the range of groups to return
534            * @param end the upper bound of the range of groups to return (not
535            inclusive)
536            * @return the range of groups associated with the company
537            */
538            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
539            public java.util.List<com.liferay.portal.model.Group> getCompanyGroups(
540                    long companyId, int start, int end);
541    
542            /**
543            * Returns the number of groups associated with the company.
544            *
545            * @param companyId the primary key of the company
546            * @return the number of groups associated with the company
547            */
548            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
549            public int getCompanyGroupsCount(long companyId);
550    
551            /**
552            * Returns the group with the matching friendly URL.
553            *
554            * @param companyId the primary key of the company
555            * @param friendlyURL the group's friendlyURL
556            * @return the group with the friendly URL
557            * @throws PortalException if a portal exception occurred
558            */
559            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
560            public com.liferay.portal.model.Group getFriendlyURLGroup(long companyId,
561                    java.lang.String friendlyURL) throws PortalException;
562    
563            /**
564            * Returns the group with the matching group key.
565            *
566            * @param companyId the primary key of the company
567            * @param groupKey the group key
568            * @return the group with the group key
569            * @throws PortalException if a portal exception occurred
570            */
571            @com.liferay.portal.kernel.spring.aop.Skip
572            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
573            public com.liferay.portal.model.Group getGroup(long companyId,
574                    java.lang.String groupKey) throws PortalException;
575    
576            /**
577            * Returns the group with the primary key.
578            *
579            * @param groupId the primary key of the group
580            * @return the group
581            * @throws PortalException if a group with the primary key could not be found
582            */
583            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
584            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
585            public com.liferay.portal.model.Group getGroup(long groupId)
586                    throws PortalException;
587    
588            /**
589            * Returns the group with the matching UUID and company.
590            *
591            * @param uuid the group's UUID
592            * @param companyId the primary key of the company
593            * @return the matching group
594            * @throws PortalException if a matching group could not be found
595            */
596            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
597            public com.liferay.portal.model.Group getGroupByUuidAndCompanyId(
598                    java.lang.String uuid, long companyId) throws PortalException;
599    
600            /**
601            * @deprecated As of 7.0.0, replaced by {@link
602            Group#getDescriptiveName(Locale)}
603            */
604            @java.lang.Deprecated
605            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
606            public java.lang.String getGroupDescriptiveName(
607                    com.liferay.portal.model.Group group, java.util.Locale locale)
608                    throws PortalException;
609    
610            /**
611            * @deprecated As of 7.0.0, replaced by {@link
612            Group#getDescriptiveName(Locale)}
613            */
614            @java.lang.Deprecated
615            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
616            public java.lang.String getGroupDescriptiveName(long groupId,
617                    java.util.Locale locale) throws PortalException;
618    
619            /**
620            * Returns all the groups that are direct children of the parent group with
621            * the matching className.
622            *
623            * @param companyId the primary key of the company
624            * @param className the class name of the group
625            * @param parentGroupId the primary key of the parent group
626            * @return the matching groups, or <code>null</code> if no matches were
627            found
628            */
629            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
630            public java.util.List<com.liferay.portal.model.Group> getGroups(
631                    long companyId, java.lang.String className, long parentGroupId);
632    
633            /**
634            * Returns a range of all the groups that are direct children of the parent
635            * group with the matching className.
636            *
637            * @param companyId the primary key of the company
638            * @param className the class name of the group
639            * @param parentGroupId the primary key of the parent group
640            * @param start the lower bound of the range of results
641            * @param end the upper bound of the range of results (not inclusive)
642            * @return the range of matching groups
643            */
644            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
645            public java.util.List<com.liferay.portal.model.Group> getGroups(
646                    long companyId, java.lang.String className, long parentGroupId,
647                    int start, int end);
648    
649            /**
650            * Returns all the groups that are direct children of the parent group.
651            *
652            * @param companyId the primary key of the company
653            * @param parentGroupId the primary key of the parent group
654            * @param site whether the group is to be associated with a main site
655            * @return the matching groups, or <code>null</code> if no matches were
656            found
657            */
658            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
659            public java.util.List<com.liferay.portal.model.Group> getGroups(
660                    long companyId, long parentGroupId, boolean site);
661    
662            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
663            public java.util.List<com.liferay.portal.model.Group> getGroups(
664                    long companyId, long parentGroupId, boolean site, boolean inheritContent);
665    
666            /**
667            * Returns the groups with the matching primary keys.
668            *
669            * @param groupIds the primary keys of the groups
670            * @return the groups with the primary keys
671            * @throws PortalException if a portal exception occurred
672            */
673            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
674            public java.util.List<com.liferay.portal.model.Group> getGroups(
675                    long[] groupIds) throws PortalException;
676    
677            /**
678            * Returns a range of all the groups.
679            *
680            * <p>
681            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.GroupModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
682            * </p>
683            *
684            * @param start the lower bound of the range of groups
685            * @param end the upper bound of the range of groups (not inclusive)
686            * @return the range of groups
687            */
688            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
689            public java.util.List<com.liferay.portal.model.Group> getGroups(int start,
690                    int end);
691    
692            /**
693            * Returns the number of groups.
694            *
695            * @return the number of groups
696            */
697            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
698            public int getGroupsCount();
699    
700            /**
701            * Returns the number of groups that are direct children of the parent group
702            * with the matching className.
703            *
704            * @param companyId the primary key of the company
705            * @param className the class name of the group
706            * @param parentGroupId the primary key of the parent group
707            * @return the number of matching groups
708            */
709            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
710            public int getGroupsCount(long companyId, java.lang.String className,
711                    long parentGroupId);
712    
713            /**
714            * Returns the number of groups that are direct children of the parent
715            * group.
716            *
717            * @param companyId the primary key of the company
718            * @param parentGroupId the primary key of the parent group
719            * @param site whether the group is to be associated with a main site
720            * @return the number of matching groups
721            */
722            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
723            public int getGroupsCount(long companyId, long parentGroupId, boolean site);
724    
725            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
726            public com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
727    
728            /**
729            * Returns the group associated with the layout.
730            *
731            * @param companyId the primary key of the company
732            * @param plid the primary key of the layout
733            * @return the group associated with the layout
734            * @throws PortalException if a portal exception occurred
735            */
736            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
737            public com.liferay.portal.model.Group getLayoutGroup(long companyId,
738                    long plid) throws PortalException;
739    
740            /**
741            * Returns the group associated with the layout prototype.
742            *
743            * @param companyId the primary key of the company
744            * @param layoutPrototypeId the primary key of the layout prototype
745            * @return the group associated with the layout prototype
746            * @throws PortalException if a portal exception occurred
747            */
748            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
749            public com.liferay.portal.model.Group getLayoutPrototypeGroup(
750                    long companyId, long layoutPrototypeId) throws PortalException;
751    
752            /**
753            * Returns the group associated with the layout set prototype.
754            *
755            * @param companyId the primary key of the company
756            * @param layoutSetPrototypeId the primary key of the layout set prototype
757            * @return the group associated with the layout set prototype
758            * @throws PortalException if a portal exception occurred
759            */
760            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
761            public com.liferay.portal.model.Group getLayoutSetPrototypeGroup(
762                    long companyId, long layoutSetPrototypeId) throws PortalException;
763    
764            /**
765            * Returns a range of all groups that are children of the parent group and
766            * that have at least one layout.
767            *
768            * <p>
769            * Useful when paginating results. Returns a maximum of <code>end -
770            * start</code> instances. <code>start</code> and <code>end</code> are not
771            * primary keys, they are indexes in the result set. Thus, <code>0</code>
772            * refers to the first result in the set. Setting both <code>start</code>
773            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
774            * result set.
775            * </p>
776            *
777            * @param companyId the primary key of the company
778            * @param parentGroupId the primary key of the parent group
779            * @param site whether the group is to be associated with a main site
780            * @param start the lower bound of the range of groups to return
781            * @param end the upper bound of the range of groups to return (not
782            inclusive)
783            * @return the range of matching groups
784            * @deprecated As of 6.2.0, replaced by {@link #getLayoutsGroups(long, long,
785            boolean, int, int, OrderByComparator)}
786            */
787            @java.lang.Deprecated
788            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
789            public java.util.List<com.liferay.portal.model.Group> getLayoutsGroups(
790                    long companyId, long parentGroupId, boolean site, int start, int end);
791    
792            /**
793            * Returns a range of all groups that are children of the parent group and
794            * that have at least one layout.
795            *
796            * <p>
797            * Useful when paginating results. Returns a maximum of <code>end -
798            * start</code> instances. <code>start</code> and <code>end</code> are not
799            * primary keys, they are indexes in the result set. Thus, <code>0</code>
800            * refers to the first result in the set. Setting both <code>start</code>
801            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
802            * result set.
803            * </p>
804            *
805            * @param companyId the primary key of the company
806            * @param parentGroupId the primary key of the parent group
807            * @param site whether the group is to be associated with a main site
808            * @param start the lower bound of the range of groups to return
809            * @param end the upper bound of the range of groups to return (not
810            inclusive)
811            * @param obc the comparator to order the groups (optionally
812            <code>null</code>)
813            * @return the range of matching groups ordered by comparator
814            <code>obc</code>
815            */
816            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
817            public java.util.List<com.liferay.portal.model.Group> getLayoutsGroups(
818                    long companyId, long parentGroupId, boolean site, int start, int end,
819                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
820    
821            /**
822            * Returns the number of groups that are children or the parent group and
823            * that have at least one layout
824            *
825            * @param companyId the primary key of the company
826            * @param parentGroupId the primary key of the parent group
827            * @param site whether the group is to be associated with a main site
828            * @return the number of matching groups
829            */
830            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
831            public int getLayoutsGroupsCount(long companyId, long parentGroupId,
832                    boolean site);
833    
834            /**
835            * Returns all live groups.
836            *
837            * @return all live groups
838            */
839            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
840            public java.util.List<com.liferay.portal.model.Group> getLiveGroups();
841    
842            /**
843            * Returns a range of all non-system groups of a specified type (className)
844            * that have no layouts.
845            *
846            * <p>
847            * Useful when paginating results. Returns a maximum of <code>end -
848            * start</code> instances. <code>start</code> and <code>end</code> are not
849            * primary keys, they are indexes in the result set. Thus, <code>0</code>
850            * refers to the first result in the set. Setting both <code>start</code>
851            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
852            * result set.
853            * </p>
854            *
855            * @param className the entity's class name
856            * @param privateLayout whether to include groups with private layout sets
857            or non-private layout sets
858            * @param start the lower bound of the range of groups to return
859            * @param end the upper bound of the range of groups to return (not
860            inclusive)
861            * @return the range of matching groups
862            */
863            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
864            public java.util.List<com.liferay.portal.model.Group> getNoLayoutsGroups(
865                    java.lang.String className, boolean privateLayout, int start, int end);
866    
867            /**
868            * Returns all non-system groups having <code>null</code> or empty friendly
869            * URLs.
870            *
871            * @return the non-system groups having <code>null</code> or empty friendly
872            URLs
873            */
874            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
875            public java.util.List<com.liferay.portal.model.Group> getNullFriendlyURLGroups();
876    
877            /**
878            * Returns the OSGi service identifier.
879            *
880            * @return the OSGi service identifier
881            */
882            public java.lang.String getOSGiServiceIdentifier();
883    
884            /**
885            * Returns the specified organization group.
886            *
887            * @param companyId the primary key of the company
888            * @param organizationId the primary key of the organization
889            * @return the group associated with the organization
890            * @throws PortalException if a portal exception occurred
891            */
892            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
893            public com.liferay.portal.model.Group getOrganizationGroup(long companyId,
894                    long organizationId) throws PortalException;
895    
896            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
897            public java.util.List<com.liferay.portal.model.Group> getOrganizationGroups(
898                    long organizationId);
899    
900            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
901            public java.util.List<com.liferay.portal.model.Group> getOrganizationGroups(
902                    long organizationId, int start, int end);
903    
904            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
905            public java.util.List<com.liferay.portal.model.Group> getOrganizationGroups(
906                    long organizationId, int start, int end,
907                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> orderByComparator);
908    
909            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
910            public int getOrganizationGroupsCount(long organizationId);
911    
912            /**
913            * Returns the organizationIds of the organizations associated with the group.
914            *
915            * @param groupId the groupId of the group
916            * @return long[] the organizationIds of organizations associated with the group
917            */
918            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
919            public long[] getOrganizationPrimaryKeys(long groupId);
920    
921            /**
922            * Returns the specified organization groups.
923            *
924            * @param organizations the organizations
925            * @return the groups associated with the organizations
926            */
927            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
928            public java.util.List<com.liferay.portal.model.Group> getOrganizationsGroups(
929                    java.util.List<com.liferay.portal.model.Organization> organizations);
930    
931            /**
932            * Returns all the groups related to the organizations.
933            *
934            * @param organizations the organizations
935            * @return the groups related to the organizations
936            */
937            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
938            public java.util.List<com.liferay.portal.model.Group> getOrganizationsRelatedGroups(
939                    java.util.List<com.liferay.portal.model.Organization> organizations);
940    
941            /**
942            * Returns the group followed by all its parent groups ordered by closest
943            * ancestor.
944            *
945            * @param groupId the primary key of the group
946            * @return the group followed by all its parent groups ordered by closest
947            ancestor
948            * @throws PortalException if a portal exception occurred
949            */
950            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
951            public java.util.List<com.liferay.portal.model.Group> getParentGroups(
952                    long groupId) throws PortalException;
953    
954            @Override
955            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
956            public com.liferay.portal.model.PersistedModel getPersistedModel(
957                    java.io.Serializable primaryKeyObj) throws PortalException;
958    
959            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
960            public java.util.List<com.liferay.portal.model.Group> getRoleGroups(
961                    long roleId);
962    
963            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
964            public java.util.List<com.liferay.portal.model.Group> getRoleGroups(
965                    long roleId, int start, int end);
966    
967            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
968            public java.util.List<com.liferay.portal.model.Group> getRoleGroups(
969                    long roleId, int start, int end,
970                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> orderByComparator);
971    
972            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
973            public int getRoleGroupsCount(long roleId);
974    
975            /**
976            * Returns the roleIds of the roles associated with the group.
977            *
978            * @param groupId the groupId of the group
979            * @return long[] the roleIds of roles associated with the group
980            */
981            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
982            public long[] getRolePrimaryKeys(long groupId);
983    
984            /**
985            * Returns the staging group.
986            *
987            * @param liveGroupId the primary key of the live group
988            * @return the staging group
989            * @throws PortalException if a portal exception occurred
990            */
991            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
992            public com.liferay.portal.model.Group getStagingGroup(long liveGroupId)
993                    throws PortalException;
994    
995            /**
996            * Returns the group directly associated with the user.
997            *
998            * @param companyId the primary key of the company
999            * @param userId the primary key of the user
1000            * @return the group directly associated with the user
1001            * @throws PortalException if a portal exception occurred
1002            */
1003            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1004            public com.liferay.portal.model.Group getUserGroup(long companyId,
1005                    long userId) throws PortalException;
1006    
1007            /**
1008            * Returns the specified "user group" group. That is, the group that
1009            * represents the {@link UserGroup} entity.
1010            *
1011            * @param companyId the primary key of the company
1012            * @param userGroupId the primary key of the user group
1013            * @return the group associated with the user group
1014            * @throws PortalException if a portal exception occurred
1015            */
1016            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1017            public com.liferay.portal.model.Group getUserGroupGroup(long companyId,
1018                    long userGroupId) throws PortalException;
1019    
1020            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1021            public java.util.List<com.liferay.portal.model.Group> getUserGroupGroups(
1022                    long userGroupId);
1023    
1024            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1025            public java.util.List<com.liferay.portal.model.Group> getUserGroupGroups(
1026                    long userGroupId, int start, int end);
1027    
1028            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1029            public java.util.List<com.liferay.portal.model.Group> getUserGroupGroups(
1030                    long userGroupId, int start, int end,
1031                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> orderByComparator);
1032    
1033            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1034            public int getUserGroupGroupsCount(long userGroupId);
1035    
1036            /**
1037            * Returns the userGroupIds of the user groups associated with the group.
1038            *
1039            * @param groupId the groupId of the group
1040            * @return long[] the userGroupIds of user groups associated with the group
1041            */
1042            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1043            public long[] getUserGroupPrimaryKeys(long groupId);
1044    
1045            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1046            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
1047                    long userId);
1048    
1049            /**
1050            * Returns all the user's site groups and immediate organization groups,
1051            * optionally including the user's inherited organization groups and user
1052            * groups. System and staged groups are not included.
1053            *
1054            * @param userId the primary key of the user
1055            * @param inherit whether to include the user's inherited organization
1056            groups and user groups
1057            * @return the user's groups and immediate organization groups
1058            * @throws PortalException if a portal exception occurred
1059            */
1060            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1061            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
1062                    long userId, boolean inherit) throws PortalException;
1063    
1064            /**
1065            * Returns an ordered range of all the user's site groups and immediate
1066            * organization groups, optionally including the user's inherited
1067            * organization groups and user groups. System and staged groups are not
1068            * included.
1069            *
1070            * <p>
1071            * Useful when paginating results. Returns a maximum of <code>end -
1072            * start</code> instances. <code>start</code> and <code>end</code> are not
1073            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1074            * refers to the first result in the set. Setting both <code>start</code>
1075            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1076            * result set.
1077            * </p>
1078            *
1079            * @param userId the primary key of the user
1080            * @param inherit whether to include the user's inherited organization
1081            groups and user groups
1082            * @param start the lower bound of the range of groups to return
1083            * @param end the upper bound of the range of groups to return (not
1084            inclusive)
1085            * @return the range of the user's groups and immediate organization groups
1086            ordered by name
1087            * @throws PortalException if a portal exception occurred
1088            */
1089            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1090            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
1091                    long userId, boolean inherit, int start, int end)
1092                    throws PortalException;
1093    
1094            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1095            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
1096                    long userId, int start, int end);
1097    
1098            /**
1099            * @throws PortalException
1100            */
1101            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1102            public java.util.List<com.liferay.portal.model.Group> getUserGroups(
1103                    long userId, int start, int end,
1104                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> orderByComparator)
1105                    throws PortalException;
1106    
1107            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1108            public int getUserGroupsCount(long userId);
1109    
1110            /**
1111            * Returns the groups associated with the user groups.
1112            *
1113            * @param userGroups the user groups
1114            * @return the groups associated with the user groups
1115            * @throws PortalException if a portal exception occurred
1116            */
1117            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1118            public java.util.List<com.liferay.portal.model.Group> getUserGroupsGroups(
1119                    java.util.List<com.liferay.portal.model.UserGroup> userGroups)
1120                    throws PortalException;
1121    
1122            /**
1123            * Returns all the groups related to the user groups.
1124            *
1125            * @param userGroups the user groups
1126            * @return the groups related to the user groups
1127            */
1128            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1129            public java.util.List<com.liferay.portal.model.Group> getUserGroupsRelatedGroups(
1130                    java.util.List<com.liferay.portal.model.UserGroup> userGroups);
1131    
1132            /**
1133            * Returns the range of all groups associated with the user's organization
1134            * groups, including the ancestors of the organization groups, unless portal
1135            * property <code>organizations.membership.strict</code> is set to
1136            * <code>true</code>.
1137            *
1138            * <p>
1139            * Useful when paginating results. Returns a maximum of <code>end -
1140            * start</code> instances. <code>start</code> and <code>end</code> are not
1141            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1142            * refers to the first result in the set. Setting both <code>start</code>
1143            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1144            * result set.
1145            * </p>
1146            *
1147            * @param userId the primary key of the user
1148            * @param start the lower bound of the range of groups to consider
1149            * @param end the upper bound of the range of groups to consider (not
1150            inclusive)
1151            * @return the range of groups associated with the user's organization
1152            groups
1153            * @throws PortalException if a portal exception occurred
1154            */
1155            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1156            public java.util.List<com.liferay.portal.model.Group> getUserOrganizationsGroups(
1157                    long userId, int start, int end) throws PortalException;
1158    
1159            /**
1160            * Returns the default user's personal site group.
1161            *
1162            * @param companyId the primary key of the company
1163            * @return the default user's personal site group
1164            * @throws PortalException if a portal exception occurred
1165            */
1166            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1167            public com.liferay.portal.model.Group getUserPersonalSiteGroup(
1168                    long companyId) throws PortalException;
1169    
1170            /**
1171            * Returns the userIds of the users associated with the group.
1172            *
1173            * @param groupId the groupId of the group
1174            * @return long[] the userIds of users associated with the group
1175            */
1176            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1177            public long[] getUserPrimaryKeys(long groupId);
1178    
1179            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1180            public java.util.List<com.liferay.portal.model.Group> getUserSitesGroups(
1181                    long userId) throws PortalException;
1182    
1183            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1184            public java.util.List<com.liferay.portal.model.Group> getUserSitesGroups(
1185                    long userId, boolean includeAdministrative) throws PortalException;
1186    
1187            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1188            public boolean hasOrganizationGroup(long organizationId, long groupId);
1189    
1190            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1191            public boolean hasOrganizationGroups(long organizationId);
1192    
1193            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1194            public boolean hasRoleGroup(long roleId, long groupId);
1195    
1196            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1197            public boolean hasRoleGroups(long roleId);
1198    
1199            /**
1200            * Returns <code>true</code> if the live group has a staging group.
1201            *
1202            * @param liveGroupId the primary key of the live group
1203            * @return <code>true</code> if the live group has a staging group;
1204            <code>false</code> otherwise
1205            */
1206            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1207            public boolean hasStagingGroup(long liveGroupId);
1208    
1209            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1210            public boolean hasUserGroup(long userId, long groupId);
1211    
1212            /**
1213            * Returns <code>true</code> if the user is immediately associated with the
1214            * group, or optionally if the user is associated with the group via the
1215            * user's organizations, inherited organizations, or user groups.
1216            *
1217            * @param userId the primary key of the user
1218            * @param groupId the primary key of the group
1219            * @param inherit whether to include organization groups and user groups to
1220            which the user belongs in the determination
1221            * @return <code>true</code> if the user is associated with the group;
1222            <code>false</code> otherwise
1223            */
1224            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1225            public boolean hasUserGroup(long userId, long groupId, boolean inherit);
1226    
1227            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1228            public boolean hasUserGroupGroup(long userGroupId, long groupId);
1229    
1230            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1231            public boolean hasUserGroupGroups(long userGroupId);
1232    
1233            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1234            public boolean hasUserGroups(long userId);
1235    
1236            /**
1237            * Returns the group with the matching group key by first searching the
1238            * system groups and then using the finder cache.
1239            *
1240            * @param companyId the primary key of the company
1241            * @param groupKey the group key
1242            * @return the group with the group key and associated company, or
1243            <code>null</code> if a matching group could not be found
1244            */
1245            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1246            public com.liferay.portal.model.Group loadFetchGroup(long companyId,
1247                    java.lang.String groupKey);
1248    
1249            /**
1250            * Returns the group with the matching group key.
1251            *
1252            * @param companyId the primary key of the company
1253            * @param groupKey the group key
1254            * @return the group with the group key and associated company
1255            * @throws PortalException if a portal exception occurred
1256            */
1257            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1258            public com.liferay.portal.model.Group loadGetGroup(long companyId,
1259                    java.lang.String groupKey) throws PortalException;
1260    
1261            /**
1262            * Rebuilds the group tree.
1263            *
1264            * <p>
1265            * Only call this method if the tree has become stale through operations
1266            * other than normal CRUD. Under normal circumstances the tree is
1267            * automatically rebuilt whenever necessary.
1268            * </p>
1269            *
1270            * @param companyId the primary key of the group's company
1271            * @throws PortalException if a portal exception occurred
1272            */
1273            public void rebuildTree(long companyId) throws PortalException;
1274    
1275            /**
1276            * Returns an ordered range of all the groups that match the class name IDs
1277            * and keywords, optionally including the user's inherited organization
1278            * groups and user groups. System and staged groups are not included.
1279            *
1280            * <p>
1281            * Useful when paginating results. Returns a maximum of <code>end -
1282            * start</code> instances. <code>start</code> and <code>end</code> are not
1283            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1284            * refers to the first result in the set. Setting both <code>start</code>
1285            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1286            * result set.
1287            * </p>
1288            *
1289            * @param companyId the primary key of the company
1290            * @param classNameIds the primary keys of the class names of the entities
1291            the groups are related to (optionally <code>null</code>)
1292            * @param keywords the keywords (space separated), which may occur in the
1293            sites's name, or description (optionally <code>null</code>)
1294            * @param params the finder params (optionally <code>null</code>). To
1295            include a user's organizations, inherited organizations, and user
1296            groups in the search, add an entry with key
1297            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1298            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1299            For more information see {@link
1300            com.liferay.portal.service.persistence.GroupFinder}.
1301            * @param start the lower bound of the range of groups to return
1302            * @param end the upper bound of the range of groups to return (not
1303            inclusive)
1304            * @return the matching groups ordered by name
1305            */
1306            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1307            public java.util.List<com.liferay.portal.model.Group> search(
1308                    long companyId, long[] classNameIds, java.lang.String keywords,
1309                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1310                    int start, int end);
1311    
1312            /**
1313            * Returns an ordered range of all the groups that match the class name IDs
1314            * and keywords, optionally including the user's inherited organization
1315            * groups and user groups. System and staged groups are not included.
1316            *
1317            * <p>
1318            * Useful when paginating results. Returns a maximum of <code>end -
1319            * start</code> instances. <code>start</code> and <code>end</code> are not
1320            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1321            * refers to the first result in the set. Setting both <code>start</code>
1322            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1323            * result set.
1324            * </p>
1325            *
1326            * @param companyId the primary key of the company
1327            * @param classNameIds the primary keys of the class names of the entities
1328            the groups are related to (optionally <code>null</code>)
1329            * @param keywords the keywords (space separated), which may occur in the
1330            sites's name, or description (optionally <code>null</code>)
1331            * @param params the finder params (optionally <code>null</code>). To
1332            include a user's organizations, inherited organizations, and user
1333            groups in the search, add an entry with key
1334            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1335            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1336            For more information see {@link
1337            com.liferay.portal.service.persistence.GroupFinder}.
1338            * @param start the lower bound of the range of groups to return
1339            * @param end the upper bound of the range of groups to return (not
1340            inclusive)
1341            * @param obc the comparator to order the groups (optionally
1342            <code>null</code>)
1343            * @return the matching groups ordered by comparator <code>obc</code>
1344            */
1345            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1346            public java.util.List<com.liferay.portal.model.Group> search(
1347                    long companyId, long[] classNameIds, java.lang.String keywords,
1348                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1349                    int start, int end,
1350                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
1351    
1352            /**
1353            * Returns an ordered range of all the groups that match the class name IDs,
1354            * name, and description, optionally including the user's inherited
1355            * organization groups and user groups. System and staged groups are not
1356            * included.
1357            *
1358            * <p>
1359            * Useful when paginating results. Returns a maximum of <code>end -
1360            * start</code> instances. <code>start</code> and <code>end</code> are not
1361            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1362            * refers to the first result in the set. Setting both <code>start</code>
1363            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1364            * result set.
1365            * </p>
1366            *
1367            * @param companyId the primary key of the company
1368            * @param classNameIds the primary keys of the class names of the entities
1369            the groups are related to (optionally <code>null</code>)
1370            * @param name the group's name (optionally <code>null</code>)
1371            * @param description the group's description (optionally
1372            <code>null</code>)
1373            * @param params the finder params (optionally <code>null</code>). To
1374            include a user's organizations, inherited organizations, and user
1375            groups in the search, add an entry with key
1376            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1377            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1378            For more information see {@link
1379            com.liferay.portal.service.persistence.GroupFinder}.
1380            * @param andOperator whether every field must match its keywords, or just
1381            one field.
1382            * @param start the lower bound of the range of groups to return
1383            * @param end the upper bound of the range of groups to return (not
1384            inclusive)
1385            * @return the matching groups ordered by name
1386            */
1387            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1388            public java.util.List<com.liferay.portal.model.Group> search(
1389                    long companyId, long[] classNameIds, java.lang.String name,
1390                    java.lang.String description,
1391                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1392                    boolean andOperator, int start, int end);
1393    
1394            /**
1395            * Returns an ordered range of all the groups that match the class name IDs,
1396            * name, and description, optionally including the user's inherited
1397            * organization groups and user groups. System and staged groups are not
1398            * included.
1399            *
1400            * <p>
1401            * Useful when paginating results. Returns a maximum of <code>end -
1402            * start</code> instances. <code>start</code> and <code>end</code> are not
1403            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1404            * refers to the first result in the set. Setting both <code>start</code>
1405            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1406            * result set.
1407            * </p>
1408            *
1409            * @param companyId the primary key of the company
1410            * @param classNameIds the primary keys of the class names of the entities
1411            the groups are related to (optionally <code>null</code>)
1412            * @param name the group's name (optionally <code>null</code>)
1413            * @param description the group's description (optionally
1414            <code>null</code>)
1415            * @param params the finder params (optionally <code>null</code>). To
1416            include a user's organizations, inherited organizations, and user
1417            groups in the search, add an entry with key
1418            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1419            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1420            For more information see {@link
1421            com.liferay.portal.service.persistence.GroupFinder}.
1422            * @param andOperator whether every field must match its keywords, or just
1423            one field.
1424            * @param start the lower bound of the range of groups to return
1425            * @param end the upper bound of the range of groups to return (not
1426            inclusive)
1427            * @param obc the comparator to order the groups (optionally
1428            <code>null</code>)
1429            * @return the matching groups ordered by comparator <code>obc</code>
1430            */
1431            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1432            public java.util.List<com.liferay.portal.model.Group> search(
1433                    long companyId, long[] classNameIds, java.lang.String name,
1434                    java.lang.String description,
1435                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1436                    boolean andOperator, int start, int end,
1437                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
1438    
1439            /**
1440            * Returns an ordered range of all the groups belonging to the parent group
1441            * that match the class name IDs and keywords, optionally including the
1442            * user's inherited organization groups and user groups. System and staged
1443            * groups are not included.
1444            *
1445            * <p>
1446            * Useful when paginating results. Returns a maximum of <code>end -
1447            * start</code> instances. <code>start</code> and <code>end</code> are not
1448            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1449            * refers to the first result in the set. Setting both <code>start</code>
1450            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1451            * result set.
1452            * </p>
1453            *
1454            * @param companyId the primary key of the company
1455            * @param classNameIds the primary keys of the class names of the entities
1456            the groups are related to (optionally <code>null</code>)
1457            * @param parentGroupId the primary key of the parent group
1458            * @param keywords the keywords (space separated), which may occur in the
1459            sites's name, or description (optionally <code>null</code>)
1460            * @param params the finder params (optionally <code>null</code>). To
1461            include a user's organizations, inherited organizations, and user
1462            groups in the search, add an entry with key
1463            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1464            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1465            For more information see {@link
1466            com.liferay.portal.service.persistence.GroupFinder}.
1467            * @param start the lower bound of the range of groups to return
1468            * @param end the upper bound of the range of groups to return (not
1469            inclusive)
1470            * @return the matching groups ordered by name
1471            */
1472            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1473            public java.util.List<com.liferay.portal.model.Group> search(
1474                    long companyId, long[] classNameIds, long parentGroupId,
1475                    java.lang.String keywords,
1476                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1477                    int start, int end);
1478    
1479            /**
1480            * Returns an ordered range of all the groups belonging to the parent group
1481            * that match the class name IDs and keywords, optionally including the
1482            * user's inherited organization groups and user groups. System and staged
1483            * groups are not included.
1484            *
1485            * <p>
1486            * Useful when paginating results. Returns a maximum of <code>end -
1487            * start</code> instances. <code>start</code> and <code>end</code> are not
1488            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1489            * refers to the first result in the set. Setting both <code>start</code>
1490            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1491            * result set.
1492            * </p>
1493            *
1494            * @param companyId the primary key of the company
1495            * @param classNameIds the primary keys of the class names of the entities
1496            the groups are related to (optionally <code>null</code>)
1497            * @param parentGroupId the primary key of the parent group
1498            * @param keywords the keywords (space separated), which may occur in the
1499            sites's name, or description (optionally <code>null</code>)
1500            * @param params the finder params (optionally <code>null</code>). To
1501            include a user's organizations, inherited organizations, and user
1502            groups in the search, add an entry with key
1503            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1504            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1505            For more information see {@link
1506            com.liferay.portal.service.persistence.GroupFinder}.
1507            * @param start the lower bound of the range of groups to return
1508            * @param end the upper bound of the range of groups to return (not
1509            inclusive)
1510            * @param obc the comparator to order the groups (optionally
1511            <code>null</code>)
1512            * @return the matching groups ordered by comparator <code>obc</code>
1513            */
1514            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1515            public java.util.List<com.liferay.portal.model.Group> search(
1516                    long companyId, long[] classNameIds, long parentGroupId,
1517                    java.lang.String keywords,
1518                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1519                    int start, int end,
1520                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
1521    
1522            /**
1523            * Returns an ordered range of all the groups belonging to the parent group
1524            * that match the class name IDs, name, and description, optionally
1525            * including the user's inherited organization groups and user groups.
1526            * System and staged groups are not included.
1527            *
1528            * <p>
1529            * Useful when paginating results. Returns a maximum of <code>end -
1530            * start</code> instances. <code>start</code> and <code>end</code> are not
1531            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1532            * refers to the first result in the set. Setting both <code>start</code>
1533            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1534            * result set.
1535            * </p>
1536            *
1537            * @param companyId the primary key of the company
1538            * @param classNameIds the primary keys of the class names of the entities
1539            the groups are related to (optionally <code>null</code>)
1540            * @param parentGroupId the primary key of the parent group
1541            * @param name the group's name (optionally <code>null</code>)
1542            * @param description the group's description (optionally
1543            <code>null</code>)
1544            * @param params the finder params (optionally <code>null</code>). To
1545            include a user's organizations, inherited organizations, and user
1546            groups in the search, add an entry with key
1547            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1548            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1549            For more information see {@link
1550            com.liferay.portal.service.persistence.GroupFinder}.
1551            * @param andOperator whether every field must match its keywords, or just
1552            one field.
1553            * @param start the lower bound of the range of groups to return
1554            * @param end the upper bound of the range of groups to return (not
1555            inclusive)
1556            * @return the matching groups ordered by name
1557            */
1558            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1559            public java.util.List<com.liferay.portal.model.Group> search(
1560                    long companyId, long[] classNameIds, long parentGroupId,
1561                    java.lang.String name, java.lang.String description,
1562                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1563                    boolean andOperator, int start, int end);
1564    
1565            /**
1566            * Returns an ordered range of all the groups belonging to the parent group
1567            * that match the class name IDs, name, and description, optionally
1568            * including the user's inherited organization groups and user groups.
1569            * System and staged groups are not included.
1570            *
1571            * <p>
1572            * Useful when paginating results. Returns a maximum of <code>end -
1573            * start</code> instances. <code>start</code> and <code>end</code> are not
1574            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1575            * refers to the first result in the set. Setting both <code>start</code>
1576            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1577            * result set.
1578            * </p>
1579            *
1580            * @param companyId the primary key of the company
1581            * @param classNameIds the primary keys of the class names of the entities
1582            the groups are related to (optionally <code>null</code>)
1583            * @param parentGroupId the primary key of the parent group
1584            * @param name the group's name (optionally <code>null</code>)
1585            * @param description the group's description (optionally
1586            <code>null</code>)
1587            * @param params the finder params (optionally <code>null</code>). To
1588            include a user's organizations, inherited organizations, and user
1589            groups in the search, add an entry with key
1590            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1591            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1592            For more information see {@link
1593            com.liferay.portal.service.persistence.GroupFinder}.
1594            * @param andOperator whether every field must match its keywords, or just
1595            one field.
1596            * @param start the lower bound of the range of groups to return
1597            * @param end the upper bound of the range of groups to return (not
1598            inclusive)
1599            * @param obc the comparator to order the groups (optionally
1600            <code>null</code>)
1601            * @return the matching groups ordered by comparator <code>obc</code>
1602            */
1603            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1604            public java.util.List<com.liferay.portal.model.Group> search(
1605                    long companyId, long[] classNameIds, long parentGroupId,
1606                    java.lang.String name, java.lang.String description,
1607                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1608                    boolean andOperator, int start, int end,
1609                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
1610    
1611            /**
1612            * Returns an ordered range of all the groups that match the keywords,
1613            * optionally including the user's inherited organization groups and user
1614            * groups. System and staged groups are not included.
1615            *
1616            * <p>
1617            * Useful when paginating results. Returns a maximum of <code>end -
1618            * start</code> instances. <code>start</code> and <code>end</code> are not
1619            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1620            * refers to the first result in the set. Setting both <code>start</code>
1621            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1622            * result set.
1623            * </p>
1624            *
1625            * @param companyId the primary key of the company
1626            * @param keywords the keywords (space separated), which may occur in the
1627            sites's name, or description (optionally <code>null</code>)
1628            * @param params the finder params (optionally <code>null</code>). To
1629            include the user's inherited organizations and user groups in the
1630            search, add entries having &quot;usersGroups&quot; and
1631            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1632            information see {@link
1633            com.liferay.portal.service.persistence.GroupFinder}.
1634            * @param start the lower bound of the range of groups to return
1635            * @param end the upper bound of the range of groups to return (not
1636            inclusive)
1637            * @return the matching groups ordered by name
1638            */
1639            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
1640            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1641            public java.util.List<com.liferay.portal.model.Group> search(
1642                    long companyId, java.lang.String keywords,
1643                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1644                    int start, int end);
1645    
1646            /**
1647            * Returns an ordered range of all the groups that match the keywords,
1648            * optionally including the user's inherited organization groups and user
1649            * groups. System and staged groups are not included.
1650            *
1651            * <p>
1652            * Useful when paginating results. Returns a maximum of <code>end -
1653            * start</code> instances. <code>start</code> and <code>end</code> are not
1654            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1655            * refers to the first result in the set. Setting both <code>start</code>
1656            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1657            * result set.
1658            * </p>
1659            *
1660            * @param companyId the primary key of the company
1661            * @param keywords the keywords (space separated), which may occur in the
1662            sites's name, or description (optionally <code>null</code>)
1663            * @param params the finder params (optionally <code>null</code>). To
1664            include the user's inherited organizations and user groups in the
1665            search, add entries having &quot;usersGroups&quot; and
1666            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1667            information see {@link
1668            com.liferay.portal.service.persistence.GroupFinder}.
1669            * @param start the lower bound of the range of groups to return
1670            * @param end the upper bound of the range of groups to return (not
1671            inclusive)
1672            * @param obc the comparator to order the groups (optionally
1673            <code>null</code>)
1674            * @return the matching groups ordered by comparator <code>obc</code>
1675            */
1676            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1677            public java.util.List<com.liferay.portal.model.Group> search(
1678                    long companyId, java.lang.String keywords,
1679                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1680                    int start, int end,
1681                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
1682    
1683            /**
1684            * Returns an ordered range of all the site groups and organization groups
1685            * that match the name and description, optionally including the user's
1686            * inherited organization groups and user groups. System and staged groups
1687            * are not included.
1688            *
1689            * <p>
1690            * Useful when paginating results. Returns a maximum of <code>end -
1691            * start</code> instances. <code>start</code> and <code>end</code> are not
1692            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1693            * refers to the first result in the set. Setting both <code>start</code>
1694            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1695            * result set.
1696            * </p>
1697            *
1698            * @param companyId the primary key of the company
1699            * @param name the group's name (optionally <code>null</code>)
1700            * @param description the group's description (optionally
1701            <code>null</code>)
1702            * @param params the finder params (optionally <code>null</code>). To
1703            include the user's inherited organizations and user groups in the
1704            search, add entries having &quot;usersGroups&quot; and
1705            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1706            information see {@link
1707            com.liferay.portal.service.persistence.GroupFinder}.
1708            * @param andOperator whether every field must match its keywords, or just
1709            one field.
1710            * @param start the lower bound of the range of groups to return
1711            * @param end the upper bound of the range of groups to return (not
1712            inclusive)
1713            * @return the matching groups ordered by name
1714            */
1715            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1716            public java.util.List<com.liferay.portal.model.Group> search(
1717                    long companyId, java.lang.String name, java.lang.String description,
1718                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1719                    boolean andOperator, int start, int end);
1720    
1721            /**
1722            * Returns an ordered range of all the site groups and organization groups
1723            * that match the name and description, optionally including the user's
1724            * inherited organization groups and user groups. System and staged groups
1725            * are not included.
1726            *
1727            * <p>
1728            * Useful when paginating results. Returns a maximum of <code>end -
1729            * start</code> instances. <code>start</code> and <code>end</code> are not
1730            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1731            * refers to the first result in the set. Setting both <code>start</code>
1732            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1733            * result set.
1734            * </p>
1735            *
1736            * @param companyId the primary key of the company
1737            * @param name the group's name (optionally <code>null</code>)
1738            * @param description the group's description (optionally
1739            <code>null</code>)
1740            * @param params the finder params (optionally <code>null</code>). To
1741            include the user's inherited organizations and user groups in the
1742            search, add entries having &quot;usersGroups&quot; and
1743            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1744            information see {@link
1745            com.liferay.portal.service.persistence.GroupFinder}.
1746            * @param andOperator whether every field must match its keywords, or just
1747            one field.
1748            * @param start the lower bound of the range of groups to return
1749            * @param end the upper bound of the range of groups to return (not
1750            inclusive)
1751            * @param obc the comparator to order the groups (optionally
1752            <code>null</code>)
1753            * @return the matching groups ordered by comparator <code>obc</code>
1754            */
1755            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1756            public java.util.List<com.liferay.portal.model.Group> search(
1757                    long companyId, java.lang.String name, java.lang.String description,
1758                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1759                    boolean andOperator, int start, int end,
1760                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
1761    
1762            /**
1763            * Returns an ordered range of all the company's groups, optionally
1764            * including the user's inherited organization groups and user groups.
1765            * System and staged groups are not included.
1766            *
1767            * <p>
1768            * Useful when paginating results. Returns a maximum of <code>end -
1769            * start</code> instances. <code>start</code> and <code>end</code> are not
1770            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1771            * refers to the first result in the set. Setting both <code>start</code>
1772            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1773            * result set.
1774            * </p>
1775            *
1776            * @param companyId the primary key of the company
1777            * @param params the finder params (optionally <code>null</code>). To
1778            include a user's organizations, inherited organizations, and user
1779            groups in the search, add an entry with key
1780            &quot;usersGroups&quot; mapped to the user's ID and an entry with
1781            key &quot;inherit&quot; mapped to a non-<code>null</code> object.
1782            For more information see {@link
1783            com.liferay.portal.service.persistence.GroupFinder}.
1784            * @param start the lower bound of the range of groups to return
1785            * @param end the upper bound of the range of groups to return (not
1786            inclusive)
1787            * @return the matching groups ordered by name
1788            */
1789            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1790            public java.util.List<com.liferay.portal.model.Group> search(
1791                    long companyId,
1792                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1793                    int start, int end);
1794    
1795            /**
1796            * Returns an ordered range of all the groups belonging to the parent group
1797            * that match the keywords, optionally including the user's inherited
1798            * organization groups and user groups. System and staged groups are not
1799            * included.
1800            *
1801            * <p>
1802            * Useful when paginating results. Returns a maximum of <code>end -
1803            * start</code> instances. <code>start</code> and <code>end</code> are not
1804            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1805            * refers to the first result in the set. Setting both <code>start</code>
1806            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1807            * result set.
1808            * </p>
1809            *
1810            * @param companyId the primary key of the company
1811            * @param parentGroupId the primary key of the parent group
1812            * @param keywords the keywords (space separated), which may occur in the
1813            sites's name, or description (optionally <code>null</code>)
1814            * @param params the finder params (optionally <code>null</code>). To
1815            include the user's inherited organizations and user groups in the
1816            search, add entries having &quot;usersGroups&quot; and
1817            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1818            information see {@link
1819            com.liferay.portal.service.persistence.GroupFinder}.
1820            * @param start the lower bound of the range of groups to return
1821            * @param end the upper bound of the range of groups to return (not
1822            inclusive)
1823            * @return the matching groups ordered by name
1824            */
1825            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1826            public java.util.List<com.liferay.portal.model.Group> search(
1827                    long companyId, long parentGroupId, java.lang.String keywords,
1828                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1829                    int start, int end);
1830    
1831            /**
1832            * Returns an ordered range of all the groups belonging to the parent group
1833            * that match the keywords, optionally including the user's inherited
1834            * organization groups and user groups. System and staged groups are not
1835            * included.
1836            *
1837            * <p>
1838            * Useful when paginating results. Returns a maximum of <code>end -
1839            * start</code> instances. <code>start</code> and <code>end</code> are not
1840            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1841            * refers to the first result in the set. Setting both <code>start</code>
1842            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1843            * result set.
1844            * </p>
1845            *
1846            * @param companyId the primary key of the company
1847            * @param parentGroupId the primary key of the parent group
1848            * @param keywords the keywords (space separated), which may occur in the
1849            sites's name, or description (optionally <code>null</code>)
1850            * @param params the finder params (optionally <code>null</code>). To
1851            include the user's inherited organizations and user groups in the
1852            search, add entries having &quot;usersGroups&quot; and
1853            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1854            information see {@link
1855            com.liferay.portal.service.persistence.GroupFinder}.
1856            * @param start the lower bound of the range of groups to return
1857            * @param end the upper bound of the range of groups to return (not
1858            inclusive)
1859            * @param obc the comparator to order the groups (optionally
1860            <code>null</code>)
1861            * @return the matching groups ordered by comparator <code>obc</code>
1862            */
1863            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1864            public java.util.List<com.liferay.portal.model.Group> search(
1865                    long companyId, long parentGroupId, java.lang.String keywords,
1866                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1867                    int start, int end,
1868                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
1869    
1870            /**
1871            * Returns an ordered range of all the site groups belonging to the parent
1872            * group and organization groups that match the name and description,
1873            * optionally including the user's inherited organization groups and user
1874            * groups. System and staged groups are not included.
1875            *
1876            * <p>
1877            * Useful when paginating results. Returns a maximum of <code>end -
1878            * start</code> instances. <code>start</code> and <code>end</code> are not
1879            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1880            * refers to the first result in the set. Setting both <code>start</code>
1881            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1882            * result set.
1883            * </p>
1884            *
1885            * @param companyId the primary key of the company
1886            * @param parentGroupId the primary key of the parent group
1887            * @param name the group's name (optionally <code>null</code>)
1888            * @param description the group's description (optionally
1889            <code>null</code>)
1890            * @param params the finder params (optionally <code>null</code>). To
1891            include the user's inherited organizations and user groups in the
1892            search, add entries having &quot;usersGroups&quot; and
1893            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1894            information see {@link
1895            com.liferay.portal.service.persistence.GroupFinder}.
1896            * @param andOperator whether every field must match its keywords, or just
1897            one field.
1898            * @param start the lower bound of the range of groups to return
1899            * @param end the upper bound of the range of groups to return (not
1900            inclusive)
1901            * @return the matching groups ordered by name
1902            */
1903            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1904            public java.util.List<com.liferay.portal.model.Group> search(
1905                    long companyId, long parentGroupId, java.lang.String name,
1906                    java.lang.String description,
1907                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1908                    boolean andOperator, int start, int end);
1909    
1910            /**
1911            * Returns an ordered range of all the site groups belonging to the parent
1912            * group and organization groups that match the name and description,
1913            * optionally including the user's inherited organization groups and user
1914            * groups. System and staged groups are not included.
1915            *
1916            * <p>
1917            * Useful when paginating results. Returns a maximum of <code>end -
1918            * start</code> instances. <code>start</code> and <code>end</code> are not
1919            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1920            * refers to the first result in the set. Setting both <code>start</code>
1921            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
1922            * result set.
1923            * </p>
1924            *
1925            * @param companyId the primary key of the company
1926            * @param parentGroupId the primary key of the parent group
1927            * @param name the group's name (optionally <code>null</code>)
1928            * @param description the group's description (optionally
1929            <code>null</code>)
1930            * @param params the finder params (optionally <code>null</code>). To
1931            include the user's inherited organizations and user groups in the
1932            search, add entries having &quot;usersGroups&quot; and
1933            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1934            information see {@link
1935            com.liferay.portal.service.persistence.GroupFinder}.
1936            * @param andOperator whether every field must match its keywords, or just
1937            one field.
1938            * @param start the lower bound of the range of groups to return
1939            * @param end the upper bound of the range of groups to return (not
1940            inclusive)
1941            * @param obc the comparator to order the groups (optionally
1942            <code>null</code>)
1943            * @return the matching groups ordered by comparator <code>obc</code>
1944            */
1945            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1946            public java.util.List<com.liferay.portal.model.Group> search(
1947                    long companyId, long parentGroupId, java.lang.String name,
1948                    java.lang.String description,
1949                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
1950                    boolean andOperator, int start, int end,
1951                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc);
1952    
1953            /**
1954            * Returns the number of groups that match the class name IDs, and keywords,
1955            * optionally including the user's inherited organization groups and user
1956            * groups. System and staged groups are not included.
1957            *
1958            * @param companyId the primary key of the company
1959            * @param classNameIds the primary keys of the class names of the entities
1960            the groups are related to (optionally <code>null</code>)
1961            * @param keywords the keywords (space separated), which may occur in the
1962            sites's name, or description (optionally <code>null</code>)
1963            * @param params the finder params (optionally <code>null</code>). To
1964            include the user's inherited organization groups and user groups
1965            in the search, add entries having &quot;usersGroups&quot; and
1966            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1967            information see {@link
1968            com.liferay.portal.service.persistence.GroupFinder}.
1969            * @return the number of matching groups
1970            */
1971            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
1972            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1973            public int searchCount(long companyId, long[] classNameIds,
1974                    java.lang.String keywords,
1975                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params);
1976    
1977            /**
1978            * Returns the number of groups that match the class name IDs, name, and
1979            * description, optionally including the user's inherited organization
1980            * groups and user groups. System and staged groups are not included.
1981            *
1982            * @param companyId the primary key of the company
1983            * @param classNameIds the primary keys of the class names of the entities
1984            the groups are related to (optionally <code>null</code>)
1985            * @param name the group's name (optionally <code>null</code>)
1986            * @param description the group's description (optionally
1987            <code>null</code>)
1988            * @param params the finder params (optionally <code>null</code>). To
1989            include the user's inherited organization groups and user groups
1990            in the search, add entries having &quot;usersGroups&quot; and
1991            &quot;inherit&quot; as keys mapped to the the user's ID. For more
1992            information see {@link
1993            com.liferay.portal.service.persistence.GroupFinder}.
1994            * @param andOperator whether every field must match its keywords, or just
1995            one field.
1996            * @return the number of matching groups
1997            */
1998            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
1999            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2000            public int searchCount(long companyId, long[] classNameIds,
2001                    java.lang.String name, java.lang.String description,
2002                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2003                    boolean andOperator);
2004    
2005            /**
2006            * Returns the number of groups belonging to the parent group that match the
2007            * class name IDs, and keywords, optionally including the user's inherited
2008            * organization groups and user groups. System and staged groups are not
2009            * included.
2010            *
2011            * @param companyId the primary key of the company
2012            * @param classNameIds the primary keys of the class names of the entities
2013            the groups are related to (optionally <code>null</code>)
2014            * @param parentGroupId the primary key of the parent group
2015            * @param keywords the keywords (space separated), which may occur in the
2016            sites's name, or description (optionally <code>null</code>)
2017            * @param params the finder params (optionally <code>null</code>). To
2018            include the user's inherited organization groups and user groups
2019            in the search, add entries having &quot;usersGroups&quot; and
2020            &quot;inherit&quot; as keys mapped to the the user's ID. For more
2021            information see {@link
2022            com.liferay.portal.service.persistence.GroupFinder}.
2023            * @return the number of matching groups
2024            */
2025            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
2026            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2027            public int searchCount(long companyId, long[] classNameIds,
2028                    long parentGroupId, java.lang.String keywords,
2029                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params);
2030    
2031            /**
2032            * Returns the number of groups belonging to the parent group that match the
2033            * class name IDs, name, and description, optionally including the user's
2034            * inherited organization groups and user groups. System and staged groups
2035            * are not included.
2036            *
2037            * @param companyId the primary key of the company
2038            * @param classNameIds the primary keys of the class names of the entities
2039            the groups are related to (optionally <code>null</code>)
2040            * @param parentGroupId the primary key of the parent group
2041            * @param name the group's name (optionally <code>null</code>)
2042            * @param description the group's description (optionally
2043            <code>null</code>)
2044            * @param params the finder params (optionally <code>null</code>). To
2045            include the user's inherited organization groups and user groups
2046            in the search, add entries having &quot;usersGroups&quot; and
2047            &quot;inherit&quot; as keys mapped to the the user's ID. For more
2048            information see {@link
2049            com.liferay.portal.service.persistence.GroupFinder}.
2050            * @param andOperator whether every field must match its keywords, or just
2051            one field.
2052            * @return the number of matching groups
2053            */
2054            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
2055            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2056            public int searchCount(long companyId, long[] classNameIds,
2057                    long parentGroupId, java.lang.String name,
2058                    java.lang.String description,
2059                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2060                    boolean andOperator);
2061    
2062            /**
2063            * Returns the number of groups that match the keywords, optionally
2064            * including the user's inherited organization groups and user groups.
2065            * System and staged groups are not included.
2066            *
2067            * @param companyId the primary key of the company
2068            * @param keywords the keywords (space separated), which may occur in the
2069            sites's name, or description (optionally <code>null</code>)
2070            * @param params the finder params (optionally <code>null</code>). To
2071            include the user's inherited organization groups and user groups
2072            in the search, add entries having &quot;usersGroups&quot; and
2073            &quot;inherit&quot; as keys mapped to the the user's ID. For more
2074            information see {@link
2075            com.liferay.portal.service.persistence.GroupFinder}.
2076            * @return the number of matching groups
2077            */
2078            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
2079            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2080            public int searchCount(long companyId, java.lang.String keywords,
2081                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params);
2082    
2083            /**
2084            * Returns the number of groups and immediate organization groups that match
2085            * the name and description, optionally including the user's inherited
2086            * organization groups and user groups. System and staged groups are not
2087            * included.
2088            *
2089            * @param companyId the primary key of the company
2090            * @param name the group's name (optionally <code>null</code>)
2091            * @param description the group's description (optionally
2092            <code>null</code>)
2093            * @param params the finder params (optionally <code>null</code>). To
2094            include the user's inherited organization groups and user groups
2095            in the search, add entries having &quot;usersGroups&quot; and
2096            &quot;inherit&quot; as keys mapped to the the user's ID. For more
2097            information see {@link
2098            com.liferay.portal.service.persistence.GroupFinder}.
2099            * @param andOperator whether every field must match its keywords, or just
2100            one field.
2101            * @return the number of matching groups
2102            */
2103            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
2104            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2105            public int searchCount(long companyId, java.lang.String name,
2106                    java.lang.String description,
2107                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2108                    boolean andOperator);
2109    
2110            /**
2111            * Returns the number of groups belonging to the parent group that match the
2112            * keywords, optionally including the user's inherited organization groups
2113            * and user groups. System and staged groups are not included.
2114            *
2115            * @param companyId the primary key of the company
2116            * @param parentGroupId the primary key of the parent group
2117            * @param keywords the keywords (space separated), which may occur in the
2118            sites's name, or description (optionally <code>null</code>)
2119            * @param params the finder params (optionally <code>null</code>). To
2120            include the user's inherited organization groups and user groups
2121            in the search, add entries having &quot;usersGroups&quot; and
2122            &quot;inherit&quot; as keys mapped to the the user's ID. For more
2123            information see {@link
2124            com.liferay.portal.service.persistence.GroupFinder}.
2125            * @return the number of matching groups
2126            */
2127            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
2128            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2129            public int searchCount(long companyId, long parentGroupId,
2130                    java.lang.String keywords,
2131                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params);
2132    
2133            /**
2134            * Returns the number of groups belonging to the parent group and immediate
2135            * organization groups that match the name and description, optionally
2136            * including the user's inherited organization groups and user groups.
2137            * System and staged groups are not included.
2138            *
2139            * @param companyId the primary key of the company
2140            * @param parentGroupId the primary key of the parent group
2141            * @param name the group's name (optionally <code>null</code>)
2142            * @param description the group's description (optionally
2143            <code>null</code>)
2144            * @param params the finder params (optionally <code>null</code>). To
2145            include the user's inherited organization groups and user groups
2146            in the search, add entries having &quot;usersGroups&quot; and
2147            &quot;inherit&quot; as keys mapped to the the user's ID. For more
2148            information see {@link
2149            com.liferay.portal.service.persistence.GroupFinder}.
2150            * @param andOperator whether every field must match its keywords, or just
2151            one field.
2152            * @return the number of matching groups
2153            */
2154            @com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable
2155            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2156            public int searchCount(long companyId, long parentGroupId,
2157                    java.lang.String name, java.lang.String description,
2158                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2159                    boolean andOperator);
2160    
2161            public void setOrganizationGroups(long organizationId, long[] groupIds);
2162    
2163            public void setRoleGroups(long roleId, long[] groupIds);
2164    
2165            public void setUserGroupGroups(long userGroupId, long[] groupIds);
2166    
2167            public void setUserGroups(long userId, long[] groupIds);
2168    
2169            /**
2170            * Removes the groups from the role.
2171            *
2172            * @param roleId the primary key of the role
2173            * @param groupIds the primary keys of the groups
2174            */
2175            public void unsetRoleGroups(long roleId, long[] groupIds);
2176    
2177            /**
2178            * Removes the user from the groups.
2179            *
2180            * @param userId the primary key of the user
2181            * @param groupIds the primary keys of the groups
2182            */
2183            public void unsetUserGroups(long userId, long[] groupIds);
2184    
2185            /**
2186            * Updates the group's asset replacing categories and tag names.
2187            *
2188            * @param userId the primary key of the user
2189            * @param group the group
2190            * @param assetCategoryIds the primary keys of the asset categories
2191            (optionally <code>null</code>)
2192            * @param assetTagNames the asset tag names (optionally <code>null</code>)
2193            * @throws PortalException if a portal exception occurred
2194            */
2195            public void updateAsset(long userId, com.liferay.portal.model.Group group,
2196                    long[] assetCategoryIds, java.lang.String[] assetTagNames)
2197                    throws PortalException;
2198    
2199            /**
2200            * Updates the group's friendly URL.
2201            *
2202            * @param groupId the primary key of the group
2203            * @param friendlyURL the group's new friendlyURL (optionally
2204            <code>null</code>)
2205            * @return the group
2206            * @throws PortalException if a portal exception occurred
2207            */
2208            public com.liferay.portal.model.Group updateFriendlyURL(long groupId,
2209                    java.lang.String friendlyURL) throws PortalException;
2210    
2211            /**
2212            * Updates the group in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
2213            *
2214            * @param group the group
2215            * @return the group that was updated
2216            */
2217            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
2218            public com.liferay.portal.model.Group updateGroup(
2219                    com.liferay.portal.model.Group group);
2220    
2221            /**
2222            * Updates the group.
2223            *
2224            * @param groupId the primary key of the group
2225            * @param parentGroupId the primary key of the parent group
2226            * @param name the name's key
2227            * @param description the group's new description (optionally
2228            <code>null</code>)
2229            * @param type the group's new type. For more information see {@link
2230            GroupConstants}.
2231            * @param manualMembership whether manual membership is allowed for the
2232            group
2233            * @param membershipRestriction the group's membership restriction. For
2234            more information see {@link GroupConstants}.
2235            * @param friendlyURL the group's new friendlyURL (optionally
2236            <code>null</code>)
2237            * @param inheritContent whether to inherit content from the parent
2238            group
2239            * @param active whether the group is active
2240            * @param serviceContext the service context to be applied (optionally
2241            <code>null</code>). Can set asset category IDs and asset tag
2242            names for the group.
2243            * @return the group
2244            * @throws PortalException if a portal exception occurred
2245            * @deprecated As of 7.0.0, replaced by {@link #updateGroup(long, long, Map,
2246            Map, int, boolean, int, String, boolean, boolean,
2247            ServiceContext)}
2248            */
2249            @java.lang.Deprecated
2250            public com.liferay.portal.model.Group updateGroup(long groupId,
2251                    long parentGroupId, java.lang.String name,
2252                    java.lang.String description, int type, boolean manualMembership,
2253                    int membershipRestriction, java.lang.String friendlyURL,
2254                    boolean inheritContent, boolean active,
2255                    com.liferay.portal.service.ServiceContext serviceContext)
2256                    throws PortalException;
2257    
2258            public com.liferay.portal.model.Group updateGroup(long groupId,
2259                    long parentGroupId,
2260                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
2261                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
2262                    int type, boolean manualMembership, int membershipRestriction,
2263                    java.lang.String friendlyURL, boolean inheritContent, boolean active,
2264                    com.liferay.portal.service.ServiceContext serviceContext)
2265                    throws PortalException;
2266    
2267            /**
2268            * Updates the group's type settings.
2269            *
2270            * @param groupId the primary key of the group
2271            * @param typeSettings the group's new type settings (optionally
2272            <code>null</code>)
2273            * @return the group
2274            * @throws PortalException if a portal exception occurred
2275            */
2276            public com.liferay.portal.model.Group updateGroup(long groupId,
2277                    java.lang.String typeSettings) throws PortalException;
2278    
2279            /**
2280            * Associates the group with a main site if the group is an organization.
2281            *
2282            * @param groupId the primary key of the group
2283            * @param site whether the group is to be associated with a main site
2284            * @return the group
2285            * @throws PortalException if a portal exception occurred
2286            */
2287            public com.liferay.portal.model.Group updateSite(long groupId, boolean site)
2288                    throws PortalException;
2289    }