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