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