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