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