001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
022    import com.liferay.portal.kernel.security.access.control.AccessControlled;
023    import com.liferay.portal.kernel.transaction.Isolation;
024    import com.liferay.portal.kernel.transaction.Propagation;
025    import com.liferay.portal.kernel.transaction.Transactional;
026    
027    /**
028     * Provides the remote service interface for Group. Methods of this
029     * service are expected to have security checks based on the propagated JAAS
030     * credentials because this service can be accessed remotely.
031     *
032     * @author Brian Wing Shun Chan
033     * @see GroupServiceUtil
034     * @see com.liferay.portal.service.base.GroupServiceBaseImpl
035     * @see com.liferay.portal.service.impl.GroupServiceImpl
036     * @generated
037     */
038    @AccessControlled
039    @JSONWebService
040    @ProviderType
041    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
042            PortalException.class, SystemException.class})
043    public interface GroupService extends BaseService {
044            /*
045             * NOTE FOR DEVELOPERS:
046             *
047             * Never modify or reference this interface directly. Always use {@link GroupServiceUtil} to access the group remote service. Add custom service methods to {@link com.liferay.portal.service.impl.GroupServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
048             */
049    
050            /**
051            * @deprecated As of 6.2.0, replaced by {@link #addGroup(long, String,
052            String, int, String, boolean, boolean, ServiceContext)}
053            */
054            @java.lang.Deprecated
055            public com.liferay.portal.model.Group addGroup(java.lang.String name,
056                    java.lang.String description, int type, java.lang.String friendlyURL,
057                    boolean site, boolean active,
058                    com.liferay.portal.service.ServiceContext serviceContext)
059                    throws PortalException;
060    
061            /**
062            * Adds a group.
063            *
064            * @param parentGroupId the primary key of the parent group
065            * @param liveGroupId the primary key of the live group
066            * @param name the entity's name
067            * @param description the group's description (optionally
068            <code>null</code>)
069            * @param type the group's type. For more information see {@link
070            GroupConstants}.
071            * @param manualMembership whether manual membership is allowed for the
072            group
073            * @param membershipRestriction the group's membership restriction. For
074            more information see {@link GroupConstants}.
075            * @param friendlyURL the group's friendlyURL (optionally
076            <code>null</code>)
077            * @param site whether the group is to be associated with a main site
078            * @param active whether the group is active
079            * @param serviceContext the service context to be applied (optionally
080            <code>null</code>). Can set the asset category IDs and asset
081            tag names for the group, and can set whether the group is for
082            staging
083            * @return the group
084            * @deprecated As of 7.0.0, replaced by {@link #addGroup(long, long, Map,
085            Map, int, boolean, int, String, boolean, boolean,
086            ServiceContext)}
087            */
088            @java.lang.Deprecated
089            public com.liferay.portal.model.Group addGroup(long parentGroupId,
090                    long liveGroupId, java.lang.String name, java.lang.String description,
091                    int type, boolean manualMembership, int membershipRestriction,
092                    java.lang.String friendlyURL, boolean site, boolean active,
093                    com.liferay.portal.service.ServiceContext serviceContext)
094                    throws PortalException;
095    
096            public com.liferay.portal.model.Group addGroup(long parentGroupId,
097                    long liveGroupId,
098                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
099                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
100                    int type, boolean manualMembership, int membershipRestriction,
101                    java.lang.String friendlyURL, boolean site, boolean active,
102                    com.liferay.portal.service.ServiceContext serviceContext)
103                    throws PortalException;
104    
105            public com.liferay.portal.model.Group addGroup(long parentGroupId,
106                    long liveGroupId,
107                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
108                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
109                    int type, boolean manualMembership, int membershipRestriction,
110                    java.lang.String friendlyURL, boolean site, boolean inheritContent,
111                    boolean active, com.liferay.portal.service.ServiceContext serviceContext)
112                    throws PortalException;
113    
114            /**
115            * Adds the group using the group default live group ID.
116            *
117            * @param parentGroupId the primary key of the parent group
118            * @param name the entity's name
119            * @param description the group's description (optionally
120            <code>null</code>)
121            * @param type the group's type. For more information see {@link
122            GroupConstants}.
123            * @param friendlyURL the group's friendlyURL
124            * @param site whether the group is to be associated with a main site
125            * @param active whether the group is active
126            * @param serviceContext the service context to be applied (optionally
127            <code>null</code>). Can set asset category IDs and asset tag
128            names for the group, and can set whether the group is for
129            staging
130            * @return the group
131            * @deprecated As of 6.2.0, replaced by {@link #addGroup(long, long, Map,
132            Map, int, boolean, int, String, boolean, boolean,
133            ServiceContext)}
134            */
135            @java.lang.Deprecated
136            public com.liferay.portal.model.Group addGroup(long parentGroupId,
137                    java.lang.String name, java.lang.String description, int type,
138                    java.lang.String friendlyURL, boolean site, boolean active,
139                    com.liferay.portal.service.ServiceContext serviceContext)
140                    throws PortalException;
141    
142            /**
143            * Adds the groups to the role.
144            *
145            * @param roleId the primary key of the role
146            * @param groupIds the primary keys of the groups
147            */
148            public void addRoleGroups(long roleId, long[] groupIds)
149                    throws PortalException;
150    
151            /**
152            * Checks that the current user is permitted to use the group for Remote
153            * Staging.
154            *
155            * @param groupId the primary key of the group
156            */
157            public void checkRemoteStagingGroup(long groupId) throws PortalException;
158    
159            /**
160            * Deletes the group.
161            *
162            * <p>
163            * The group is unstaged and its assets and resources including layouts,
164            * membership requests, subscriptions, teams, blogs, bookmarks, calendar
165            * events, image gallery, journals, message boards, polls, shopping related
166            * entities, and wikis are also deleted.
167            * </p>
168            *
169            * @param groupId the primary key of the group
170            */
171            public void deleteGroup(long groupId) throws PortalException;
172    
173            public void disableStaging(long groupId) throws PortalException;
174    
175            public void enableStaging(long groupId) throws PortalException;
176    
177            /**
178            * Returns the company group.
179            *
180            * @param companyId the primary key of the company
181            * @return the group associated with the company
182            */
183            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
184            public com.liferay.portal.model.Group getCompanyGroup(long companyId)
185                    throws PortalException;
186    
187            /**
188            * Returns the group with the name.
189            *
190            * @param companyId the primary key of the company
191            * @param groupKey the group key
192            * @return the group with the group key
193            */
194            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
195            public com.liferay.portal.model.Group getGroup(long companyId,
196                    java.lang.String groupKey) throws PortalException;
197    
198            /**
199            * Returns the group with the primary key.
200            *
201            * @param groupId the primary key of the group
202            * @return the group with the primary key
203            */
204            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
205            public com.liferay.portal.model.Group getGroup(long groupId)
206                    throws PortalException;
207    
208            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
209            public java.lang.String getGroupDisplayURL(long groupId,
210                    boolean privateLayout, boolean secureConnection)
211                    throws PortalException;
212    
213            /**
214            * Returns all the groups that are direct children of the parent group.
215            *
216            * @param companyId the primary key of the company
217            * @param parentGroupId the primary key of the parent group
218            * @param site whether the group is to be associated with a main site
219            * @return the matching groups, or <code>null</code> if no matches were
220            found
221            */
222            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
223            public java.util.List<com.liferay.portal.model.Group> getGroups(
224                    long companyId, long parentGroupId, boolean site)
225                    throws PortalException;
226    
227            /**
228            * Returns a range of all the site groups for which the user has control
229            * panel access.
230            *
231            * @param portlets the portlets to manage
232            * @param max the upper bound of the range of groups to consider (not
233            inclusive)
234            * @return the range of site groups for which the user has Control Panel
235            access
236            */
237            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
238            public java.util.List<com.liferay.portal.model.Group> getManageableSiteGroups(
239                    java.util.Collection<com.liferay.portal.model.Portlet> portlets, int max)
240                    throws PortalException;
241    
242            /**
243            * Returns a range of all the site groups for which the user has control
244            * panel access.
245            *
246            * @param portlets the portlets to manage
247            * @param max the upper bound of the range of groups to consider (not
248            inclusive)
249            * @return the range of site groups for which the user has Control Panel
250            access
251            * @deprecated As of 6.2.0, replaced by {@link
252            #getManageableSiteGroups(Collection, int)}
253            */
254            @java.lang.Deprecated
255            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
256            public java.util.List<com.liferay.portal.model.Group> getManageableSites(
257                    java.util.Collection<com.liferay.portal.model.Portlet> portlets, int max)
258                    throws PortalException;
259    
260            /**
261            * Returns the OSGi service identifier.
262            *
263            * @return the OSGi service identifier
264            */
265            public java.lang.String getOSGiServiceIdentifier();
266    
267            /**
268            * Returns the groups associated with the organizations.
269            *
270            * @param organizations the organizations
271            * @return the groups associated with the organizations
272            */
273            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
274            public java.util.List<com.liferay.portal.model.Group> getOrganizationsGroups(
275                    java.util.List<com.liferay.portal.model.Organization> organizations)
276                    throws PortalException;
277    
278            /**
279            * Returns the group directly associated with the user.
280            *
281            * @param companyId the primary key of the company
282            * @param userId the primary key of the user
283            * @return the group directly associated with the user
284            */
285            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
286            public com.liferay.portal.model.Group getUserGroup(long companyId,
287                    long userId) throws PortalException;
288    
289            /**
290            * Returns the groups associated with the user groups.
291            *
292            * @param userGroups the user groups
293            * @return the groups associated with the user groups
294            */
295            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
296            public java.util.List<com.liferay.portal.model.Group> getUserGroupsGroups(
297                    java.util.List<com.liferay.portal.model.UserGroup> userGroups)
298                    throws PortalException;
299    
300            /**
301            * Returns the range of all groups associated with the user's organization
302            * groups, including the ancestors of the organization groups, unless portal
303            * property <code>organizations.membership.strict</code> is set to
304            * <code>true</code>.
305            *
306            * <p>
307            * Useful when paginating results. Returns a maximum of <code>end -
308            * start</code> instances. <code>start</code> and <code>end</code> are not
309            * primary keys, they are indexes in the result set. Thus, <code>0</code>
310            * refers to the first result in the set. Setting both <code>start</code>
311            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
312            * result set.
313            * </p>
314            *
315            * @param userId the primary key of the user
316            * @param start the lower bound of the range of groups to consider
317            * @param end the upper bound of the range of groups to consider (not
318            inclusive)
319            * @return the range of groups associated with the user's organizations
320            */
321            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
322            public java.util.List<com.liferay.portal.model.Group> getUserOrganizationsGroups(
323                    long userId, int start, int end) throws PortalException;
324    
325            /**
326            * Returns the guest or current user's groups &quot;sites&quot; associated
327            * with the group entity class names, including the Control Panel group if
328            * the user is permitted to view the Control Panel.
329            *
330            * <ul>
331            * <li>
332            * Class name &quot;User&quot; includes the user's layout set
333            * group.
334            * </li>
335            * <li>
336            * Class name &quot;Organization&quot; includes the user's
337            * immediate organization groups and inherited organization groups.
338            * </li>
339            * <li>
340            * Class name &quot;Group&quot; includes the user's immediate
341            * organization groups and site groups.
342            * </li>
343            * <li>
344            * A <code>classNames</code>
345            * value of <code>null</code> includes the user's layout set group,
346            * organization groups, inherited organization groups, and site groups.
347            * </li>
348            * </ul>
349            *
350            * @param classNames the group entity class names (optionally
351            <code>null</code>). For more information see {@link
352            #getUserSitesGroups(String[], int)}.
353            * @param max the maximum number of groups to return
354            * @return the user's groups &quot;sites&quot;
355            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroups(String[],
356            int)}
357            */
358            @java.lang.Deprecated
359            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
360            public java.util.List<com.liferay.portal.model.Group> getUserPlaces(
361                    java.lang.String[] classNames, int max) throws PortalException;
362    
363            /**
364            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroups(long,
365            String[], int)}
366            */
367            @java.lang.Deprecated
368            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
369            public java.util.List<com.liferay.portal.model.Group> getUserPlaces(
370                    long userId, java.lang.String[] classNames,
371                    boolean includeControlPanel, int max) throws PortalException;
372    
373            /**
374            * Returns the user's groups &quot;sites&quot; associated with the group
375            * entity class names, including the Control Panel group if the user is
376            * permitted to view the Control Panel.
377            *
378            * <ul>
379            * <li>
380            * Class name &quot;User&quot; includes the user's layout set
381            * group.
382            * </li>
383            * <li>
384            * Class name &quot;Organization&quot; includes the user's
385            * immediate organization groups and inherited organization groups.
386            * </li>
387            * <li>
388            * Class name &quot;Group&quot; includes the user's immediate
389            * organization groups and site groups.
390            * </li>
391            * <li>
392            * A <code>classNames</code>
393            * value of <code>null</code> includes the user's layout set group,
394            * organization groups, inherited organization groups, and site groups.
395            * </li>
396            * </ul>
397            *
398            * @param userId the primary key of the user
399            * @param classNames the group entity class names (optionally
400            <code>null</code>). For more information see {@link
401            #getUserSitesGroups(long, String[], int)}.
402            * @param max the maximum number of groups to return
403            * @return the user's groups &quot;sites&quot;
404            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroups(long,
405            String[], int)}
406            */
407            @java.lang.Deprecated
408            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
409            public java.util.List<com.liferay.portal.model.Group> getUserPlaces(
410                    long userId, java.lang.String[] classNames, int max)
411                    throws PortalException;
412    
413            /**
414            * Returns the number of the guest or current user's groups
415            * &quot;sites&quot; associated with the group entity class names, including
416            * the Control Panel group if the user is permitted to view the Control
417            * Panel.
418            *
419            * @return the number of user's groups &quot;sites&quot;
420            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroupsCount()}
421            */
422            @java.lang.Deprecated
423            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
424            public int getUserPlacesCount() throws PortalException;
425    
426            /**
427            * Returns the guest or current user's layout set group, organization
428            * groups, inherited organization groups, and site groups.
429            *
430            * @return the user's layout set group, organization groups, and
431            inherited organization groups, and site groups
432            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroups}
433            */
434            @java.lang.Deprecated
435            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
436            public java.util.List<com.liferay.portal.model.Group> getUserSites()
437                    throws PortalException;
438    
439            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
440            public java.util.List<com.liferay.portal.model.Group> getUserSitesGroups()
441                    throws PortalException;
442    
443            /**
444            * Returns the guest or current user's groups &quot;sites&quot; associated
445            * with the group entity class names, including the Control Panel group if
446            * the user is permitted to view the Control Panel.
447            *
448            * <ul>
449            * <li>
450            * Class name &quot;User&quot; includes the user's layout set
451            * group.
452            * </li>
453            * <li>
454            * Class name &quot;Organization&quot; includes the user's
455            * immediate organization groups and inherited organization groups.
456            * </li>
457            * <li>
458            * Class name &quot;Group&quot; includes the user's immediate
459            * organization groups and site groups.
460            * </li>
461            * <li>
462            * A <code>classNames</code>
463            * value of <code>null</code> includes the user's layout set group,
464            * organization groups, inherited organization groups, and site groups.
465            * </li>
466            * </ul>
467            *
468            * @param classNames the group entity class names (optionally
469            <code>null</code>). For more information see {@link
470            #getUserSitesGroups(long, String[], int)}.
471            * @param max the maximum number of groups to return
472            * @return the user's groups &quot;sites&quot;
473            */
474            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
475            public java.util.List<com.liferay.portal.model.Group> getUserSitesGroups(
476                    java.lang.String[] classNames, int max) throws PortalException;
477    
478            /**
479            * Returns the user's groups &quot;sites&quot; associated with the group
480            * entity class names, including the Control Panel group if the user is
481            * permitted to view the Control Panel.
482            *
483            * <ul>
484            * <li>
485            * Class name &quot;User&quot; includes the user's layout set
486            * group.
487            * </li>
488            * <li>
489            * Class name &quot;Organization&quot; includes the user's
490            * immediate organization groups and inherited organization groups.
491            * </li>
492            * <li>
493            * Class name &quot;Group&quot; includes the user's immediate
494            * organization groups and site groups.
495            * </li>
496            * <li>
497            * A <code>classNames</code>
498            * value of <code>null</code> includes the user's layout set group,
499            * organization groups, inherited organization groups, and site groups.
500            * </li>
501            * </ul>
502            *
503            * @param userId the primary key of the user
504            * @param classNames the group entity class names (optionally
505            <code>null</code>). For more information see {@link
506            #getUserSitesGroups(long, String[], int)}.
507            * @param max the maximum number of groups to return
508            * @return the user's groups &quot;sites&quot;
509            */
510            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
511            public java.util.List<com.liferay.portal.model.Group> getUserSitesGroups(
512                    long userId, java.lang.String[] classNames, int max)
513                    throws PortalException;
514    
515            /**
516            * Returns the number of the guest or current user's groups
517            * &quot;sites&quot; associated with the group entity class names, including
518            * the Control Panel group if the user is permitted to view the Control
519            * Panel.
520            *
521            * @return the number of user's groups &quot;sites&quot;
522            */
523            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
524            public int getUserSitesGroupsCount() throws PortalException;
525    
526            /**
527            * Returns <code>true</code> if the user is associated with the group,
528            * including the user's inherited organizations and user groups. System and
529            * staged groups are not included.
530            *
531            * @param userId the primary key of the user
532            * @param groupId the primary key of the group
533            * @return <code>true</code> if the user is associated with the group;
534            <code>false</code> otherwise
535            */
536            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
537            public boolean hasUserGroup(long userId, long groupId)
538                    throws PortalException;
539    
540            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
541            public java.util.List<com.liferay.portal.model.Group> search(
542                    long companyId, long[] classNameIds, java.lang.String keywords,
543                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
544                    int start, int end,
545                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc)
546                    throws PortalException;
547    
548            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
549            public java.util.List<com.liferay.portal.model.Group> search(
550                    long companyId, long[] classNameIds, java.lang.String name,
551                    java.lang.String description,
552                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
553                    boolean andOperator, int start, int end,
554                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc)
555                    throws PortalException;
556    
557            /**
558            * Returns an ordered range of all the site groups and organization groups
559            * that match the name and description, optionally including the user's
560            * inherited organization groups and user groups. System and staged groups
561            * are not included.
562            *
563            * <p>
564            * Useful when paginating results. Returns a maximum of <code>end -
565            * start</code> instances. <code>start</code> and <code>end</code> are not
566            * primary keys, they are indexes in the result set. Thus, <code>0</code>
567            * refers to the first result in the set. Setting both <code>start</code>
568            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
569            * result set.
570            * </p>
571            *
572            * @param companyId the primary key of the company
573            * @param name the group's name (optionally <code>null</code>)
574            * @param description the group's description (optionally
575            <code>null</code>)
576            * @param params the finder params (optionally <code>null</code>). To
577            include the user's inherited organizations and user groups in the
578            search, add entries having &quot;usersGroups&quot; and
579            &quot;inherit&quot; as keys mapped to the the user's ID. For more
580            information see {@link
581            com.liferay.portal.service.persistence.GroupFinder}.
582            * @param start the lower bound of the range of groups to return
583            * @param end the upper bound of the range of groups to return (not
584            inclusive)
585            * @return the matching groups ordered by name
586            */
587            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
588            public java.util.List<com.liferay.portal.model.Group> search(
589                    long companyId, java.lang.String name, java.lang.String description,
590                    java.lang.String[] params, int start, int end)
591                    throws PortalException;
592    
593            /**
594            * Returns the number of groups and organization groups that match the name
595            * and description, optionally including the user's inherited organizations
596            * and user groups. System and staged groups are not included.
597            *
598            * @param companyId the primary key of the company
599            * @param name the group's name (optionally <code>null</code>)
600            * @param description the group's description (optionally
601            <code>null</code>)
602            * @param params the finder params (optionally <code>null</code>). To
603            include the user's inherited organizations and user groups in the
604            search, add entries having &quot;usersGroups&quot; and
605            &quot;inherit&quot; as keys mapped to the the user's ID. For more
606            information see {@link
607            com.liferay.portal.service.persistence.GroupFinder}.
608            * @return the number of matching groups
609            */
610            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
611            public int searchCount(long companyId, java.lang.String name,
612                    java.lang.String description, java.lang.String[] params);
613    
614            /**
615            * Sets the groups associated with the role, removing and adding
616            * associations as necessary.
617            *
618            * @param roleId the primary key of the role
619            * @param groupIds the primary keys of the groups
620            */
621            public void setRoleGroups(long roleId, long[] groupIds)
622                    throws PortalException;
623    
624            /**
625            * Removes the groups from the role.
626            *
627            * @param roleId the primary key of the role
628            * @param groupIds the primary keys of the groups
629            */
630            public void unsetRoleGroups(long roleId, long[] groupIds)
631                    throws PortalException;
632    
633            /**
634            * Updates the group's friendly URL.
635            *
636            * @param groupId the primary key of the group
637            * @param friendlyURL the group's new friendlyURL (optionally
638            <code>null</code>)
639            * @return the group
640            */
641            public com.liferay.portal.model.Group updateFriendlyURL(long groupId,
642                    java.lang.String friendlyURL) throws PortalException;
643    
644            /**
645            * Updates the group.
646            *
647            * @param groupId the primary key of the group
648            * @param parentGroupId the primary key of the parent group
649            * @param name the group's name
650            * @param description the group's new description (optionally
651            <code>null</code>)
652            * @param type the group's new type. For more information see {@link
653            GroupConstants}.
654            * @param manualMembership whether manual membership is allowed for the
655            group
656            * @param membershipRestriction the group's membership restriction. For
657            more information see {@link GroupConstants}.
658            * @param friendlyURL the group's new friendlyURL (optionally
659            <code>null</code>)
660            * @param active whether the group is active
661            * @param serviceContext the service context to be applied (optionally
662            <code>null</code>). Can set the asset category IDs and asset
663            tag names for the group.
664            * @return the group
665            * @deprecated As of 7.0.0, replaced by {@link #updateGroup(long, long, Map,
666            Map, int, boolean, int, String, boolean, boolean,
667            ServiceContext)}
668            */
669            @java.lang.Deprecated
670            public com.liferay.portal.model.Group updateGroup(long groupId,
671                    long parentGroupId, java.lang.String name,
672                    java.lang.String description, int type, boolean manualMembership,
673                    int membershipRestriction, java.lang.String friendlyURL,
674                    boolean inheritContent, boolean active,
675                    com.liferay.portal.service.ServiceContext serviceContext)
676                    throws PortalException;
677    
678            public com.liferay.portal.model.Group updateGroup(long groupId,
679                    long parentGroupId,
680                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
681                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
682                    int type, boolean manualMembership, int membershipRestriction,
683                    java.lang.String friendlyURL, boolean inheritContent, boolean active,
684                    com.liferay.portal.service.ServiceContext serviceContext)
685                    throws PortalException;
686    
687            /**
688            * Updates the group's type settings.
689            *
690            * @param groupId the primary key of the group
691            * @param typeSettings the group's new type settings (optionally
692            <code>null</code>)
693            * @return the group
694            */
695            public com.liferay.portal.model.Group updateGroup(long groupId,
696                    java.lang.String typeSettings) throws PortalException;
697    
698            public void updateStagedPortlets(long groupId,
699                    java.util.Map<java.lang.String, java.lang.String> stagedPortletIds)
700                    throws PortalException;
701    }