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, software catalog, 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            /**
209            * Returns all the groups that are direct children of the parent group.
210            *
211            * @param companyId the primary key of the company
212            * @param parentGroupId the primary key of the parent group
213            * @param site whether the group is to be associated with a main site
214            * @return the matching groups, or <code>null</code> if no matches were
215            found
216            */
217            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
218            public java.util.List<com.liferay.portal.model.Group> getGroups(
219                    long companyId, long parentGroupId, boolean site)
220                    throws PortalException;
221    
222            /**
223            * Returns a range of all the site groups for which the user has control
224            * panel access.
225            *
226            * @param portlets the portlets to manage
227            * @param max the upper bound of the range of groups to consider (not
228            inclusive)
229            * @return the range of site groups for which the user has Control Panel
230            access
231            */
232            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
233            public java.util.List<com.liferay.portal.model.Group> getManageableSiteGroups(
234                    java.util.Collection<com.liferay.portal.model.Portlet> portlets, int max)
235                    throws PortalException;
236    
237            /**
238            * Returns a range of all the site groups for which the user has control
239            * panel access.
240            *
241            * @param portlets the portlets to manage
242            * @param max the upper bound of the range of groups to consider (not
243            inclusive)
244            * @return the range of site groups for which the user has Control Panel
245            access
246            * @deprecated As of 6.2.0, replaced by {@link
247            #getManageableSiteGroups(Collection, int)}
248            */
249            @java.lang.Deprecated
250            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
251            public java.util.List<com.liferay.portal.model.Group> getManageableSites(
252                    java.util.Collection<com.liferay.portal.model.Portlet> portlets, int max)
253                    throws PortalException;
254    
255            /**
256            * Returns the OSGi service identifier.
257            *
258            * @return the OSGi service identifier
259            */
260            public java.lang.String getOSGiServiceIdentifier();
261    
262            /**
263            * Returns the groups associated with the organizations.
264            *
265            * @param organizations the organizations
266            * @return the groups associated with the organizations
267            */
268            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
269            public java.util.List<com.liferay.portal.model.Group> getOrganizationsGroups(
270                    java.util.List<com.liferay.portal.model.Organization> organizations)
271                    throws PortalException;
272    
273            /**
274            * Returns the group directly associated with the user.
275            *
276            * @param companyId the primary key of the company
277            * @param userId the primary key of the user
278            * @return the group directly associated with the user
279            */
280            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
281            public com.liferay.portal.model.Group getUserGroup(long companyId,
282                    long userId) throws PortalException;
283    
284            /**
285            * Returns the groups associated with the user groups.
286            *
287            * @param userGroups the user groups
288            * @return the groups associated with the user groups
289            */
290            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
291            public java.util.List<com.liferay.portal.model.Group> getUserGroupsGroups(
292                    java.util.List<com.liferay.portal.model.UserGroup> userGroups)
293                    throws PortalException;
294    
295            /**
296            * Returns the range of all groups associated with the user's organization
297            * groups, including the ancestors of the organization groups, unless portal
298            * property <code>organizations.membership.strict</code> is set to
299            * <code>true</code>.
300            *
301            * <p>
302            * Useful when paginating results. Returns a maximum of <code>end -
303            * start</code> instances. <code>start</code> and <code>end</code> are not
304            * primary keys, they are indexes in the result set. Thus, <code>0</code>
305            * refers to the first result in the set. Setting both <code>start</code>
306            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
307            * result set.
308            * </p>
309            *
310            * @param userId the primary key of the user
311            * @param start the lower bound of the range of groups to consider
312            * @param end the upper bound of the range of groups to consider (not
313            inclusive)
314            * @return the range of groups associated with the user's organizations
315            */
316            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
317            public java.util.List<com.liferay.portal.model.Group> getUserOrganizationsGroups(
318                    long userId, int start, int end) throws PortalException;
319    
320            /**
321            * Returns the guest or current user's groups &quot;sites&quot; associated
322            * with the group entity class names, including the Control Panel group if
323            * the user is permitted to view the Control Panel.
324            *
325            * <ul>
326            * <li>
327            * Class name &quot;User&quot; includes the user's layout set
328            * group.
329            * </li>
330            * <li>
331            * Class name &quot;Organization&quot; includes the user's
332            * immediate organization groups and inherited organization groups.
333            * </li>
334            * <li>
335            * Class name &quot;Group&quot; includes the user's immediate
336            * organization groups and site groups.
337            * </li>
338            * <li>
339            * A <code>classNames</code>
340            * value of <code>null</code> includes the user's layout set group,
341            * organization groups, inherited organization groups, and site groups.
342            * </li>
343            * </ul>
344            *
345            * @param classNames the group entity class names (optionally
346            <code>null</code>). For more information see {@link
347            #getUserSitesGroups(String[], int)}.
348            * @param max the maximum number of groups to return
349            * @return the user's groups &quot;sites&quot;
350            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroups(String[],
351            int)}
352            */
353            @java.lang.Deprecated
354            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
355            public java.util.List<com.liferay.portal.model.Group> getUserPlaces(
356                    java.lang.String[] classNames, int max) throws PortalException;
357    
358            /**
359            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroups(long,
360            String[], int)}
361            */
362            @java.lang.Deprecated
363            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
364            public java.util.List<com.liferay.portal.model.Group> getUserPlaces(
365                    long userId, java.lang.String[] classNames,
366                    boolean includeControlPanel, int max) throws PortalException;
367    
368            /**
369            * Returns the user's groups &quot;sites&quot; associated with the group
370            * entity class names, including the Control Panel group if the user is
371            * permitted to view the Control Panel.
372            *
373            * <ul>
374            * <li>
375            * Class name &quot;User&quot; includes the user's layout set
376            * group.
377            * </li>
378            * <li>
379            * Class name &quot;Organization&quot; includes the user's
380            * immediate organization groups and inherited organization groups.
381            * </li>
382            * <li>
383            * Class name &quot;Group&quot; includes the user's immediate
384            * organization groups and site groups.
385            * </li>
386            * <li>
387            * A <code>classNames</code>
388            * value of <code>null</code> includes the user's layout set group,
389            * organization groups, inherited organization groups, and site groups.
390            * </li>
391            * </ul>
392            *
393            * @param userId the primary key of the user
394            * @param classNames the group entity class names (optionally
395            <code>null</code>). For more information see {@link
396            #getUserSitesGroups(long, String[], int)}.
397            * @param max the maximum number of groups to return
398            * @return the user's groups &quot;sites&quot;
399            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroups(long,
400            String[], int)}
401            */
402            @java.lang.Deprecated
403            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
404            public java.util.List<com.liferay.portal.model.Group> getUserPlaces(
405                    long userId, java.lang.String[] classNames, int max)
406                    throws PortalException;
407    
408            /**
409            * Returns the number of the guest or current user's groups
410            * &quot;sites&quot; associated with the group entity class names, including
411            * the Control Panel group if the user is permitted to view the Control
412            * Panel.
413            *
414            * @return the number of user's groups &quot;sites&quot;
415            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroupsCount()}
416            */
417            @java.lang.Deprecated
418            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
419            public int getUserPlacesCount() throws PortalException;
420    
421            /**
422            * Returns the guest or current user's layout set group, organization
423            * groups, inherited organization groups, and site groups.
424            *
425            * @return the user's layout set group, organization groups, and
426            inherited organization groups, and site groups
427            * @deprecated As of 6.2.0, replaced by {@link #getUserSitesGroups}
428            */
429            @java.lang.Deprecated
430            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
431            public java.util.List<com.liferay.portal.model.Group> getUserSites()
432                    throws PortalException;
433    
434            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
435            public java.util.List<com.liferay.portal.model.Group> getUserSitesGroups()
436                    throws PortalException;
437    
438            /**
439            * Returns the guest or current user's groups &quot;sites&quot; associated
440            * with the group entity class names, including the Control Panel group if
441            * the user is permitted to view the Control Panel.
442            *
443            * <ul>
444            * <li>
445            * Class name &quot;User&quot; includes the user's layout set
446            * group.
447            * </li>
448            * <li>
449            * Class name &quot;Organization&quot; includes the user's
450            * immediate organization groups and inherited organization groups.
451            * </li>
452            * <li>
453            * Class name &quot;Group&quot; includes the user's immediate
454            * organization groups and site groups.
455            * </li>
456            * <li>
457            * A <code>classNames</code>
458            * value of <code>null</code> includes the user's layout set group,
459            * organization groups, inherited organization groups, and site groups.
460            * </li>
461            * </ul>
462            *
463            * @param classNames the group entity class names (optionally
464            <code>null</code>). For more information see {@link
465            #getUserSitesGroups(long, String[], int)}.
466            * @param max the maximum number of groups to return
467            * @return the user's groups &quot;sites&quot;
468            */
469            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
470            public java.util.List<com.liferay.portal.model.Group> getUserSitesGroups(
471                    java.lang.String[] classNames, int max) throws PortalException;
472    
473            /**
474            * Returns the user's groups &quot;sites&quot; associated with the group
475            * entity class names, including the Control Panel group if the user is
476            * permitted to view the Control Panel.
477            *
478            * <ul>
479            * <li>
480            * Class name &quot;User&quot; includes the user's layout set
481            * group.
482            * </li>
483            * <li>
484            * Class name &quot;Organization&quot; includes the user's
485            * immediate organization groups and inherited organization groups.
486            * </li>
487            * <li>
488            * Class name &quot;Group&quot; includes the user's immediate
489            * organization groups and site groups.
490            * </li>
491            * <li>
492            * A <code>classNames</code>
493            * value of <code>null</code> includes the user's layout set group,
494            * organization groups, inherited organization groups, and site groups.
495            * </li>
496            * </ul>
497            *
498            * @param userId the primary key of the user
499            * @param classNames the group entity class names (optionally
500            <code>null</code>). For more information see {@link
501            #getUserSitesGroups(long, String[], int)}.
502            * @param max the maximum number of groups to return
503            * @return the user's groups &quot;sites&quot;
504            */
505            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
506            public java.util.List<com.liferay.portal.model.Group> getUserSitesGroups(
507                    long userId, java.lang.String[] classNames, int max)
508                    throws PortalException;
509    
510            /**
511            * Returns the number of the guest or current user's groups
512            * &quot;sites&quot; associated with the group entity class names, including
513            * the Control Panel group if the user is permitted to view the Control
514            * Panel.
515            *
516            * @return the number of user's groups &quot;sites&quot;
517            */
518            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
519            public int getUserSitesGroupsCount() throws PortalException;
520    
521            /**
522            * Returns <code>true</code> if the user is associated with the group,
523            * including the user's inherited organizations and user groups. System and
524            * staged groups are not included.
525            *
526            * @param userId the primary key of the user
527            * @param groupId the primary key of the group
528            * @return <code>true</code> if the user is associated with the group;
529            <code>false</code> otherwise
530            */
531            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
532            public boolean hasUserGroup(long userId, long groupId)
533                    throws PortalException;
534    
535            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
536            public java.util.List<com.liferay.portal.model.Group> search(
537                    long companyId, long[] classNameIds, java.lang.String keywords,
538                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
539                    int start, int end,
540                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc)
541                    throws PortalException;
542    
543            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
544            public java.util.List<com.liferay.portal.model.Group> search(
545                    long companyId, long[] classNameIds, java.lang.String name,
546                    java.lang.String description,
547                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
548                    boolean andOperator, int start, int end,
549                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portal.model.Group> obc)
550                    throws PortalException;
551    
552            /**
553            * Returns an ordered range of all the site groups and organization groups
554            * that match the name and description, optionally including the user's
555            * inherited organization groups and user groups. System and staged groups
556            * are not included.
557            *
558            * <p>
559            * Useful when paginating results. Returns a maximum of <code>end -
560            * start</code> instances. <code>start</code> and <code>end</code> are not
561            * primary keys, they are indexes in the result set. Thus, <code>0</code>
562            * refers to the first result in the set. Setting both <code>start</code>
563            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
564            * result set.
565            * </p>
566            *
567            * @param companyId the primary key of the company
568            * @param name the group's name (optionally <code>null</code>)
569            * @param description the group's description (optionally
570            <code>null</code>)
571            * @param params the finder params (optionally <code>null</code>). To
572            include the user's inherited organizations and user groups in the
573            search, add entries having &quot;usersGroups&quot; and
574            &quot;inherit&quot; as keys mapped to the the user's ID. For more
575            information see {@link
576            com.liferay.portal.service.persistence.GroupFinder}.
577            * @param start the lower bound of the range of groups to return
578            * @param end the upper bound of the range of groups to return (not
579            inclusive)
580            * @return the matching groups ordered by name
581            */
582            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
583            public java.util.List<com.liferay.portal.model.Group> search(
584                    long companyId, java.lang.String name, java.lang.String description,
585                    java.lang.String[] params, int start, int end)
586                    throws PortalException;
587    
588            /**
589            * Returns the number of groups and organization groups that match the name
590            * and description, optionally including the user's inherited organizations
591            * and user groups. System and staged groups are not included.
592            *
593            * @param companyId the primary key of the company
594            * @param name the group's name (optionally <code>null</code>)
595            * @param description the group's description (optionally
596            <code>null</code>)
597            * @param params the finder params (optionally <code>null</code>). To
598            include the user's inherited organizations and user groups in the
599            search, add entries having &quot;usersGroups&quot; and
600            &quot;inherit&quot; as keys mapped to the the user's ID. For more
601            information see {@link
602            com.liferay.portal.service.persistence.GroupFinder}.
603            * @return the number of matching groups
604            */
605            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
606            public int searchCount(long companyId, java.lang.String name,
607                    java.lang.String description, java.lang.String[] params);
608    
609            /**
610            * Sets the groups associated with the role, removing and adding
611            * associations as necessary.
612            *
613            * @param roleId the primary key of the role
614            * @param groupIds the primary keys of the groups
615            */
616            public void setRoleGroups(long roleId, long[] groupIds)
617                    throws PortalException;
618    
619            /**
620            * Removes the groups from the role.
621            *
622            * @param roleId the primary key of the role
623            * @param groupIds the primary keys of the groups
624            */
625            public void unsetRoleGroups(long roleId, long[] groupIds)
626                    throws PortalException;
627    
628            /**
629            * Updates the group's friendly URL.
630            *
631            * @param groupId the primary key of the group
632            * @param friendlyURL the group's new friendlyURL (optionally
633            <code>null</code>)
634            * @return the group
635            */
636            public com.liferay.portal.model.Group updateFriendlyURL(long groupId,
637                    java.lang.String friendlyURL) throws PortalException;
638    
639            /**
640            * Updates the group.
641            *
642            * @param groupId the primary key of the group
643            * @param parentGroupId the primary key of the parent group
644            * @param name the group's name
645            * @param description the group's new description (optionally
646            <code>null</code>)
647            * @param type the group's new type. For more information see {@link
648            GroupConstants}.
649            * @param manualMembership whether manual membership is allowed for the
650            group
651            * @param membershipRestriction the group's membership restriction. For
652            more information see {@link GroupConstants}.
653            * @param friendlyURL the group's new friendlyURL (optionally
654            <code>null</code>)
655            * @param active whether the group is active
656            * @param serviceContext the service context to be applied (optionally
657            <code>null</code>). Can set the asset category IDs and asset
658            tag names for the group.
659            * @return the group
660            * @deprecated As of 7.0.0, replaced by {@link #updateGroup(long, long, Map,
661            Map, int, boolean, int, String, boolean, boolean,
662            ServiceContext)}
663            */
664            @java.lang.Deprecated
665            public com.liferay.portal.model.Group updateGroup(long groupId,
666                    long parentGroupId, java.lang.String name,
667                    java.lang.String description, int type, boolean manualMembership,
668                    int membershipRestriction, java.lang.String friendlyURL,
669                    boolean inheritContent, boolean active,
670                    com.liferay.portal.service.ServiceContext serviceContext)
671                    throws PortalException;
672    
673            public com.liferay.portal.model.Group updateGroup(long groupId,
674                    long parentGroupId,
675                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
676                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
677                    int type, boolean manualMembership, int membershipRestriction,
678                    java.lang.String friendlyURL, boolean inheritContent, boolean active,
679                    com.liferay.portal.service.ServiceContext serviceContext)
680                    throws PortalException;
681    
682            /**
683            * Updates the group's type settings.
684            *
685            * @param groupId the primary key of the group
686            * @param typeSettings the group's new type settings (optionally
687            <code>null</code>)
688            * @return the group
689            */
690            public com.liferay.portal.model.Group updateGroup(long groupId,
691                    java.lang.String typeSettings) throws PortalException;
692    
693            public void updateStagedPortlets(long groupId,
694                    java.util.Map<java.lang.String, java.lang.String> stagedPortletIds)
695                    throws PortalException;
696    }