001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
022    import com.liferay.portal.kernel.transaction.Isolation;
023    import com.liferay.portal.kernel.transaction.Propagation;
024    import com.liferay.portal.kernel.transaction.Transactional;
025    import com.liferay.portal.security.ac.AccessControlled;
026    
027    /**
028     * Provides the remote service interface for User. 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 UserServiceUtil
034     * @see com.liferay.portal.service.base.UserServiceBaseImpl
035     * @see com.liferay.portal.service.impl.UserServiceImpl
036     * @generated
037     */
038    @ProviderType
039    @AccessControlled
040    @JSONWebService
041    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
042            PortalException.class, SystemException.class})
043    public interface UserService extends BaseService {
044            /*
045             * NOTE FOR DEVELOPERS:
046             *
047             * Never modify or reference this interface directly. Always use {@link UserServiceUtil} to access the user remote service. Add custom service methods to {@link com.liferay.portal.service.impl.UserServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
048             */
049    
050            /**
051            * Returns the Spring bean ID for this bean.
052            *
053            * @return the Spring bean ID for this bean
054            */
055            public java.lang.String getBeanIdentifier();
056    
057            /**
058            * Sets the Spring bean ID for this bean.
059            *
060            * @param beanIdentifier the Spring bean ID for this bean
061            */
062            public void setBeanIdentifier(java.lang.String beanIdentifier);
063    
064            /**
065            * Adds the users to the group.
066            *
067            * @param groupId the primary key of the group
068            * @param userIds the primary keys of the users
069            * @param serviceContext the service context to be applied (optionally
070            <code>null</code>)
071            * @throws PortalException if a group or user with the primary key could not
072            be found, if the user did not have permission to assign group
073            members, or if the operation was not allowed by the membership
074            policy
075            * @throws SystemException if a system exception occurred
076            */
077            public void addGroupUsers(long groupId, long[] userIds,
078                    com.liferay.portal.service.ServiceContext serviceContext)
079                    throws com.liferay.portal.kernel.exception.PortalException,
080                            com.liferay.portal.kernel.exception.SystemException;
081    
082            /**
083            * Adds the users to the organization.
084            *
085            * @param organizationId the primary key of the organization
086            * @param userIds the primary keys of the users
087            * @throws PortalException if an organization or user with the primary key
088            could not be found, if the user did not have permission to assign
089            organization members, if current user did not have an
090            organization in common with a given user, or if the operation was
091            not allowed by the membership policy
092            * @throws SystemException if a system exception occurred
093            */
094            public void addOrganizationUsers(long organizationId, long[] userIds)
095                    throws com.liferay.portal.kernel.exception.PortalException,
096                            com.liferay.portal.kernel.exception.SystemException;
097    
098            /**
099            * Assigns the password policy to the users, removing any other currently
100            * assigned password policies.
101            *
102            * @param passwordPolicyId the primary key of the password policy
103            * @param userIds the primary keys of the users
104            * @throws PortalException if the user did not have permission to assign
105            policy members
106            * @throws SystemException if a system exception occurred
107            */
108            public void addPasswordPolicyUsers(long passwordPolicyId, long[] userIds)
109                    throws com.liferay.portal.kernel.exception.PortalException,
110                            com.liferay.portal.kernel.exception.SystemException;
111    
112            /**
113            * Adds the users to the role.
114            *
115            * @param roleId the primary key of the role
116            * @param userIds the primary keys of the users
117            * @throws PortalException if a role or user with the primary key could not
118            be found, if the user did not have permission to assign role
119            members, or if the operation was not allowed by the membership
120            policy
121            * @throws SystemException if a system exception occurred
122            */
123            public void addRoleUsers(long roleId, long[] userIds)
124                    throws com.liferay.portal.kernel.exception.PortalException,
125                            com.liferay.portal.kernel.exception.SystemException;
126    
127            /**
128            * Adds the users to the team.
129            *
130            * @param teamId the primary key of the team
131            * @param userIds the primary keys of the users
132            * @throws PortalException if a team or user with the primary key could not
133            be found or if the user did not have permission to assign team
134            members
135            * @throws SystemException if a system exception occurred
136            */
137            public void addTeamUsers(long teamId, long[] userIds)
138                    throws com.liferay.portal.kernel.exception.PortalException,
139                            com.liferay.portal.kernel.exception.SystemException;
140    
141            /**
142            * Adds a user.
143            *
144            * <p>
145            * This method handles the creation and bookkeeping of the user including
146            * its resources, metadata, and internal data structures. It is not
147            * necessary to make subsequent calls to any methods to setup default
148            * groups, resources, etc.
149            * </p>
150            *
151            * @param companyId the primary key of the user's company
152            * @param autoPassword whether a password should be automatically generated
153            for the user
154            * @param password1 the user's password
155            * @param password2 the user's password confirmation
156            * @param autoScreenName whether a screen name should be automatically
157            generated for the user
158            * @param screenName the user's screen name
159            * @param emailAddress the user's email address
160            * @param facebookId the user's facebook ID
161            * @param openId the user's OpenID
162            * @param locale the user's locale
163            * @param firstName the user's first name
164            * @param middleName the user's middle name
165            * @param lastName the user's last name
166            * @param prefixId the user's name prefix ID
167            * @param suffixId the user's name suffix ID
168            * @param male whether the user is male
169            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
170            January)
171            * @param birthdayDay the user's birthday day
172            * @param birthdayYear the user's birthday year
173            * @param jobTitle the user's job title
174            * @param groupIds the primary keys of the user's groups
175            * @param organizationIds the primary keys of the user's organizations
176            * @param roleIds the primary keys of the roles this user possesses
177            * @param userGroupIds the primary keys of the user's user groups
178            * @param sendEmail whether to send the user an email notification about
179            their new account
180            * @param serviceContext the service context to be applied (optionally
181            <code>null</code>). Can set the UUID (with the <code>uuid</code>
182            attribute), asset category IDs, asset tag names, and expando
183            bridge attributes for the user.
184            * @return the new user
185            * @throws PortalException if the user's information was invalid, if the
186            operation was not allowed by the membership policy, if the
187            creator did not have permission to add users, or if the email
188            address was reserved
189            * @throws SystemException if a system exception occurred
190            */
191            public com.liferay.portal.model.User addUser(long companyId,
192                    boolean autoPassword, java.lang.String password1,
193                    java.lang.String password2, boolean autoScreenName,
194                    java.lang.String screenName, java.lang.String emailAddress,
195                    long facebookId, java.lang.String openId, java.util.Locale locale,
196                    java.lang.String firstName, java.lang.String middleName,
197                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
198                    int birthdayMonth, int birthdayDay, int birthdayYear,
199                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
200                    long[] roleIds, long[] userGroupIds, boolean sendEmail,
201                    com.liferay.portal.service.ServiceContext serviceContext)
202                    throws com.liferay.portal.kernel.exception.PortalException,
203                            com.liferay.portal.kernel.exception.SystemException;
204    
205            /**
206            * Adds a user with additional parameters.
207            *
208            * <p>
209            * This method handles the creation and bookkeeping of the user including
210            * its resources, metadata, and internal data structures. It is not
211            * necessary to make subsequent calls to any methods to setup default
212            * groups, resources, etc.
213            * </p>
214            *
215            * @param companyId the primary key of the user's company
216            * @param autoPassword whether a password should be automatically generated
217            for the user
218            * @param password1 the user's password
219            * @param password2 the user's password confirmation
220            * @param autoScreenName whether a screen name should be automatically
221            generated for the user
222            * @param screenName the user's screen name
223            * @param emailAddress the user's email address
224            * @param facebookId the user's facebook ID
225            * @param openId the user's OpenID
226            * @param locale the user's locale
227            * @param firstName the user's first name
228            * @param middleName the user's middle name
229            * @param lastName the user's last name
230            * @param prefixId the user's name prefix ID
231            * @param suffixId the user's name suffix ID
232            * @param male whether the user is male
233            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
234            January)
235            * @param birthdayDay the user's birthday day
236            * @param birthdayYear the user's birthday year
237            * @param jobTitle the user's job title
238            * @param groupIds the primary keys of the user's groups
239            * @param organizationIds the primary keys of the user's organizations
240            * @param roleIds the primary keys of the roles this user possesses
241            * @param userGroupIds the primary keys of the user's user groups
242            * @param addresses the user's addresses
243            * @param emailAddresses the user's email addresses
244            * @param phones the user's phone numbers
245            * @param websites the user's websites
246            * @param announcementsDelivers the announcements deliveries
247            * @param sendEmail whether to send the user an email notification about
248            their new account
249            * @param serviceContext the service context to be applied (optionally
250            <code>null</code>). Can set the UUID (with the <code>uuid</code>
251            attribute), asset category IDs, asset tag names, and expando
252            bridge attributes for the user.
253            * @return the new user
254            * @throws PortalException if the user's information was invalid, if the
255            creator did not have permission to add users, if the email
256            address was reserved, if the operation was not allowed by the
257            membership policy, or if some other portal exception occurred
258            * @throws SystemException if a system exception occurred
259            */
260            public com.liferay.portal.model.User addUser(long companyId,
261                    boolean autoPassword, java.lang.String password1,
262                    java.lang.String password2, boolean autoScreenName,
263                    java.lang.String screenName, java.lang.String emailAddress,
264                    long facebookId, java.lang.String openId, java.util.Locale locale,
265                    java.lang.String firstName, java.lang.String middleName,
266                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
267                    int birthdayMonth, int birthdayDay, int birthdayYear,
268                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
269                    long[] roleIds, long[] userGroupIds,
270                    java.util.List<com.liferay.portal.model.Address> addresses,
271                    java.util.List<com.liferay.portal.model.EmailAddress> emailAddresses,
272                    java.util.List<com.liferay.portal.model.Phone> phones,
273                    java.util.List<com.liferay.portal.model.Website> websites,
274                    java.util.List<com.liferay.portlet.announcements.model.AnnouncementsDelivery> announcementsDelivers,
275                    boolean sendEmail,
276                    com.liferay.portal.service.ServiceContext serviceContext)
277                    throws com.liferay.portal.kernel.exception.PortalException,
278                            com.liferay.portal.kernel.exception.SystemException;
279    
280            /**
281            * Adds the users to the user group.
282            *
283            * @param userGroupId the primary key of the user group
284            * @param userIds the primary keys of the users
285            * @throws PortalException if a user group or user with the primary could
286            could not be found, if the current user did not have permission
287            to assign group members, or if the operation was not allowed by
288            the membership policy
289            * @throws SystemException if a system exception occurred
290            */
291            public void addUserGroupUsers(long userGroupId, long[] userIds)
292                    throws com.liferay.portal.kernel.exception.PortalException,
293                            com.liferay.portal.kernel.exception.SystemException;
294    
295            /**
296            * Adds a user with workflow.
297            *
298            * <p>
299            * This method handles the creation and bookkeeping of the user including
300            * its resources, metadata, and internal data structures. It is not
301            * necessary to make subsequent calls to any methods to setup default
302            * groups, resources, etc.
303            * </p>
304            *
305            * @param companyId the primary key of the user's company
306            * @param autoPassword whether a password should be automatically generated
307            for the user
308            * @param password1 the user's password
309            * @param password2 the user's password confirmation
310            * @param autoScreenName whether a screen name should be automatically
311            generated for the user
312            * @param screenName the user's screen name
313            * @param emailAddress the user's email address
314            * @param facebookId the user's facebook ID
315            * @param openId the user's OpenID
316            * @param locale the user's locale
317            * @param firstName the user's first name
318            * @param middleName the user's middle name
319            * @param lastName the user's last name
320            * @param prefixId the user's name prefix ID
321            * @param suffixId the user's name suffix ID
322            * @param male whether the user is male
323            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
324            January)
325            * @param birthdayDay the user's birthday day
326            * @param birthdayYear the user's birthday year
327            * @param jobTitle the user's job title
328            * @param groupIds the primary keys of the user's groups
329            * @param organizationIds the primary keys of the user's organizations
330            * @param roleIds the primary keys of the roles this user possesses
331            * @param userGroupIds the primary keys of the user's user groups
332            * @param sendEmail whether to send the user an email notification about
333            their new account
334            * @param serviceContext the service context to be applied (optionally
335            <code>null</code>). Can set the UUID (with the <code>uuid</code>
336            attribute), asset category IDs, asset tag names, and expando
337            bridge attributes for the user.
338            * @return the new user
339            * @throws PortalException if the user's information was invalid, if the
340            operation was not allowed by the membership policy, if the
341            creator did not have permission to add users, or if the email
342            address was reserved
343            * @throws SystemException if a system exception occurred
344            */
345            public com.liferay.portal.model.User addUserWithWorkflow(long companyId,
346                    boolean autoPassword, java.lang.String password1,
347                    java.lang.String password2, boolean autoScreenName,
348                    java.lang.String screenName, java.lang.String emailAddress,
349                    long facebookId, java.lang.String openId, java.util.Locale locale,
350                    java.lang.String firstName, java.lang.String middleName,
351                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
352                    int birthdayMonth, int birthdayDay, int birthdayYear,
353                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
354                    long[] roleIds, long[] userGroupIds, boolean sendEmail,
355                    com.liferay.portal.service.ServiceContext serviceContext)
356                    throws com.liferay.portal.kernel.exception.PortalException,
357                            com.liferay.portal.kernel.exception.SystemException;
358    
359            /**
360            * Adds a user with workflow and additional parameters.
361            *
362            * <p>
363            * This method handles the creation and bookkeeping of the user including
364            * its resources, metadata, and internal data structures. It is not
365            * necessary to make subsequent calls to any methods to setup default
366            * groups, resources, etc.
367            * </p>
368            *
369            * @param companyId the primary key of the user's company
370            * @param autoPassword whether a password should be automatically generated
371            for the user
372            * @param password1 the user's password
373            * @param password2 the user's password confirmation
374            * @param autoScreenName whether a screen name should be automatically
375            generated for the user
376            * @param screenName the user's screen name
377            * @param emailAddress the user's email address
378            * @param facebookId the user's facebook ID
379            * @param openId the user's OpenID
380            * @param locale the user's locale
381            * @param firstName the user's first name
382            * @param middleName the user's middle name
383            * @param lastName the user's last name
384            * @param prefixId the user's name prefix ID
385            * @param suffixId the user's name suffix ID
386            * @param male whether the user is male
387            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
388            January)
389            * @param birthdayDay the user's birthday day
390            * @param birthdayYear the user's birthday year
391            * @param jobTitle the user's job title
392            * @param groupIds the primary keys of the user's groups
393            * @param organizationIds the primary keys of the user's organizations
394            * @param roleIds the primary keys of the roles this user possesses
395            * @param userGroupIds the primary keys of the user's user groups
396            * @param addresses the user's addresses
397            * @param emailAddresses the user's email addresses
398            * @param phones the user's phone numbers
399            * @param websites the user's websites
400            * @param announcementsDelivers the announcements deliveries
401            * @param sendEmail whether to send the user an email notification about
402            their new account
403            * @param serviceContext the service context to be applied (optionally
404            <code>null</code>). Can set the UUID (with the <code>uuid</code>
405            attribute), asset category IDs, asset tag names, and expando
406            bridge attributes for the user.
407            * @return the new user
408            * @throws PortalException if the user's information was invalid, if the
409            operation was not allowed by the membership policy, if the
410            creator did not have permission to add users, if the email
411            address was reserved, or if some other portal exception occurred
412            * @throws SystemException if a system exception occurred
413            */
414            public com.liferay.portal.model.User addUserWithWorkflow(long companyId,
415                    boolean autoPassword, java.lang.String password1,
416                    java.lang.String password2, boolean autoScreenName,
417                    java.lang.String screenName, java.lang.String emailAddress,
418                    long facebookId, java.lang.String openId, java.util.Locale locale,
419                    java.lang.String firstName, java.lang.String middleName,
420                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
421                    int birthdayMonth, int birthdayDay, int birthdayYear,
422                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
423                    long[] roleIds, long[] userGroupIds,
424                    java.util.List<com.liferay.portal.model.Address> addresses,
425                    java.util.List<com.liferay.portal.model.EmailAddress> emailAddresses,
426                    java.util.List<com.liferay.portal.model.Phone> phones,
427                    java.util.List<com.liferay.portal.model.Website> websites,
428                    java.util.List<com.liferay.portlet.announcements.model.AnnouncementsDelivery> announcementsDelivers,
429                    boolean sendEmail,
430                    com.liferay.portal.service.ServiceContext serviceContext)
431                    throws com.liferay.portal.kernel.exception.PortalException,
432                            com.liferay.portal.kernel.exception.SystemException;
433    
434            /**
435            * Deletes the user's portrait image.
436            *
437            * @param userId the primary key of the user
438            * @throws PortalException if a user with the primary key could not be
439            found, if the user's portrait could not be found, or if the
440            current user did not have permission to update the user
441            * @throws SystemException if a system exception occurred
442            */
443            public void deletePortrait(long userId)
444                    throws com.liferay.portal.kernel.exception.PortalException,
445                            com.liferay.portal.kernel.exception.SystemException;
446    
447            /**
448            * Removes the user from the role.
449            *
450            * @param roleId the primary key of the role
451            * @param userId the primary key of the user
452            * @throws PortalException if a role or user with the primary key could not
453            be found, or if the current user did not have permission to
454            assign role members
455            * @throws SystemException if a system exception occurred
456            */
457            public void deleteRoleUser(long roleId, long userId)
458                    throws com.liferay.portal.kernel.exception.PortalException,
459                            com.liferay.portal.kernel.exception.SystemException;
460    
461            /**
462            * Deletes the user.
463            *
464            * @param userId the primary key of the user
465            * @throws PortalException if a user with the primary key could not be found
466            or if the current user did not have permission to delete the user
467            * @throws SystemException if a system exception occurred
468            */
469            public void deleteUser(long userId)
470                    throws com.liferay.portal.kernel.exception.PortalException,
471                            com.liferay.portal.kernel.exception.SystemException;
472    
473            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
474            public java.util.List<com.liferay.portal.model.User> getCompanyUsers(
475                    long companyId, int start, int end)
476                    throws com.liferay.portal.kernel.exception.PortalException,
477                            com.liferay.portal.kernel.exception.SystemException;
478    
479            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
480            public int getCompanyUsersCount(long companyId)
481                    throws com.liferay.portal.kernel.exception.PortalException,
482                            com.liferay.portal.kernel.exception.SystemException;
483    
484            /**
485            * Returns the primary keys of all the users belonging to the group.
486            *
487            * @param groupId the primary key of the group
488            * @return the primary keys of the users belonging to the group
489            * @throws PortalException if the current user did not have permission to
490            view group assignments
491            * @throws SystemException if a system exception occurred
492            */
493            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
494            public long[] getGroupUserIds(long groupId)
495                    throws com.liferay.portal.kernel.exception.PortalException,
496                            com.liferay.portal.kernel.exception.SystemException;
497    
498            /**
499            * Returns all the users belonging to the group.
500            *
501            * @param groupId the primary key of the group
502            * @return the users belonging to the group
503            * @throws PortalException if the current user did not have permission to
504            view group assignments
505            * @throws SystemException if a system exception occurred
506            */
507            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
508            public java.util.List<com.liferay.portal.model.User> getGroupUsers(
509                    long groupId)
510                    throws com.liferay.portal.kernel.exception.PortalException,
511                            com.liferay.portal.kernel.exception.SystemException;
512    
513            /**
514            * Returns the primary keys of all the users belonging to the organization.
515            *
516            * @param organizationId the primary key of the organization
517            * @return the primary keys of the users belonging to the organization
518            * @throws PortalException if the current user did not have permission to
519            view organization assignments
520            * @throws SystemException if a system exception occurred
521            */
522            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
523            public long[] getOrganizationUserIds(long organizationId)
524                    throws com.liferay.portal.kernel.exception.PortalException,
525                            com.liferay.portal.kernel.exception.SystemException;
526    
527            /**
528            * Returns all the users belonging to the organization.
529            *
530            * @param organizationId the primary key of the organization
531            * @return users belonging to the organization
532            * @throws PortalException if the current user did not have permission to
533            view organization assignments
534            * @throws SystemException if a system exception occurred
535            */
536            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
537            public java.util.List<com.liferay.portal.model.User> getOrganizationUsers(
538                    long organizationId)
539                    throws com.liferay.portal.kernel.exception.PortalException,
540                            com.liferay.portal.kernel.exception.SystemException;
541    
542            /**
543            * Returns the primary keys of all the users belonging to the role.
544            *
545            * @param roleId the primary key of the role
546            * @return the primary keys of the users belonging to the role
547            * @throws PortalException if the current user did not have permission to
548            view role members
549            * @throws SystemException if a system exception occurred
550            */
551            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
552            public long[] getRoleUserIds(long roleId)
553                    throws com.liferay.portal.kernel.exception.PortalException,
554                            com.liferay.portal.kernel.exception.SystemException;
555    
556            /**
557            * Returns the user with the email address.
558            *
559            * @param companyId the primary key of the user's company
560            * @param emailAddress the user's email address
561            * @return the user with the email address
562            * @throws PortalException if a user with the email address could not be
563            found or if the current user did not have permission to view the
564            user
565            * @throws SystemException if a system exception occurred
566            */
567            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
568            public com.liferay.portal.model.User getUserByEmailAddress(long companyId,
569                    java.lang.String emailAddress)
570                    throws com.liferay.portal.kernel.exception.PortalException,
571                            com.liferay.portal.kernel.exception.SystemException;
572    
573            /**
574            * Returns the user with the primary key.
575            *
576            * @param userId the primary key of the user
577            * @return the user with the primary key
578            * @throws PortalException if a user with the primary key could not be found
579            or if the current user did not have permission to view the user
580            * @throws SystemException if a system exception occurred
581            */
582            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
583            public com.liferay.portal.model.User getUserById(long userId)
584                    throws com.liferay.portal.kernel.exception.PortalException,
585                            com.liferay.portal.kernel.exception.SystemException;
586    
587            /**
588            * Returns the user with the screen name.
589            *
590            * @param companyId the primary key of the user's company
591            * @param screenName the user's screen name
592            * @return the user with the screen name
593            * @throws PortalException if a user with the screen name could not be found
594            or if the current user did not have permission to view the user
595            * @throws SystemException if a system exception occurred
596            */
597            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
598            public com.liferay.portal.model.User getUserByScreenName(long companyId,
599                    java.lang.String screenName)
600                    throws com.liferay.portal.kernel.exception.PortalException,
601                            com.liferay.portal.kernel.exception.SystemException;
602    
603            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
604            public java.util.List<com.liferay.portal.model.User> getUserGroupUsers(
605                    long userGroupId)
606                    throws com.liferay.portal.kernel.exception.PortalException,
607                            com.liferay.portal.kernel.exception.SystemException;
608    
609            /**
610            * Returns the primary key of the user with the email address.
611            *
612            * @param companyId the primary key of the user's company
613            * @param emailAddress the user's email address
614            * @return the primary key of the user with the email address
615            * @throws PortalException if a user with the email address could not be
616            found
617            * @throws SystemException if a system exception occurred
618            */
619            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
620            public long getUserIdByEmailAddress(long companyId,
621                    java.lang.String emailAddress)
622                    throws com.liferay.portal.kernel.exception.PortalException,
623                            com.liferay.portal.kernel.exception.SystemException;
624    
625            /**
626            * Returns the primary key of the user with the screen name.
627            *
628            * @param companyId the primary key of the user's company
629            * @param screenName the user's screen name
630            * @return the primary key of the user with the screen name
631            * @throws PortalException if a user with the screen name could not be found
632            * @throws SystemException if a system exception occurred
633            */
634            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
635            public long getUserIdByScreenName(long companyId,
636                    java.lang.String screenName)
637                    throws com.liferay.portal.kernel.exception.PortalException,
638                            com.liferay.portal.kernel.exception.SystemException;
639    
640            /**
641            * Returns <code>true</code> if the user is a member of the group.
642            *
643            * @param groupId the primary key of the group
644            * @param userId the primary key of the user
645            * @return <code>true</code> if the user is a member of the group;
646            <code>false</code> otherwise
647            * @throws PortalException if the current user did not have permission to
648            view the user or group members
649            * @throws SystemException if a system exception occurred
650            */
651            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
652            public boolean hasGroupUser(long groupId, long userId)
653                    throws com.liferay.portal.kernel.exception.PortalException,
654                            com.liferay.portal.kernel.exception.SystemException;
655    
656            /**
657            * Returns <code>true</code> if the user is a member of the role.
658            *
659            * @param roleId the primary key of the role
660            * @param userId the primary key of the user
661            * @return <code>true</code> if the user is a member of the role;
662            <code>false</code> otherwise
663            * @throws PortalException if the current user did not have permission to
664            view the user or role members
665            * @throws SystemException if a system exception occurred
666            */
667            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
668            public boolean hasRoleUser(long roleId, long userId)
669                    throws com.liferay.portal.kernel.exception.PortalException,
670                            com.liferay.portal.kernel.exception.SystemException;
671    
672            /**
673            * Returns <code>true</code> if the user has the role with the name,
674            * optionally through inheritance.
675            *
676            * @param companyId the primary key of the role's company
677            * @param name the name of the role (must be a regular role, not an
678            organization, site or provider role)
679            * @param userId the primary key of the user
680            * @param inherited whether to include roles inherited from organizations,
681            sites, etc.
682            * @return <code>true</code> if the user has the role; <code>false</code>
683            otherwise
684            * @throws PortalException if a role with the name could not be found
685            * @throws SystemException if a system exception occurred
686            */
687            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
688            public boolean hasRoleUser(long companyId, java.lang.String name,
689                    long userId, boolean inherited)
690                    throws com.liferay.portal.kernel.exception.PortalException,
691                            com.liferay.portal.kernel.exception.SystemException;
692    
693            /**
694            * Sets the users in the role, removing and adding users to the role as
695            * necessary.
696            *
697            * @param roleId the primary key of the role
698            * @param userIds the primary keys of the users
699            * @throws PortalException if the current user did not have permission to
700            assign role members or if the operation was not allowed by the
701            membership policy
702            * @throws SystemException if a system exception occurred
703            */
704            public void setRoleUsers(long roleId, long[] userIds)
705                    throws com.liferay.portal.kernel.exception.PortalException,
706                            com.liferay.portal.kernel.exception.SystemException;
707    
708            /**
709            * Sets the users in the user group, removing and adding users to the user
710            * group as necessary.
711            *
712            * @param userGroupId the primary key of the user group
713            * @param userIds the primary keys of the users
714            * @throws PortalException if the current user did not have permission to
715            assign group members
716            * @throws SystemException if a system exception occurred
717            */
718            public void setUserGroupUsers(long userGroupId, long[] userIds)
719                    throws com.liferay.portal.kernel.exception.PortalException,
720                            com.liferay.portal.kernel.exception.SystemException;
721    
722            /**
723            * Removes the users from the teams of a group.
724            *
725            * @param groupId the primary key of the group
726            * @param userIds the primary keys of the users
727            * @throws PortalException if the current user did not have permission to
728            modify user group assignments
729            * @throws SystemException if a system exception occurred
730            */
731            public void unsetGroupTeamsUsers(long groupId, long[] userIds)
732                    throws com.liferay.portal.kernel.exception.PortalException,
733                            com.liferay.portal.kernel.exception.SystemException;
734    
735            /**
736            * Removes the users from the group.
737            *
738            * @param groupId the primary key of the group
739            * @param userIds the primary keys of the users
740            * @param serviceContext the service context to be applied (optionally
741            <code>null</code>)
742            * @throws PortalException if the current user did not have permission to
743            modify group assignments or if the operation was not allowed by
744            the membership policy
745            * @throws SystemException if a system exception occurred
746            */
747            public void unsetGroupUsers(long groupId, long[] userIds,
748                    com.liferay.portal.service.ServiceContext serviceContext)
749                    throws com.liferay.portal.kernel.exception.PortalException,
750                            com.liferay.portal.kernel.exception.SystemException;
751    
752            /**
753            * Removes the users from the organization.
754            *
755            * @param organizationId the primary key of the organization
756            * @param userIds the primary keys of the users
757            * @throws PortalException if the current user did not have permission to
758            modify organization assignments or if the operation was not
759            allowed by the membership policy
760            * @throws SystemException if a system exception occurred
761            */
762            public void unsetOrganizationUsers(long organizationId, long[] userIds)
763                    throws com.liferay.portal.kernel.exception.PortalException,
764                            com.liferay.portal.kernel.exception.SystemException;
765    
766            /**
767            * Removes the users from the password policy.
768            *
769            * @param passwordPolicyId the primary key of the password policy
770            * @param userIds the primary keys of the users
771            * @throws PortalException if the current user did not have permission to
772            modify policy assignments
773            * @throws SystemException if a system exception occurred
774            */
775            public void unsetPasswordPolicyUsers(long passwordPolicyId, long[] userIds)
776                    throws com.liferay.portal.kernel.exception.PortalException,
777                            com.liferay.portal.kernel.exception.SystemException;
778    
779            /**
780            * Removes the users from the role.
781            *
782            * @param roleId the primary key of the role
783            * @param userIds the primary keys of the users
784            * @throws PortalException if the current user did not have permission to
785            modify role assignments or if the operation was not allowed by
786            the membership policy
787            * @throws SystemException if a system exception occurred
788            */
789            public void unsetRoleUsers(long roleId, long[] userIds)
790                    throws com.liferay.portal.kernel.exception.PortalException,
791                            com.liferay.portal.kernel.exception.SystemException;
792    
793            /**
794            * Removes the users from the team.
795            *
796            * @param teamId the primary key of the team
797            * @param userIds the primary keys of the users
798            * @throws PortalException if the current user did not have permission to
799            modify team assignments
800            * @throws SystemException if a system exception occurred
801            */
802            public void unsetTeamUsers(long teamId, long[] userIds)
803                    throws com.liferay.portal.kernel.exception.PortalException,
804                            com.liferay.portal.kernel.exception.SystemException;
805    
806            /**
807            * Removes the users from the user group.
808            *
809            * @param userGroupId the primary key of the user group
810            * @param userIds the primary keys of the users
811            * @throws PortalException if the current user did not have permission to
812            modify user group assignments or if the operation was not allowed
813            by the membership policy
814            * @throws SystemException if a system exception occurred
815            */
816            public void unsetUserGroupUsers(long userGroupId, long[] userIds)
817                    throws com.liferay.portal.kernel.exception.PortalException,
818                            com.liferay.portal.kernel.exception.SystemException;
819    
820            /**
821            * Updates the user's response to the terms of use agreement.
822            *
823            * @param userId the primary key of the user
824            * @param agreedToTermsOfUse whether the user has agree to the terms of use
825            * @return the user
826            * @throws PortalException if the current user did not have permission to
827            update the user's agreement to terms-of-use
828            * @throws SystemException if a system exception occurred
829            */
830            public com.liferay.portal.model.User updateAgreedToTermsOfUse(long userId,
831                    boolean agreedToTermsOfUse)
832                    throws com.liferay.portal.kernel.exception.PortalException,
833                            com.liferay.portal.kernel.exception.SystemException;
834    
835            /**
836            * Updates the user's email address.
837            *
838            * @param userId the primary key of the user
839            * @param password the user's password
840            * @param emailAddress1 the user's new email address
841            * @param emailAddress2 the user's new email address confirmation
842            * @param serviceContext the service context to be applied. Must set the
843            portal URL, main path, primary key of the layout, remote address,
844            remote host, and agent for the user.
845            * @return the user
846            * @throws PortalException if a user with the primary key could not be found
847            or if the current user did not have permission to update the user
848            * @throws SystemException if a system exception occurred
849            */
850            public com.liferay.portal.model.User updateEmailAddress(long userId,
851                    java.lang.String password, java.lang.String emailAddress1,
852                    java.lang.String emailAddress2,
853                    com.liferay.portal.service.ServiceContext serviceContext)
854                    throws com.liferay.portal.kernel.exception.PortalException,
855                            com.liferay.portal.kernel.exception.SystemException;
856    
857            /**
858            * Updates a user account that was automatically created when a guest user
859            * participated in an action (e.g. posting a comment) and only provided his
860            * name and email address.
861            *
862            * @param companyId the primary key of the user's company
863            * @param autoPassword whether a password should be automatically generated
864            for the user
865            * @param password1 the user's password
866            * @param password2 the user's password confirmation
867            * @param autoScreenName whether a screen name should be automatically
868            generated for the user
869            * @param screenName the user's screen name
870            * @param emailAddress the user's email address
871            * @param facebookId the user's facebook ID
872            * @param openId the user's OpenID
873            * @param locale the user's locale
874            * @param firstName the user's first name
875            * @param middleName the user's middle name
876            * @param lastName the user's last name
877            * @param prefixId the user's name prefix ID
878            * @param suffixId the user's name suffix ID
879            * @param male whether the user is male
880            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
881            January)
882            * @param birthdayDay the user's birthday day
883            * @param birthdayYear the user's birthday year
884            * @param jobTitle the user's job title
885            * @param updateUserInformation whether to update the user's information
886            * @param sendEmail whether to send the user an email notification about
887            their new account
888            * @param serviceContext the service context to be applied (optionally
889            <code>null</code>). Can set the expando bridge attributes for the
890            user.
891            * @return the user
892            * @throws PortalException if the user's information was invalid or if the
893            email address was reserved
894            * @throws SystemException if a system exception occurred
895            */
896            public com.liferay.portal.model.User updateIncompleteUser(long companyId,
897                    boolean autoPassword, java.lang.String password1,
898                    java.lang.String password2, boolean autoScreenName,
899                    java.lang.String screenName, java.lang.String emailAddress,
900                    long facebookId, java.lang.String openId, java.util.Locale locale,
901                    java.lang.String firstName, java.lang.String middleName,
902                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
903                    int birthdayMonth, int birthdayDay, int birthdayYear,
904                    java.lang.String jobTitle, boolean updateUserInformation,
905                    boolean sendEmail,
906                    com.liferay.portal.service.ServiceContext serviceContext)
907                    throws com.liferay.portal.kernel.exception.PortalException,
908                            com.liferay.portal.kernel.exception.SystemException;
909    
910            /**
911            * Updates whether the user is locked out from logging in.
912            *
913            * @param userId the primary key of the user
914            * @param lockout whether the user is locked out
915            * @return the user
916            * @throws PortalException if the user did not have permission to lock out
917            the user
918            * @throws SystemException if a system exception occurred
919            */
920            public com.liferay.portal.model.User updateLockoutById(long userId,
921                    boolean lockout)
922                    throws com.liferay.portal.kernel.exception.PortalException,
923                            com.liferay.portal.kernel.exception.SystemException;
924    
925            /**
926            * Updates the user's OpenID.
927            *
928            * @param userId the primary key of the user
929            * @param openId the new OpenID
930            * @return the user
931            * @throws PortalException if a user with the primary key could not be found
932            or if the current user did not have permission to update the user
933            * @throws SystemException if a system exception occurred
934            */
935            public com.liferay.portal.model.User updateOpenId(long userId,
936                    java.lang.String openId)
937                    throws com.liferay.portal.kernel.exception.PortalException,
938                            com.liferay.portal.kernel.exception.SystemException;
939    
940            /**
941            * Sets the organizations that the user is in, removing and adding
942            * organizations as necessary.
943            *
944            * @param userId the primary key of the user
945            * @param organizationIds the primary keys of the organizations
946            * @param serviceContext the service context to be applied. Must set
947            whether user indexing is enabled.
948            * @throws PortalException if a user with the primary key could not be found
949            or if the current user did not have permission to update the user
950            * @throws SystemException if a system exception occurred
951            */
952            public void updateOrganizations(long userId, long[] organizationIds,
953                    com.liferay.portal.service.ServiceContext serviceContext)
954                    throws com.liferay.portal.kernel.exception.PortalException,
955                            com.liferay.portal.kernel.exception.SystemException;
956    
957            /**
958            * Updates the user's password without tracking or validation of the change.
959            *
960            * @param userId the primary key of the user
961            * @param password1 the user's new password
962            * @param password2 the user's new password confirmation
963            * @param passwordReset whether the user should be asked to reset their
964            password the next time they log in
965            * @return the user
966            * @throws PortalException if a user with the primary key could not be found
967            or if the current user did not have permission to update the user
968            * @throws SystemException if a system exception occurred
969            */
970            public com.liferay.portal.model.User updatePassword(long userId,
971                    java.lang.String password1, java.lang.String password2,
972                    boolean passwordReset)
973                    throws com.liferay.portal.kernel.exception.PortalException,
974                            com.liferay.portal.kernel.exception.SystemException;
975    
976            /**
977            * Updates the user's portrait image.
978            *
979            * @param userId the primary key of the user
980            * @param bytes the new portrait image data
981            * @return the user
982            * @throws PortalException if a user with the primary key could not be
983            found, if the new portrait was invalid, or if the current user
984            did not have permission to update the user
985            * @throws SystemException if a system exception occurred
986            */
987            public com.liferay.portal.model.User updatePortrait(long userId,
988                    byte[] bytes)
989                    throws com.liferay.portal.kernel.exception.PortalException,
990                            com.liferay.portal.kernel.exception.SystemException;
991    
992            /**
993            * Updates the user's password reset question and answer.
994            *
995            * @param userId the primary key of the user
996            * @param question the user's new password reset question
997            * @param answer the user's new password reset answer
998            * @return the user
999            * @throws PortalException if a user with the primary key could not be
1000            found, if the new question or answer were invalid, or if the
1001            current user did not have permission to update the user
1002            * @throws SystemException if a system exception occurred
1003            */
1004            public com.liferay.portal.model.User updateReminderQuery(long userId,
1005                    java.lang.String question, java.lang.String answer)
1006                    throws com.liferay.portal.kernel.exception.PortalException,
1007                            com.liferay.portal.kernel.exception.SystemException;
1008    
1009            /**
1010            * Updates the user's screen name.
1011            *
1012            * @param userId the primary key of the user
1013            * @param screenName the user's new screen name
1014            * @return the user
1015            * @throws PortalException if a user with the primary key could not be
1016            found, if the new screen name was invalid, or if the current user
1017            did not have permission to update the user
1018            * @throws SystemException if a system exception occurred
1019            */
1020            public com.liferay.portal.model.User updateScreenName(long userId,
1021                    java.lang.String screenName)
1022                    throws com.liferay.portal.kernel.exception.PortalException,
1023                            com.liferay.portal.kernel.exception.SystemException;
1024    
1025            /**
1026            * Updates the user's workflow status.
1027            *
1028            * @param userId the primary key of the user
1029            * @param status the user's new workflow status
1030            * @return the user
1031            * @throws PortalException if a user with the primary key could not be
1032            found, if the current user was updating her own status to
1033            anything but {@link
1034            com.liferay.portal.kernel.workflow.WorkflowConstants#STATUS_APPROVED},
1035            or if the current user did not have permission to update the
1036            user's workflow status.
1037            * @throws SystemException if a system exception occurred
1038            */
1039            public com.liferay.portal.model.User updateStatus(long userId, int status)
1040                    throws com.liferay.portal.kernel.exception.PortalException,
1041                            com.liferay.portal.kernel.exception.SystemException;
1042    
1043            /**
1044            * Updates the user with additional parameters.
1045            *
1046            * @param userId the primary key of the user
1047            * @param oldPassword the user's old password
1048            * @param newPassword1 the user's new password (optionally
1049            <code>null</code>)
1050            * @param newPassword2 the user's new password confirmation (optionally
1051            <code>null</code>)
1052            * @param passwordReset whether the user should be asked to reset their
1053            password the next time they login
1054            * @param reminderQueryQuestion the user's new password reset question
1055            * @param reminderQueryAnswer the user's new password reset answer
1056            * @param screenName the user's new screen name
1057            * @param emailAddress the user's new email address
1058            * @param facebookId the user's new Facebook ID
1059            * @param openId the user's new OpenID
1060            * @param languageId the user's new language ID
1061            * @param timeZoneId the user's new time zone ID
1062            * @param greeting the user's new greeting
1063            * @param comments the user's new comments
1064            * @param firstName the user's new first name
1065            * @param middleName the user's new middle name
1066            * @param lastName the user's new last name
1067            * @param prefixId the user's new name prefix ID
1068            * @param suffixId the user's new name suffix ID
1069            * @param male whether user is male
1070            * @param birthdayMonth the user's new birthday month (0-based, meaning 0
1071            for January)
1072            * @param birthdayDay the user's new birthday day
1073            * @param birthdayYear the user's birthday year
1074            * @param smsSn the user's new SMS screen name
1075            * @param aimSn the user's new AIM screen name
1076            * @param facebookSn the user's new Facebook screen name
1077            * @param icqSn the user's new ICQ screen name
1078            * @param jabberSn the user's new Jabber screen name
1079            * @param msnSn the user's new MSN screen name
1080            * @param mySpaceSn the user's new MySpace screen name
1081            * @param skypeSn the user's new Skype screen name
1082            * @param twitterSn the user's new Twitter screen name
1083            * @param ymSn the user's new Yahoo! Messenger screen name
1084            * @param jobTitle the user's new job title
1085            * @param groupIds the primary keys of the user's groups
1086            * @param organizationIds the primary keys of the user's organizations
1087            * @param roleIds the primary keys of the user's roles
1088            * @param userGroupRoles the user user's group roles
1089            * @param userGroupIds the primary keys of the user's user groups
1090            * @param addresses the user's addresses
1091            * @param emailAddresses the user's email addresses
1092            * @param phones the user's phone numbers
1093            * @param websites the user's websites
1094            * @param announcementsDelivers the announcements deliveries
1095            * @param serviceContext the service context to be applied (optionally
1096            <code>null</code>). Can set the UUID (with the <code>uuid</code>
1097            attribute), asset category IDs, asset tag names, and expando
1098            bridge attributes for the user.
1099            * @return the user
1100            * @throws PortalException if a user with the primary key could not be
1101            found, if the new information was invalid, if the current user
1102            did not have permission to update the user, or if the operation
1103            was not allowed by the membership policy
1104            * @throws SystemException if a system exception occurred
1105            */
1106            public com.liferay.portal.model.User updateUser(long userId,
1107                    java.lang.String oldPassword, java.lang.String newPassword1,
1108                    java.lang.String newPassword2, boolean passwordReset,
1109                    java.lang.String reminderQueryQuestion,
1110                    java.lang.String reminderQueryAnswer, java.lang.String screenName,
1111                    java.lang.String emailAddress, long facebookId,
1112                    java.lang.String openId, java.lang.String languageId,
1113                    java.lang.String timeZoneId, java.lang.String greeting,
1114                    java.lang.String comments, java.lang.String firstName,
1115                    java.lang.String middleName, java.lang.String lastName, int prefixId,
1116                    int suffixId, boolean male, int birthdayMonth, int birthdayDay,
1117                    int birthdayYear, java.lang.String smsSn, java.lang.String aimSn,
1118                    java.lang.String facebookSn, java.lang.String icqSn,
1119                    java.lang.String jabberSn, java.lang.String msnSn,
1120                    java.lang.String mySpaceSn, java.lang.String skypeSn,
1121                    java.lang.String twitterSn, java.lang.String ymSn,
1122                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
1123                    long[] roleIds,
1124                    java.util.List<com.liferay.portal.model.UserGroupRole> userGroupRoles,
1125                    long[] userGroupIds,
1126                    java.util.List<com.liferay.portal.model.Address> addresses,
1127                    java.util.List<com.liferay.portal.model.EmailAddress> emailAddresses,
1128                    java.util.List<com.liferay.portal.model.Phone> phones,
1129                    java.util.List<com.liferay.portal.model.Website> websites,
1130                    java.util.List<com.liferay.portlet.announcements.model.AnnouncementsDelivery> announcementsDelivers,
1131                    com.liferay.portal.service.ServiceContext serviceContext)
1132                    throws com.liferay.portal.kernel.exception.PortalException,
1133                            com.liferay.portal.kernel.exception.SystemException;
1134    
1135            /**
1136            * Updates the user.
1137            *
1138            * @param userId the primary key of the user
1139            * @param oldPassword the user's old password
1140            * @param newPassword1 the user's new password (optionally
1141            <code>null</code>)
1142            * @param newPassword2 the user's new password confirmation (optionally
1143            <code>null</code>)
1144            * @param passwordReset whether the user should be asked to reset their
1145            password the next time they login
1146            * @param reminderQueryQuestion the user's new password reset question
1147            * @param reminderQueryAnswer the user's new password reset answer
1148            * @param screenName the user's new screen name
1149            * @param emailAddress the user's new email address
1150            * @param facebookId the user's new Facebook ID
1151            * @param openId the user's new OpenID
1152            * @param languageId the user's new language ID
1153            * @param timeZoneId the user's new time zone ID
1154            * @param greeting the user's new greeting
1155            * @param comments the user's new comments
1156            * @param firstName the user's new first name
1157            * @param middleName the user's new middle name
1158            * @param lastName the user's new last name
1159            * @param prefixId the user's new name prefix ID
1160            * @param suffixId the user's new name suffix ID
1161            * @param male whether user is male
1162            * @param birthdayMonth the user's new birthday month (0-based, meaning 0
1163            for January)
1164            * @param birthdayDay the user's new birthday day
1165            * @param birthdayYear the user's birthday year
1166            * @param smsSn the user's new SMS screen name
1167            * @param aimSn the user's new AIM screen name
1168            * @param facebookSn the user's new Facebook screen name
1169            * @param icqSn the user's new ICQ screen name
1170            * @param jabberSn the user's new Jabber screen name
1171            * @param msnSn the user's new MSN screen name
1172            * @param mySpaceSn the user's new MySpace screen name
1173            * @param skypeSn the user's new Skype screen name
1174            * @param twitterSn the user's new Twitter screen name
1175            * @param ymSn the user's new Yahoo! Messenger screen name
1176            * @param jobTitle the user's new job title
1177            * @param groupIds the primary keys of the user's groups
1178            * @param organizationIds the primary keys of the user's organizations
1179            * @param roleIds the primary keys of the user's roles
1180            * @param userGroupRoles the user user's group roles
1181            * @param userGroupIds the primary keys of the user's user groups
1182            * @param serviceContext the service context to be applied (optionally
1183            <code>null</code>). Can set the UUID (with the <code>uuid</code>
1184            attribute), asset category IDs, asset tag names, and expando
1185            bridge attributes for the user.
1186            * @return the user
1187            * @throws PortalException if a user with the primary key could not be
1188            found, if the new information was invalid, if the current user
1189            did not have permission to update the user, or if the operation
1190            was not allowed by the membership policy
1191            * @throws SystemException if a system exception occurred
1192            */
1193            public com.liferay.portal.model.User updateUser(long userId,
1194                    java.lang.String oldPassword, java.lang.String newPassword1,
1195                    java.lang.String newPassword2, boolean passwordReset,
1196                    java.lang.String reminderQueryQuestion,
1197                    java.lang.String reminderQueryAnswer, java.lang.String screenName,
1198                    java.lang.String emailAddress, long facebookId,
1199                    java.lang.String openId, java.lang.String languageId,
1200                    java.lang.String timeZoneId, java.lang.String greeting,
1201                    java.lang.String comments, java.lang.String firstName,
1202                    java.lang.String middleName, java.lang.String lastName, int prefixId,
1203                    int suffixId, boolean male, int birthdayMonth, int birthdayDay,
1204                    int birthdayYear, java.lang.String smsSn, java.lang.String aimSn,
1205                    java.lang.String facebookSn, java.lang.String icqSn,
1206                    java.lang.String jabberSn, java.lang.String msnSn,
1207                    java.lang.String mySpaceSn, java.lang.String skypeSn,
1208                    java.lang.String twitterSn, java.lang.String ymSn,
1209                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
1210                    long[] roleIds,
1211                    java.util.List<com.liferay.portal.model.UserGroupRole> userGroupRoles,
1212                    long[] userGroupIds,
1213                    com.liferay.portal.service.ServiceContext serviceContext)
1214                    throws com.liferay.portal.kernel.exception.PortalException,
1215                            com.liferay.portal.kernel.exception.SystemException;
1216    }