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