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