001    /**
002     * Copyright (c) 2000-2012 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 (optionally <code>null</code>)
069            * @throws PortalException if a group or user with the primary key could not
070            be found, if the user did not have permission to assign group
071            members, or if the operation was not allowed by the membership
072            policy
073            * @throws SystemException if a system exception occurred
074            */
075            public void addGroupUsers(long groupId, long[] userIds,
076                    com.liferay.portal.service.ServiceContext serviceContext)
077                    throws com.liferay.portal.kernel.exception.PortalException,
078                            com.liferay.portal.kernel.exception.SystemException;
079    
080            /**
081            * Adds the users to the organization.
082            *
083            * @param organizationId the primary key of the organization
084            * @param userIds the primary keys of the users
085            * @throws PortalException if an organization or user with the primary key
086            could not be found, if the user did not have permission to assign
087            organization members, if current user did not have an
088            organization in common with a given user, or if the operation was
089            not allowed by the membership policy
090            * @throws SystemException if a system exception occurred
091            */
092            public void addOrganizationUsers(long organizationId, long[] userIds)
093                    throws com.liferay.portal.kernel.exception.PortalException,
094                            com.liferay.portal.kernel.exception.SystemException;
095    
096            /**
097            * Assigns the password policy to the users, removing any other currently
098            * assigned password policies.
099            *
100            * @param passwordPolicyId the primary key of the password policy
101            * @param userIds the primary keys of the users
102            * @throws PortalException if the user did not have permission to assign
103            policy members
104            * @throws SystemException if a system exception occurred
105            */
106            public void addPasswordPolicyUsers(long passwordPolicyId, long[] userIds)
107                    throws com.liferay.portal.kernel.exception.PortalException,
108                            com.liferay.portal.kernel.exception.SystemException;
109    
110            /**
111            * Adds the users to the role.
112            *
113            * @param roleId the primary key of the role
114            * @param userIds the primary keys of the users
115            * @throws PortalException if a role or user with the primary key could not
116            be found, if the user did not have permission to assign role
117            members, or if the operation was not allowed by the membership
118            policy
119            * @throws SystemException if a system exception occurred
120            */
121            public void addRoleUsers(long roleId, long[] userIds)
122                    throws com.liferay.portal.kernel.exception.PortalException,
123                            com.liferay.portal.kernel.exception.SystemException;
124    
125            /**
126            * Adds the users to the team.
127            *
128            * @param teamId the primary key of the team
129            * @param userIds the primary keys of the users
130            * @throws PortalException if a team or user with the primary key could not
131            be found or if the user did not have permission to assign team
132            members
133            * @throws SystemException if a system exception occurred
134            */
135            public void addTeamUsers(long teamId, long[] userIds)
136                    throws com.liferay.portal.kernel.exception.PortalException,
137                            com.liferay.portal.kernel.exception.SystemException;
138    
139            /**
140            * Adds a user.
141            *
142            * <p>
143            * This method handles the creation and bookkeeping of the user including
144            * its resources, metadata, and internal data structures. It is not
145            * necessary to make subsequent calls to any methods to setup default
146            * groups, resources, etc.
147            * </p>
148            *
149            * @param companyId the primary key of the user's company
150            * @param autoPassword whether a password should be automatically generated
151            for the user
152            * @param password1 the user's password
153            * @param password2 the user's password confirmation
154            * @param autoScreenName whether a screen name should be automatically
155            generated for the user
156            * @param screenName the user's screen name
157            * @param emailAddress the user's email address
158            * @param facebookId the user's facebook ID
159            * @param openId the user's OpenID
160            * @param locale the user's locale
161            * @param firstName the user's first name
162            * @param middleName the user's middle name
163            * @param lastName the user's last name
164            * @param prefixId the user's name prefix ID
165            * @param suffixId the user's name suffix ID
166            * @param male whether the user is male
167            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
168            January)
169            * @param birthdayDay the user's birthday day
170            * @param birthdayYear the user's birthday year
171            * @param jobTitle the user's job title
172            * @param groupIds the primary keys of the user's groups
173            * @param organizationIds the primary keys of the user's organizations
174            * @param roleIds the primary keys of the roles this user possesses
175            * @param userGroupIds the primary keys of the user's user groups
176            * @param sendEmail whether to send the user an email notification about
177            their new account
178            * @param serviceContext the user's service context (optionally
179            <code>null</code>). Can set the UUID (with the <code>uuid</code>
180            attribute), asset category IDs, asset tag names, and expando
181            bridge attributes for the user.
182            * @return the new user
183            * @throws PortalException if the user's information was invalid, if the
184            operation was not allowed by the membership policy, if the
185            creator did not have permission to add users, or if the email
186            address was reserved
187            * @throws SystemException if a system exception occurred
188            */
189            public com.liferay.portal.model.User addUser(long companyId,
190                    boolean autoPassword, java.lang.String password1,
191                    java.lang.String password2, boolean autoScreenName,
192                    java.lang.String screenName, java.lang.String emailAddress,
193                    long facebookId, java.lang.String openId, java.util.Locale locale,
194                    java.lang.String firstName, java.lang.String middleName,
195                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
196                    int birthdayMonth, int birthdayDay, int birthdayYear,
197                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
198                    long[] roleIds, long[] userGroupIds, boolean sendEmail,
199                    com.liferay.portal.service.ServiceContext serviceContext)
200                    throws com.liferay.portal.kernel.exception.PortalException,
201                            com.liferay.portal.kernel.exception.SystemException;
202    
203            /**
204            * Adds a user with additional parameters.
205            *
206            * <p>
207            * This method handles the creation and bookkeeping of the user including
208            * its resources, metadata, and internal data structures. It is not
209            * necessary to make subsequent calls to any methods to setup default
210            * groups, resources, etc.
211            * </p>
212            *
213            * @param companyId the primary key of the user's company
214            * @param autoPassword whether a password should be automatically generated
215            for the user
216            * @param password1 the user's password
217            * @param password2 the user's password confirmation
218            * @param autoScreenName whether a screen name should be automatically
219            generated for the user
220            * @param screenName the user's screen name
221            * @param emailAddress the user's email address
222            * @param facebookId the user's facebook ID
223            * @param openId the user's OpenID
224            * @param locale the user's locale
225            * @param firstName the user's first name
226            * @param middleName the user's middle name
227            * @param lastName the user's last name
228            * @param prefixId the user's name prefix ID
229            * @param suffixId the user's name suffix ID
230            * @param male whether the user is male
231            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
232            January)
233            * @param birthdayDay the user's birthday day
234            * @param birthdayYear the user's birthday year
235            * @param jobTitle the user's job title
236            * @param groupIds the primary keys of the user's groups
237            * @param organizationIds the primary keys of the user's organizations
238            * @param roleIds the primary keys of the roles this user possesses
239            * @param userGroupIds the primary keys of the user's user groups
240            * @param addresses the user's addresses
241            * @param emailAddresses the user's email addresses
242            * @param phones the user's phone numbers
243            * @param websites the user's websites
244            * @param announcementsDelivers the announcements deliveries
245            * @param sendEmail whether to send the user an email notification about
246            their new account
247            * @param serviceContext the user's service context (optionally
248            <code>null</code>). Can set the UUID (with the <code>uuid</code>
249            attribute), asset category IDs, asset tag names, and expando
250            bridge attributes for the user.
251            * @return the new user
252            * @throws PortalException if the user's information was invalid, if the
253            creator did not have permission to add users, if the email
254            address was reserved, if the operation was not allowed by the
255            membership policy, or if some other portal exception occurred
256            * @throws SystemException if a system exception occurred
257            */
258            public com.liferay.portal.model.User addUser(long companyId,
259                    boolean autoPassword, java.lang.String password1,
260                    java.lang.String password2, boolean autoScreenName,
261                    java.lang.String screenName, java.lang.String emailAddress,
262                    long facebookId, java.lang.String openId, java.util.Locale locale,
263                    java.lang.String firstName, java.lang.String middleName,
264                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
265                    int birthdayMonth, int birthdayDay, int birthdayYear,
266                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
267                    long[] roleIds, long[] userGroupIds,
268                    java.util.List<com.liferay.portal.model.Address> addresses,
269                    java.util.List<com.liferay.portal.model.EmailAddress> emailAddresses,
270                    java.util.List<com.liferay.portal.model.Phone> phones,
271                    java.util.List<com.liferay.portal.model.Website> websites,
272                    java.util.List<com.liferay.portlet.announcements.model.AnnouncementsDelivery> announcementsDelivers,
273                    boolean sendEmail,
274                    com.liferay.portal.service.ServiceContext serviceContext)
275                    throws com.liferay.portal.kernel.exception.PortalException,
276                            com.liferay.portal.kernel.exception.SystemException;
277    
278            /**
279            * Adds the users to the user group.
280            *
281            * @param userGroupId the primary key of the user group
282            * @param userIds the primary keys of the users
283            * @throws PortalException if a user group or user with the primary could
284            could not be found, if the current user did not have permission
285            to assign group members, or if the operation was not allowed by
286            the membership policy
287            * @throws SystemException if a system exception occurred
288            */
289            public void addUserGroupUsers(long userGroupId, long[] userIds)
290                    throws com.liferay.portal.kernel.exception.PortalException,
291                            com.liferay.portal.kernel.exception.SystemException;
292    
293            /**
294            * Adds a user with workflow.
295            *
296            * <p>
297            * This method handles the creation and bookkeeping of the user including
298            * its resources, metadata, and internal data structures. It is not
299            * necessary to make subsequent calls to any methods to setup default
300            * groups, resources, etc.
301            * </p>
302            *
303            * @param companyId the primary key of the user's company
304            * @param autoPassword whether a password should be automatically generated
305            for the user
306            * @param password1 the user's password
307            * @param password2 the user's password confirmation
308            * @param autoScreenName whether a screen name should be automatically
309            generated for the user
310            * @param screenName the user's screen name
311            * @param emailAddress the user's email address
312            * @param facebookId the user's facebook ID
313            * @param openId the user's OpenID
314            * @param locale the user's locale
315            * @param firstName the user's first name
316            * @param middleName the user's middle name
317            * @param lastName the user's last name
318            * @param prefixId the user's name prefix ID
319            * @param suffixId the user's name suffix ID
320            * @param male whether the user is male
321            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
322            January)
323            * @param birthdayDay the user's birthday day
324            * @param birthdayYear the user's birthday year
325            * @param jobTitle the user's job title
326            * @param groupIds the primary keys of the user's groups
327            * @param organizationIds the primary keys of the user's organizations
328            * @param roleIds the primary keys of the roles this user possesses
329            * @param userGroupIds the primary keys of the user's user groups
330            * @param sendEmail whether to send the user an email notification about
331            their new account
332            * @param serviceContext the user's service context (optionally
333            <code>null</code>). Can set the UUID (with the <code>uuid</code>
334            attribute), asset category IDs, asset tag names, and expando
335            bridge attributes for the user.
336            * @return the new user
337            * @throws PortalException if the user's information was invalid, if the
338            operation was not allowed by the membership policy, if the
339            creator did not have permission to add users, or if the email
340            address was reserved
341            * @throws SystemException if a system exception occurred
342            */
343            public com.liferay.portal.model.User addUserWithWorkflow(long companyId,
344                    boolean autoPassword, java.lang.String password1,
345                    java.lang.String password2, boolean autoScreenName,
346                    java.lang.String screenName, java.lang.String emailAddress,
347                    long facebookId, java.lang.String openId, java.util.Locale locale,
348                    java.lang.String firstName, java.lang.String middleName,
349                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
350                    int birthdayMonth, int birthdayDay, int birthdayYear,
351                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
352                    long[] roleIds, long[] userGroupIds, boolean sendEmail,
353                    com.liferay.portal.service.ServiceContext serviceContext)
354                    throws com.liferay.portal.kernel.exception.PortalException,
355                            com.liferay.portal.kernel.exception.SystemException;
356    
357            /**
358            * Adds a user with workflow and additional parameters.
359            *
360            * <p>
361            * This method handles the creation and bookkeeping of the user including
362            * its resources, metadata, and internal data structures. It is not
363            * necessary to make subsequent calls to any methods to setup default
364            * groups, resources, etc.
365            * </p>
366            *
367            * @param companyId the primary key of the user's company
368            * @param autoPassword whether a password should be automatically generated
369            for the user
370            * @param password1 the user's password
371            * @param password2 the user's password confirmation
372            * @param autoScreenName whether a screen name should be automatically
373            generated for the user
374            * @param screenName the user's screen name
375            * @param emailAddress the user's email address
376            * @param facebookId the user's facebook ID
377            * @param openId the user's OpenID
378            * @param locale the user's locale
379            * @param firstName the user's first name
380            * @param middleName the user's middle name
381            * @param lastName the user's last name
382            * @param prefixId the user's name prefix ID
383            * @param suffixId the user's name suffix ID
384            * @param male whether the user is male
385            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
386            January)
387            * @param birthdayDay the user's birthday day
388            * @param birthdayYear the user's birthday year
389            * @param jobTitle the user's job title
390            * @param groupIds the primary keys of the user's groups
391            * @param organizationIds the primary keys of the user's organizations
392            * @param roleIds the primary keys of the roles this user possesses
393            * @param userGroupIds the primary keys of the user's user groups
394            * @param addresses the user's addresses
395            * @param emailAddresses the user's email addresses
396            * @param phones the user's phone numbers
397            * @param websites the user's websites
398            * @param announcementsDelivers the announcements deliveries
399            * @param sendEmail whether to send the user an email notification about
400            their new account
401            * @param serviceContext the user's service context (optionally
402            <code>null</code>). Can set the UUID (with the <code>uuid</code>
403            attribute), asset category IDs, asset tag names, and expando
404            bridge attributes for the user.
405            * @return the new user
406            * @throws PortalException if the user's information was invalid, if the
407            operation was not allowed by the membership policy, if the
408            creator did not have permission to add users, if the email
409            address was reserved, or if some other portal exception occurred
410            * @throws SystemException if a system exception occurred
411            */
412            public com.liferay.portal.model.User addUserWithWorkflow(long companyId,
413                    boolean autoPassword, java.lang.String password1,
414                    java.lang.String password2, boolean autoScreenName,
415                    java.lang.String screenName, java.lang.String emailAddress,
416                    long facebookId, java.lang.String openId, java.util.Locale locale,
417                    java.lang.String firstName, java.lang.String middleName,
418                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
419                    int birthdayMonth, int birthdayDay, int birthdayYear,
420                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
421                    long[] roleIds, long[] userGroupIds,
422                    java.util.List<com.liferay.portal.model.Address> addresses,
423                    java.util.List<com.liferay.portal.model.EmailAddress> emailAddresses,
424                    java.util.List<com.liferay.portal.model.Phone> phones,
425                    java.util.List<com.liferay.portal.model.Website> websites,
426                    java.util.List<com.liferay.portlet.announcements.model.AnnouncementsDelivery> announcementsDelivers,
427                    boolean sendEmail,
428                    com.liferay.portal.service.ServiceContext serviceContext)
429                    throws com.liferay.portal.kernel.exception.PortalException,
430                            com.liferay.portal.kernel.exception.SystemException;
431    
432            /**
433            * Deletes the user's portrait image.
434            *
435            * @param userId the primary key of the user
436            * @throws PortalException if a user with the primary key could not be
437            found, if the user's portrait could not be found, or if the
438            current user did not have permission to update the user
439            * @throws SystemException if a system exception occurred
440            */
441            public void deletePortrait(long userId)
442                    throws com.liferay.portal.kernel.exception.PortalException,
443                            com.liferay.portal.kernel.exception.SystemException;
444    
445            /**
446            * Removes the user from the role.
447            *
448            * @param roleId the primary key of the role
449            * @param userId the primary key of the user
450            * @throws PortalException if a role or user with the primary key could not
451            be found, or if the current user did not have permission to
452            assign role members
453            * @throws SystemException if a system exception occurred
454            */
455            public void deleteRoleUser(long roleId, long userId)
456                    throws com.liferay.portal.kernel.exception.PortalException,
457                            com.liferay.portal.kernel.exception.SystemException;
458    
459            /**
460            * Deletes the user.
461            *
462            * @param userId the primary key of the user
463            * @throws PortalException if a user with the primary key could not be found
464            or if the current user did not have permission to delete the user
465            * @throws SystemException if a system exception occurred
466            */
467            public void deleteUser(long userId)
468                    throws com.liferay.portal.kernel.exception.PortalException,
469                            com.liferay.portal.kernel.exception.SystemException;
470    
471            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
472            public java.util.List<com.liferay.portal.model.User> getCompanyUsers(
473                    long companyId, int start, int end)
474                    throws com.liferay.portal.kernel.exception.PortalException,
475                            com.liferay.portal.kernel.exception.SystemException;
476    
477            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
478            public int getCompanyUsersCount(long companyId)
479                    throws com.liferay.portal.kernel.exception.PortalException,
480                            com.liferay.portal.kernel.exception.SystemException;
481    
482            /**
483            * Returns the primary keys of all the users belonging to the group.
484            *
485            * @param groupId the primary key of the group
486            * @return the primary keys of the users belonging to the group
487            * @throws PortalException if the current user did not have permission to
488            view group assignments
489            * @throws SystemException if a system exception occurred
490            */
491            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
492            public long[] getGroupUserIds(long groupId)
493                    throws com.liferay.portal.kernel.exception.PortalException,
494                            com.liferay.portal.kernel.exception.SystemException;
495    
496            /**
497            * Returns all the users belonging to the group.
498            *
499            * @param groupId the primary key of the group
500            * @return the users belonging to the group
501            * @throws PortalException if the current user did not have permission to
502            view group assignments
503            * @throws SystemException if a system exception occurred
504            */
505            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
506            public java.util.List<com.liferay.portal.model.User> getGroupUsers(
507                    long groupId)
508                    throws com.liferay.portal.kernel.exception.PortalException,
509                            com.liferay.portal.kernel.exception.SystemException;
510    
511            /**
512            * Returns the primary keys of all the users belonging to the organization.
513            *
514            * @param organizationId the primary key of the organization
515            * @return the primary keys of the users belonging to the organization
516            * @throws PortalException if the current user did not have permission to
517            view organization assignments
518            * @throws SystemException if a system exception occurred
519            */
520            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
521            public long[] getOrganizationUserIds(long organizationId)
522                    throws com.liferay.portal.kernel.exception.PortalException,
523                            com.liferay.portal.kernel.exception.SystemException;
524    
525            /**
526            * Returns all the users belonging to the organization.
527            *
528            * @param organizationId the primary key of the organization
529            * @return users belonging to the organization
530            * @throws PortalException if the current user did not have permission to
531            view organization assignments
532            * @throws SystemException if a system exception occurred
533            */
534            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
535            public java.util.List<com.liferay.portal.model.User> getOrganizationUsers(
536                    long organizationId)
537                    throws com.liferay.portal.kernel.exception.PortalException,
538                            com.liferay.portal.kernel.exception.SystemException;
539    
540            /**
541            * Returns the primary keys of all the users belonging to the role.
542            *
543            * @param roleId the primary key of the role
544            * @return the primary keys of the users belonging to the role
545            * @throws PortalException if the current user did not have permission to
546            view role members
547            * @throws SystemException if a system exception occurred
548            */
549            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
550            public long[] getRoleUserIds(long roleId)
551                    throws com.liferay.portal.kernel.exception.PortalException,
552                            com.liferay.portal.kernel.exception.SystemException;
553    
554            /**
555            * Returns the user with the email address.
556            *
557            * @param companyId the primary key of the user's company
558            * @param emailAddress the user's email address
559            * @return the user with the email address
560            * @throws PortalException if a user with the email address could not be
561            found or if the current user did not have permission to view the
562            user
563            * @throws SystemException if a system exception occurred
564            */
565            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
566            public com.liferay.portal.model.User getUserByEmailAddress(long companyId,
567                    java.lang.String emailAddress)
568                    throws com.liferay.portal.kernel.exception.PortalException,
569                            com.liferay.portal.kernel.exception.SystemException;
570    
571            /**
572            * Returns the user with the primary key.
573            *
574            * @param userId the primary key of the user
575            * @return the user with the primary key
576            * @throws PortalException if a user with the primary key could not be found
577            or if the current user did not have permission to view the user
578            * @throws SystemException if a system exception occurred
579            */
580            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
581            public com.liferay.portal.model.User getUserById(long userId)
582                    throws com.liferay.portal.kernel.exception.PortalException,
583                            com.liferay.portal.kernel.exception.SystemException;
584    
585            /**
586            * Returns the user with the screen name.
587            *
588            * @param companyId the primary key of the user's company
589            * @param screenName the user's screen name
590            * @return the user with the screen name
591            * @throws PortalException if a user with the screen name could not be found
592            or if the current user did not have permission to view the user
593            * @throws SystemException if a system exception occurred
594            */
595            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
596            public com.liferay.portal.model.User getUserByScreenName(long companyId,
597                    java.lang.String screenName)
598                    throws com.liferay.portal.kernel.exception.PortalException,
599                            com.liferay.portal.kernel.exception.SystemException;
600    
601            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
602            public java.util.List<com.liferay.portal.model.User> getUserGroupUsers(
603                    long userGroupId)
604                    throws com.liferay.portal.kernel.exception.PortalException,
605                            com.liferay.portal.kernel.exception.SystemException;
606    
607            /**
608            * Returns the primary key of the user with the email address.
609            *
610            * @param companyId the primary key of the user's company
611            * @param emailAddress the user's email address
612            * @return the primary key of the user with the email address
613            * @throws PortalException if a user with the email address could not be
614            found
615            * @throws SystemException if a system exception occurred
616            */
617            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
618            public long getUserIdByEmailAddress(long companyId,
619                    java.lang.String emailAddress)
620                    throws com.liferay.portal.kernel.exception.PortalException,
621                            com.liferay.portal.kernel.exception.SystemException;
622    
623            /**
624            * Returns the primary key of the user with the screen name.
625            *
626            * @param companyId the primary key of the user's company
627            * @param screenName the user's screen name
628            * @return the primary key of the user with the screen name
629            * @throws PortalException if a user with the screen name could not be found
630            * @throws SystemException if a system exception occurred
631            */
632            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
633            public long getUserIdByScreenName(long companyId,
634                    java.lang.String screenName)
635                    throws com.liferay.portal.kernel.exception.PortalException,
636                            com.liferay.portal.kernel.exception.SystemException;
637    
638            /**
639            * Returns <code>true</code> if the user is a member of the group.
640            *
641            * @param groupId the primary key of the group
642            * @param userId the primary key of the user
643            * @return <code>true</code> if the user is a member of the group;
644            <code>false</code> otherwise
645            * @throws PortalException if the current user did not have permission to
646            view the user or group members
647            * @throws SystemException if a system exception occurred
648            */
649            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
650            public boolean hasGroupUser(long groupId, long userId)
651                    throws com.liferay.portal.kernel.exception.PortalException,
652                            com.liferay.portal.kernel.exception.SystemException;
653    
654            /**
655            * Returns <code>true</code> if the user is a member of the role.
656            *
657            * @param roleId the primary key of the role
658            * @param userId the primary key of the user
659            * @return <code>true</code> if the user is a member of the role;
660            <code>false</code> otherwise
661            * @throws PortalException if the current user did not have permission to
662            view the user or role members
663            * @throws SystemException if a system exception occurred
664            */
665            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
666            public boolean hasRoleUser(long roleId, long userId)
667                    throws com.liferay.portal.kernel.exception.PortalException,
668                            com.liferay.portal.kernel.exception.SystemException;
669    
670            /**
671            * Returns <code>true</code> if the user has the role with the name,
672            * optionally through inheritance.
673            *
674            * @param companyId the primary key of the role's company
675            * @param name the name of the role (must be a regular role, not an
676            organization, site or provider role)
677            * @param userId the primary key of the user
678            * @param inherited whether to include roles inherited from organizations,
679            sites, etc.
680            * @return <code>true</code> if the user has the role; <code>false</code>
681            otherwise
682            * @throws PortalException if a role with the name could not be found
683            * @throws SystemException if a system exception occurred
684            */
685            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
686            public boolean hasRoleUser(long companyId, java.lang.String name,
687                    long userId, boolean inherited)
688                    throws com.liferay.portal.kernel.exception.PortalException,
689                            com.liferay.portal.kernel.exception.SystemException;
690    
691            /**
692            * Sets the users in the role, removing and adding users to the role as
693            * necessary.
694            *
695            * @param roleId the primary key of the role
696            * @param userIds the primary keys of the users
697            * @throws PortalException if the current user did not have permission to
698            assign role members or if the operation was not allowed by the
699            membership policy
700            * @throws SystemException if a system exception occurred
701            */
702            public void setRoleUsers(long roleId, long[] userIds)
703                    throws com.liferay.portal.kernel.exception.PortalException,
704                            com.liferay.portal.kernel.exception.SystemException;
705    
706            /**
707            * Sets the users in the user group, removing and adding users to the user
708            * group as necessary.
709            *
710            * @param userGroupId the primary key of the user group
711            * @param userIds the primary keys of the users
712            * @throws PortalException if the current user did not have permission to
713            assign group members
714            * @throws SystemException if a system exception occurred
715            */
716            public void setUserGroupUsers(long userGroupId, long[] userIds)
717                    throws com.liferay.portal.kernel.exception.PortalException,
718                            com.liferay.portal.kernel.exception.SystemException;
719    
720            /**
721            * Removes the users from the teams of a group.
722            *
723            * @param groupId the primary key of the group
724            * @param userIds the primary keys of the users
725            * @throws PortalException if the current user did not have permission to
726            modify user group assignments
727            * @throws SystemException if a system exception occurred
728            */
729            public void unsetGroupTeamsUsers(long groupId, long[] userIds)
730                    throws com.liferay.portal.kernel.exception.PortalException,
731                            com.liferay.portal.kernel.exception.SystemException;
732    
733            /**
734            * Removes the users from the group.
735            *
736            * @param groupId the primary key of the group
737            * @param userIds the primary keys of the users
738            * @param serviceContext the service context (optionally <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. Must set the portal URL, main
840            path, primary key of the layout, remote address, remote host, and
841            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 user's service context (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. Must set whether user
944            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 user's service context (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 user's service context (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    }