001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.transaction.Isolation;
020    import com.liferay.portal.kernel.transaction.Propagation;
021    import com.liferay.portal.kernel.transaction.Transactional;
022    
023    /**
024     * The interface for the user local service.
025     *
026     * <p>
027     * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
028     * </p>
029     *
030     * @author Brian Wing Shun Chan
031     * @see UserLocalServiceUtil
032     * @see com.liferay.portal.service.base.UserLocalServiceBaseImpl
033     * @see com.liferay.portal.service.impl.UserLocalServiceImpl
034     * @generated
035     */
036    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
037            PortalException.class, SystemException.class})
038    public interface UserLocalService extends BaseLocalService,
039            PersistedModelLocalService {
040            /*
041             * NOTE FOR DEVELOPERS:
042             *
043             * Never modify or reference this interface directly. Always use {@link UserLocalServiceUtil} to access the user local service. Add custom service methods to {@link com.liferay.portal.service.impl.UserLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
044             */
045    
046            /**
047            * Adds the user to the database. Also notifies the appropriate model listeners.
048            *
049            * @param user the user
050            * @return the user that was added
051            * @throws SystemException if a system exception occurred
052            */
053            public com.liferay.portal.model.User addUser(
054                    com.liferay.portal.model.User user)
055                    throws com.liferay.portal.kernel.exception.SystemException;
056    
057            /**
058            * Creates a new user with the primary key. Does not add the user to the database.
059            *
060            * @param userId the primary key for the new user
061            * @return the new user
062            */
063            public com.liferay.portal.model.User createUser(long userId);
064    
065            /**
066            * Deletes the user with the primary key from the database. Also notifies the appropriate model listeners.
067            *
068            * @param userId the primary key of the user
069            * @return the user that was removed
070            * @throws PortalException if a user with the primary key could not be found
071            * @throws SystemException if a system exception occurred
072            */
073            public com.liferay.portal.model.User deleteUser(long userId)
074                    throws com.liferay.portal.kernel.exception.PortalException,
075                            com.liferay.portal.kernel.exception.SystemException;
076    
077            /**
078            * Deletes the user from the database. Also notifies the appropriate model listeners.
079            *
080            * @param user the user
081            * @return the user that was removed
082            * @throws PortalException
083            * @throws SystemException if a system exception occurred
084            */
085            public com.liferay.portal.model.User deleteUser(
086                    com.liferay.portal.model.User user)
087                    throws com.liferay.portal.kernel.exception.PortalException,
088                            com.liferay.portal.kernel.exception.SystemException;
089    
090            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
091    
092            /**
093            * Performs a dynamic query on the database and returns the matching rows.
094            *
095            * @param dynamicQuery the dynamic query
096            * @return the matching rows
097            * @throws SystemException if a system exception occurred
098            */
099            @SuppressWarnings("rawtypes")
100            public java.util.List dynamicQuery(
101                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
102                    throws com.liferay.portal.kernel.exception.SystemException;
103    
104            /**
105            * Performs a dynamic query on the database and returns a range of the matching rows.
106            *
107            * <p>
108            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
109            * </p>
110            *
111            * @param dynamicQuery the dynamic query
112            * @param start the lower bound of the range of model instances
113            * @param end the upper bound of the range of model instances (not inclusive)
114            * @return the range of matching rows
115            * @throws SystemException if a system exception occurred
116            */
117            @SuppressWarnings("rawtypes")
118            public java.util.List dynamicQuery(
119                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
120                    int end) throws com.liferay.portal.kernel.exception.SystemException;
121    
122            /**
123            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
124            *
125            * <p>
126            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
127            * </p>
128            *
129            * @param dynamicQuery the dynamic query
130            * @param start the lower bound of the range of model instances
131            * @param end the upper bound of the range of model instances (not inclusive)
132            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
133            * @return the ordered range of matching rows
134            * @throws SystemException if a system exception occurred
135            */
136            @SuppressWarnings("rawtypes")
137            public java.util.List dynamicQuery(
138                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
139                    int end,
140                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
141                    throws com.liferay.portal.kernel.exception.SystemException;
142    
143            /**
144            * Returns the number of rows that match the dynamic query.
145            *
146            * @param dynamicQuery the dynamic query
147            * @return the number of rows that match the dynamic query
148            * @throws SystemException if a system exception occurred
149            */
150            public long dynamicQueryCount(
151                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
152                    throws com.liferay.portal.kernel.exception.SystemException;
153    
154            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
155            public com.liferay.portal.model.User fetchUser(long userId)
156                    throws com.liferay.portal.kernel.exception.SystemException;
157    
158            /**
159            * Returns the user with the primary key.
160            *
161            * @param userId the primary key of the user
162            * @return the user
163            * @throws PortalException if a user with the primary key could not be found
164            * @throws SystemException if a system exception occurred
165            */
166            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
167            public com.liferay.portal.model.User getUser(long userId)
168                    throws com.liferay.portal.kernel.exception.PortalException,
169                            com.liferay.portal.kernel.exception.SystemException;
170    
171            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
172            public com.liferay.portal.model.PersistedModel getPersistedModel(
173                    java.io.Serializable primaryKeyObj)
174                    throws com.liferay.portal.kernel.exception.PortalException,
175                            com.liferay.portal.kernel.exception.SystemException;
176    
177            /**
178            * Returns a range of all the users.
179            *
180            * <p>
181            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
182            * </p>
183            *
184            * @param start the lower bound of the range of users
185            * @param end the upper bound of the range of users (not inclusive)
186            * @return the range of users
187            * @throws SystemException if a system exception occurred
188            */
189            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
190            public java.util.List<com.liferay.portal.model.User> getUsers(int start,
191                    int end) throws com.liferay.portal.kernel.exception.SystemException;
192    
193            /**
194            * Returns the number of users.
195            *
196            * @return the number of users
197            * @throws SystemException if a system exception occurred
198            */
199            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
200            public int getUsersCount()
201                    throws com.liferay.portal.kernel.exception.SystemException;
202    
203            /**
204            * Updates the user in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
205            *
206            * @param user the user
207            * @return the user that was updated
208            * @throws SystemException if a system exception occurred
209            */
210            public com.liferay.portal.model.User updateUser(
211                    com.liferay.portal.model.User user)
212                    throws com.liferay.portal.kernel.exception.SystemException;
213    
214            /**
215            * Updates the user in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
216            *
217            * @param user the user
218            * @param merge whether to merge the user with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
219            * @return the user that was updated
220            * @throws SystemException if a system exception occurred
221            */
222            public com.liferay.portal.model.User updateUser(
223                    com.liferay.portal.model.User user, boolean merge)
224                    throws com.liferay.portal.kernel.exception.SystemException;
225    
226            /**
227            * @throws SystemException if a system exception occurred
228            */
229            public void addGroupUser(long groupId, long userId)
230                    throws com.liferay.portal.kernel.exception.SystemException;
231    
232            /**
233            * @throws SystemException if a system exception occurred
234            */
235            public void addGroupUser(long groupId, com.liferay.portal.model.User user)
236                    throws com.liferay.portal.kernel.exception.SystemException;
237    
238            /**
239            * @throws PortalException
240            * @throws SystemException if a system exception occurred
241            */
242            public void addGroupUsers(long groupId, long[] userIds)
243                    throws com.liferay.portal.kernel.exception.PortalException,
244                            com.liferay.portal.kernel.exception.SystemException;
245    
246            /**
247            * @throws PortalException
248            * @throws SystemException if a system exception occurred
249            */
250            public void addGroupUsers(long groupId,
251                    java.util.List<com.liferay.portal.model.User> Users)
252                    throws com.liferay.portal.kernel.exception.PortalException,
253                            com.liferay.portal.kernel.exception.SystemException;
254    
255            /**
256            * @throws SystemException if a system exception occurred
257            */
258            public void clearGroupUsers(long groupId)
259                    throws com.liferay.portal.kernel.exception.SystemException;
260    
261            /**
262            * @throws SystemException if a system exception occurred
263            */
264            public void deleteGroupUser(long groupId, long userId)
265                    throws com.liferay.portal.kernel.exception.SystemException;
266    
267            /**
268            * @throws SystemException if a system exception occurred
269            */
270            public void deleteGroupUser(long groupId, com.liferay.portal.model.User user)
271                    throws com.liferay.portal.kernel.exception.SystemException;
272    
273            /**
274            * @throws SystemException if a system exception occurred
275            */
276            public void deleteGroupUsers(long groupId, long[] userIds)
277                    throws com.liferay.portal.kernel.exception.SystemException;
278    
279            /**
280            * @throws SystemException if a system exception occurred
281            */
282            public void deleteGroupUsers(long groupId,
283                    java.util.List<com.liferay.portal.model.User> Users)
284                    throws com.liferay.portal.kernel.exception.SystemException;
285    
286            /**
287            * @throws SystemException if a system exception occurred
288            */
289            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
290            public java.util.List<com.liferay.portal.model.User> getGroupUsers(
291                    long groupId)
292                    throws com.liferay.portal.kernel.exception.SystemException;
293    
294            /**
295            * @throws SystemException if a system exception occurred
296            */
297            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
298            public java.util.List<com.liferay.portal.model.User> getGroupUsers(
299                    long groupId, int start, int end)
300                    throws com.liferay.portal.kernel.exception.SystemException;
301    
302            /**
303            * @throws SystemException if a system exception occurred
304            */
305            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
306            public java.util.List<com.liferay.portal.model.User> getGroupUsers(
307                    long groupId, int start, int end,
308                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
309                    throws com.liferay.portal.kernel.exception.SystemException;
310    
311            /**
312            * @throws SystemException if a system exception occurred
313            */
314            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
315            public int getGroupUsersCount(long groupId)
316                    throws com.liferay.portal.kernel.exception.SystemException;
317    
318            /**
319            * @throws SystemException if a system exception occurred
320            */
321            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
322            public boolean hasGroupUser(long groupId, long userId)
323                    throws com.liferay.portal.kernel.exception.SystemException;
324    
325            /**
326            * @throws SystemException if a system exception occurred
327            */
328            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
329            public boolean hasGroupUsers(long groupId)
330                    throws com.liferay.portal.kernel.exception.SystemException;
331    
332            /**
333            * @throws SystemException if a system exception occurred
334            */
335            public void setGroupUsers(long groupId, long[] userIds)
336                    throws com.liferay.portal.kernel.exception.SystemException;
337    
338            /**
339            * @throws SystemException if a system exception occurred
340            */
341            public void addOrganizationUser(long organizationId, long userId)
342                    throws com.liferay.portal.kernel.exception.SystemException;
343    
344            /**
345            * @throws SystemException if a system exception occurred
346            */
347            public void addOrganizationUser(long organizationId,
348                    com.liferay.portal.model.User user)
349                    throws com.liferay.portal.kernel.exception.SystemException;
350    
351            /**
352            * @throws PortalException
353            * @throws SystemException if a system exception occurred
354            */
355            public void addOrganizationUsers(long organizationId, long[] userIds)
356                    throws com.liferay.portal.kernel.exception.PortalException,
357                            com.liferay.portal.kernel.exception.SystemException;
358    
359            /**
360            * @throws PortalException
361            * @throws SystemException if a system exception occurred
362            */
363            public void addOrganizationUsers(long organizationId,
364                    java.util.List<com.liferay.portal.model.User> Users)
365                    throws com.liferay.portal.kernel.exception.PortalException,
366                            com.liferay.portal.kernel.exception.SystemException;
367    
368            /**
369            * @throws SystemException if a system exception occurred
370            */
371            public void clearOrganizationUsers(long organizationId)
372                    throws com.liferay.portal.kernel.exception.SystemException;
373    
374            /**
375            * @throws SystemException if a system exception occurred
376            */
377            public void deleteOrganizationUser(long organizationId, long userId)
378                    throws com.liferay.portal.kernel.exception.SystemException;
379    
380            /**
381            * @throws SystemException if a system exception occurred
382            */
383            public void deleteOrganizationUser(long organizationId,
384                    com.liferay.portal.model.User user)
385                    throws com.liferay.portal.kernel.exception.SystemException;
386    
387            /**
388            * @throws SystemException if a system exception occurred
389            */
390            public void deleteOrganizationUsers(long organizationId, long[] userIds)
391                    throws com.liferay.portal.kernel.exception.SystemException;
392    
393            /**
394            * @throws SystemException if a system exception occurred
395            */
396            public void deleteOrganizationUsers(long organizationId,
397                    java.util.List<com.liferay.portal.model.User> Users)
398                    throws com.liferay.portal.kernel.exception.SystemException;
399    
400            /**
401            * @throws SystemException if a system exception occurred
402            */
403            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
404            public java.util.List<com.liferay.portal.model.User> getOrganizationUsers(
405                    long organizationId)
406                    throws com.liferay.portal.kernel.exception.SystemException;
407    
408            /**
409            * @throws SystemException if a system exception occurred
410            */
411            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
412            public java.util.List<com.liferay.portal.model.User> getOrganizationUsers(
413                    long organizationId, int start, int end)
414                    throws com.liferay.portal.kernel.exception.SystemException;
415    
416            /**
417            * @throws SystemException if a system exception occurred
418            */
419            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
420            public java.util.List<com.liferay.portal.model.User> getOrganizationUsers(
421                    long organizationId, int start, int end,
422                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
423                    throws com.liferay.portal.kernel.exception.SystemException;
424    
425            /**
426            * @throws SystemException if a system exception occurred
427            */
428            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
429            public int getOrganizationUsersCount(long organizationId)
430                    throws com.liferay.portal.kernel.exception.SystemException;
431    
432            /**
433            * @throws SystemException if a system exception occurred
434            */
435            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
436            public boolean hasOrganizationUser(long organizationId, long userId)
437                    throws com.liferay.portal.kernel.exception.SystemException;
438    
439            /**
440            * @throws SystemException if a system exception occurred
441            */
442            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
443            public boolean hasOrganizationUsers(long organizationId)
444                    throws com.liferay.portal.kernel.exception.SystemException;
445    
446            /**
447            * @throws SystemException if a system exception occurred
448            */
449            public void setOrganizationUsers(long organizationId, long[] userIds)
450                    throws com.liferay.portal.kernel.exception.SystemException;
451    
452            /**
453            * @throws SystemException if a system exception occurred
454            */
455            public void addPermissionUser(long permissionId, long userId)
456                    throws com.liferay.portal.kernel.exception.SystemException;
457    
458            /**
459            * @throws SystemException if a system exception occurred
460            */
461            public void addPermissionUser(long permissionId,
462                    com.liferay.portal.model.User user)
463                    throws com.liferay.portal.kernel.exception.SystemException;
464    
465            /**
466            * @throws SystemException if a system exception occurred
467            */
468            public void addPermissionUsers(long permissionId, long[] userIds)
469                    throws com.liferay.portal.kernel.exception.SystemException;
470    
471            /**
472            * @throws SystemException if a system exception occurred
473            */
474            public void addPermissionUsers(long permissionId,
475                    java.util.List<com.liferay.portal.model.User> Users)
476                    throws com.liferay.portal.kernel.exception.SystemException;
477    
478            /**
479            * @throws SystemException if a system exception occurred
480            */
481            public void clearPermissionUsers(long permissionId)
482                    throws com.liferay.portal.kernel.exception.SystemException;
483    
484            /**
485            * @throws SystemException if a system exception occurred
486            */
487            public void deletePermissionUser(long permissionId, long userId)
488                    throws com.liferay.portal.kernel.exception.SystemException;
489    
490            /**
491            * @throws SystemException if a system exception occurred
492            */
493            public void deletePermissionUser(long permissionId,
494                    com.liferay.portal.model.User user)
495                    throws com.liferay.portal.kernel.exception.SystemException;
496    
497            /**
498            * @throws SystemException if a system exception occurred
499            */
500            public void deletePermissionUsers(long permissionId, long[] userIds)
501                    throws com.liferay.portal.kernel.exception.SystemException;
502    
503            /**
504            * @throws SystemException if a system exception occurred
505            */
506            public void deletePermissionUsers(long permissionId,
507                    java.util.List<com.liferay.portal.model.User> Users)
508                    throws com.liferay.portal.kernel.exception.SystemException;
509    
510            /**
511            * @throws SystemException if a system exception occurred
512            */
513            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
514            public java.util.List<com.liferay.portal.model.User> getPermissionUsers(
515                    long permissionId)
516                    throws com.liferay.portal.kernel.exception.SystemException;
517    
518            /**
519            * @throws SystemException if a system exception occurred
520            */
521            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
522            public java.util.List<com.liferay.portal.model.User> getPermissionUsers(
523                    long permissionId, int start, int end)
524                    throws com.liferay.portal.kernel.exception.SystemException;
525    
526            /**
527            * @throws SystemException if a system exception occurred
528            */
529            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
530            public java.util.List<com.liferay.portal.model.User> getPermissionUsers(
531                    long permissionId, int start, int end,
532                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
533                    throws com.liferay.portal.kernel.exception.SystemException;
534    
535            /**
536            * @throws SystemException if a system exception occurred
537            */
538            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
539            public int getPermissionUsersCount(long permissionId)
540                    throws com.liferay.portal.kernel.exception.SystemException;
541    
542            /**
543            * @throws SystemException if a system exception occurred
544            */
545            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
546            public boolean hasPermissionUser(long permissionId, long userId)
547                    throws com.liferay.portal.kernel.exception.SystemException;
548    
549            /**
550            * @throws SystemException if a system exception occurred
551            */
552            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
553            public boolean hasPermissionUsers(long permissionId)
554                    throws com.liferay.portal.kernel.exception.SystemException;
555    
556            /**
557            * @throws SystemException if a system exception occurred
558            */
559            public void setPermissionUsers(long permissionId, long[] userIds)
560                    throws com.liferay.portal.kernel.exception.SystemException;
561    
562            /**
563            * @throws SystemException if a system exception occurred
564            */
565            public void addRoleUser(long roleId, long userId)
566                    throws com.liferay.portal.kernel.exception.SystemException;
567    
568            /**
569            * @throws SystemException if a system exception occurred
570            */
571            public void addRoleUser(long roleId, com.liferay.portal.model.User user)
572                    throws com.liferay.portal.kernel.exception.SystemException;
573    
574            /**
575            * @throws PortalException
576            * @throws SystemException if a system exception occurred
577            */
578            public void addRoleUsers(long roleId, long[] userIds)
579                    throws com.liferay.portal.kernel.exception.PortalException,
580                            com.liferay.portal.kernel.exception.SystemException;
581    
582            /**
583            * @throws PortalException
584            * @throws SystemException if a system exception occurred
585            */
586            public void addRoleUsers(long roleId,
587                    java.util.List<com.liferay.portal.model.User> Users)
588                    throws com.liferay.portal.kernel.exception.PortalException,
589                            com.liferay.portal.kernel.exception.SystemException;
590    
591            /**
592            * @throws SystemException if a system exception occurred
593            */
594            public void clearRoleUsers(long roleId)
595                    throws com.liferay.portal.kernel.exception.SystemException;
596    
597            /**
598            * @throws PortalException
599            * @throws SystemException if a system exception occurred
600            */
601            public void deleteRoleUser(long roleId, long userId)
602                    throws com.liferay.portal.kernel.exception.PortalException,
603                            com.liferay.portal.kernel.exception.SystemException;
604    
605            /**
606            * @throws PortalException
607            * @throws SystemException if a system exception occurred
608            */
609            public void deleteRoleUser(long roleId, com.liferay.portal.model.User user)
610                    throws com.liferay.portal.kernel.exception.PortalException,
611                            com.liferay.portal.kernel.exception.SystemException;
612    
613            /**
614            * @throws SystemException if a system exception occurred
615            */
616            public void deleteRoleUsers(long roleId, long[] userIds)
617                    throws com.liferay.portal.kernel.exception.SystemException;
618    
619            /**
620            * @throws SystemException if a system exception occurred
621            */
622            public void deleteRoleUsers(long roleId,
623                    java.util.List<com.liferay.portal.model.User> Users)
624                    throws com.liferay.portal.kernel.exception.SystemException;
625    
626            /**
627            * @throws SystemException if a system exception occurred
628            */
629            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
630            public java.util.List<com.liferay.portal.model.User> getRoleUsers(
631                    long roleId) throws com.liferay.portal.kernel.exception.SystemException;
632    
633            /**
634            * @throws SystemException if a system exception occurred
635            */
636            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
637            public java.util.List<com.liferay.portal.model.User> getRoleUsers(
638                    long roleId, int start, int end)
639                    throws com.liferay.portal.kernel.exception.SystemException;
640    
641            /**
642            * @throws SystemException if a system exception occurred
643            */
644            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
645            public java.util.List<com.liferay.portal.model.User> getRoleUsers(
646                    long roleId, int start, int end,
647                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
648                    throws com.liferay.portal.kernel.exception.SystemException;
649    
650            /**
651            * @throws SystemException if a system exception occurred
652            */
653            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
654            public int getRoleUsersCount(long roleId)
655                    throws com.liferay.portal.kernel.exception.SystemException;
656    
657            /**
658            * @throws SystemException if a system exception occurred
659            */
660            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
661            public boolean hasRoleUser(long roleId, long userId)
662                    throws com.liferay.portal.kernel.exception.SystemException;
663    
664            /**
665            * @throws SystemException if a system exception occurred
666            */
667            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
668            public boolean hasRoleUsers(long roleId)
669                    throws com.liferay.portal.kernel.exception.SystemException;
670    
671            /**
672            * @throws PortalException
673            * @throws SystemException if a system exception occurred
674            */
675            public void setRoleUsers(long roleId, long[] userIds)
676                    throws com.liferay.portal.kernel.exception.PortalException,
677                            com.liferay.portal.kernel.exception.SystemException;
678    
679            /**
680            * @throws SystemException if a system exception occurred
681            */
682            public void addTeamUser(long teamId, long userId)
683                    throws com.liferay.portal.kernel.exception.SystemException;
684    
685            /**
686            * @throws SystemException if a system exception occurred
687            */
688            public void addTeamUser(long teamId, com.liferay.portal.model.User user)
689                    throws com.liferay.portal.kernel.exception.SystemException;
690    
691            /**
692            * @throws PortalException
693            * @throws SystemException if a system exception occurred
694            */
695            public void addTeamUsers(long teamId, long[] userIds)
696                    throws com.liferay.portal.kernel.exception.PortalException,
697                            com.liferay.portal.kernel.exception.SystemException;
698    
699            /**
700            * @throws PortalException
701            * @throws SystemException if a system exception occurred
702            */
703            public void addTeamUsers(long teamId,
704                    java.util.List<com.liferay.portal.model.User> Users)
705                    throws com.liferay.portal.kernel.exception.PortalException,
706                            com.liferay.portal.kernel.exception.SystemException;
707    
708            /**
709            * @throws SystemException if a system exception occurred
710            */
711            public void clearTeamUsers(long teamId)
712                    throws com.liferay.portal.kernel.exception.SystemException;
713    
714            /**
715            * @throws SystemException if a system exception occurred
716            */
717            public void deleteTeamUser(long teamId, long userId)
718                    throws com.liferay.portal.kernel.exception.SystemException;
719    
720            /**
721            * @throws SystemException if a system exception occurred
722            */
723            public void deleteTeamUser(long teamId, com.liferay.portal.model.User user)
724                    throws com.liferay.portal.kernel.exception.SystemException;
725    
726            /**
727            * @throws SystemException if a system exception occurred
728            */
729            public void deleteTeamUsers(long teamId, long[] userIds)
730                    throws com.liferay.portal.kernel.exception.SystemException;
731    
732            /**
733            * @throws SystemException if a system exception occurred
734            */
735            public void deleteTeamUsers(long teamId,
736                    java.util.List<com.liferay.portal.model.User> Users)
737                    throws com.liferay.portal.kernel.exception.SystemException;
738    
739            /**
740            * @throws SystemException if a system exception occurred
741            */
742            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
743            public java.util.List<com.liferay.portal.model.User> getTeamUsers(
744                    long teamId) throws com.liferay.portal.kernel.exception.SystemException;
745    
746            /**
747            * @throws SystemException if a system exception occurred
748            */
749            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
750            public java.util.List<com.liferay.portal.model.User> getTeamUsers(
751                    long teamId, int start, int end)
752                    throws com.liferay.portal.kernel.exception.SystemException;
753    
754            /**
755            * @throws SystemException if a system exception occurred
756            */
757            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
758            public java.util.List<com.liferay.portal.model.User> getTeamUsers(
759                    long teamId, int start, int end,
760                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
761                    throws com.liferay.portal.kernel.exception.SystemException;
762    
763            /**
764            * @throws SystemException if a system exception occurred
765            */
766            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
767            public int getTeamUsersCount(long teamId)
768                    throws com.liferay.portal.kernel.exception.SystemException;
769    
770            /**
771            * @throws SystemException if a system exception occurred
772            */
773            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
774            public boolean hasTeamUser(long teamId, long userId)
775                    throws com.liferay.portal.kernel.exception.SystemException;
776    
777            /**
778            * @throws SystemException if a system exception occurred
779            */
780            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
781            public boolean hasTeamUsers(long teamId)
782                    throws com.liferay.portal.kernel.exception.SystemException;
783    
784            /**
785            * @throws SystemException if a system exception occurred
786            */
787            public void setTeamUsers(long teamId, long[] userIds)
788                    throws com.liferay.portal.kernel.exception.SystemException;
789    
790            /**
791            * @throws SystemException if a system exception occurred
792            */
793            public void addUserGroupUser(long userGroupId, long userId)
794                    throws com.liferay.portal.kernel.exception.SystemException;
795    
796            /**
797            * @throws SystemException if a system exception occurred
798            */
799            public void addUserGroupUser(long userGroupId,
800                    com.liferay.portal.model.User user)
801                    throws com.liferay.portal.kernel.exception.SystemException;
802    
803            /**
804            * @throws PortalException
805            * @throws SystemException if a system exception occurred
806            */
807            public void addUserGroupUsers(long userGroupId, long[] userIds)
808                    throws com.liferay.portal.kernel.exception.PortalException,
809                            com.liferay.portal.kernel.exception.SystemException;
810    
811            /**
812            * @throws PortalException
813            * @throws SystemException if a system exception occurred
814            */
815            public void addUserGroupUsers(long userGroupId,
816                    java.util.List<com.liferay.portal.model.User> Users)
817                    throws com.liferay.portal.kernel.exception.PortalException,
818                            com.liferay.portal.kernel.exception.SystemException;
819    
820            /**
821            * @throws SystemException if a system exception occurred
822            */
823            public void clearUserGroupUsers(long userGroupId)
824                    throws com.liferay.portal.kernel.exception.SystemException;
825    
826            /**
827            * @throws PortalException
828            * @throws SystemException if a system exception occurred
829            */
830            public void deleteUserGroupUser(long userGroupId, long userId)
831                    throws com.liferay.portal.kernel.exception.PortalException,
832                            com.liferay.portal.kernel.exception.SystemException;
833    
834            /**
835            * @throws PortalException
836            * @throws SystemException if a system exception occurred
837            */
838            public void deleteUserGroupUser(long userGroupId,
839                    com.liferay.portal.model.User user)
840                    throws com.liferay.portal.kernel.exception.PortalException,
841                            com.liferay.portal.kernel.exception.SystemException;
842    
843            /**
844            * @throws SystemException if a system exception occurred
845            */
846            public void deleteUserGroupUsers(long userGroupId, long[] userIds)
847                    throws com.liferay.portal.kernel.exception.SystemException;
848    
849            /**
850            * @throws SystemException if a system exception occurred
851            */
852            public void deleteUserGroupUsers(long userGroupId,
853                    java.util.List<com.liferay.portal.model.User> Users)
854                    throws com.liferay.portal.kernel.exception.SystemException;
855    
856            /**
857            * @throws SystemException if a system exception occurred
858            */
859            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
860            public java.util.List<com.liferay.portal.model.User> getUserGroupUsers(
861                    long userGroupId)
862                    throws com.liferay.portal.kernel.exception.SystemException;
863    
864            /**
865            * @throws SystemException if a system exception occurred
866            */
867            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
868            public java.util.List<com.liferay.portal.model.User> getUserGroupUsers(
869                    long userGroupId, int start, int end)
870                    throws com.liferay.portal.kernel.exception.SystemException;
871    
872            /**
873            * @throws SystemException if a system exception occurred
874            */
875            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
876            public java.util.List<com.liferay.portal.model.User> getUserGroupUsers(
877                    long userGroupId, int start, int end,
878                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
879                    throws com.liferay.portal.kernel.exception.SystemException;
880    
881            /**
882            * @throws SystemException if a system exception occurred
883            */
884            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
885            public int getUserGroupUsersCount(long userGroupId)
886                    throws com.liferay.portal.kernel.exception.SystemException;
887    
888            /**
889            * @throws SystemException if a system exception occurred
890            */
891            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
892            public boolean hasUserGroupUser(long userGroupId, long userId)
893                    throws com.liferay.portal.kernel.exception.SystemException;
894    
895            /**
896            * @throws SystemException if a system exception occurred
897            */
898            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
899            public boolean hasUserGroupUsers(long userGroupId)
900                    throws com.liferay.portal.kernel.exception.SystemException;
901    
902            /**
903            * @throws PortalException
904            * @throws SystemException if a system exception occurred
905            */
906            public void setUserGroupUsers(long userGroupId, long[] userIds)
907                    throws com.liferay.portal.kernel.exception.PortalException,
908                            com.liferay.portal.kernel.exception.SystemException;
909    
910            /**
911            * Returns the Spring bean ID for this bean.
912            *
913            * @return the Spring bean ID for this bean
914            */
915            public java.lang.String getBeanIdentifier();
916    
917            /**
918            * Sets the Spring bean ID for this bean.
919            *
920            * @param beanIdentifier the Spring bean ID for this bean
921            */
922            public void setBeanIdentifier(java.lang.String beanIdentifier);
923    
924            public com.liferay.portal.model.User addDefaultAdminUser(long companyId,
925                    java.lang.String screenName, java.lang.String emailAddress,
926                    java.util.Locale locale, java.lang.String firstName,
927                    java.lang.String middleName, java.lang.String lastName)
928                    throws com.liferay.portal.kernel.exception.PortalException,
929                            com.liferay.portal.kernel.exception.SystemException;
930    
931            /**
932            * Adds the user to the default groups, unless the user is already in these
933            * groups. The default groups can be specified in
934            * <code>portal.properties</code> with the key
935            * <code>admin.default.group.names</code>.
936            *
937            * @param userId the primary key of the user
938            * @throws PortalException if a user with the primary key could not be found
939            * @throws SystemException if a system exception occurred
940            */
941            public void addDefaultGroups(long userId)
942                    throws com.liferay.portal.kernel.exception.PortalException,
943                            com.liferay.portal.kernel.exception.SystemException;
944    
945            /**
946            * Adds the user to the default roles, unless the user already has these
947            * roles. The default roles can be specified in
948            * <code>portal.properties</code> with the key
949            * <code>admin.default.role.names</code>.
950            *
951            * @param userId the primary key of the user
952            * @throws PortalException if a user with the primary key could not be found
953            * @throws SystemException if a system exception occurred
954            */
955            public void addDefaultRoles(long userId)
956                    throws com.liferay.portal.kernel.exception.PortalException,
957                            com.liferay.portal.kernel.exception.SystemException;
958    
959            /**
960            * Adds the user to the default user groups, unless the user is already in
961            * these user groups. The default user groups can be specified in
962            * <code>portal.properties</code> with the property
963            * <code>admin.default.user.group.names</code>.
964            *
965            * @param userId the primary key of the user
966            * @throws PortalException if a user with the primary key could not be found
967            * @throws SystemException if a system exception occurred
968            */
969            public void addDefaultUserGroups(long userId)
970                    throws com.liferay.portal.kernel.exception.PortalException,
971                            com.liferay.portal.kernel.exception.SystemException;
972    
973            /**
974            * Assigns the password policy to the users, removing any other currently
975            * assigned password policies.
976            *
977            * @param passwordPolicyId the primary key of the password policy
978            * @param userIds the primary keys of the users
979            * @throws SystemException if a system exception occurred
980            */
981            public void addPasswordPolicyUsers(long passwordPolicyId, long[] userIds)
982                    throws com.liferay.portal.kernel.exception.SystemException;
983    
984            /**
985            * Adds a user.
986            *
987            * <p>
988            * This method handles the creation and bookkeeping of the user including
989            * its resources, metadata, and internal data structures. It is not
990            * necessary to make subsequent calls to any methods to setup default
991            * groups, resources, etc.
992            * </p>
993            *
994            * @param creatorUserId the primary key of the creator
995            * @param companyId the primary key of the user's company
996            * @param autoPassword whether a password should be automatically generated
997            for the user
998            * @param password1 the user's password
999            * @param password2 the user's password confirmation
1000            * @param autoScreenName whether a screen name should be automatically
1001            generated for the user
1002            * @param screenName the user's screen name
1003            * @param emailAddress the user's email address
1004            * @param facebookId the user's facebook ID
1005            * @param openId the user's OpenID
1006            * @param locale the user's locale
1007            * @param firstName the user's first name
1008            * @param middleName the user's middle name
1009            * @param lastName the user's last name
1010            * @param prefixId the user's name prefix ID
1011            * @param suffixId the user's name suffix ID
1012            * @param male whether the user is male
1013            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
1014            January)
1015            * @param birthdayDay the user's birthday day
1016            * @param birthdayYear the user's birthday year
1017            * @param jobTitle the user's job title
1018            * @param groupIds the primary keys of the user's groups
1019            * @param organizationIds the primary keys of the user's organizations
1020            * @param roleIds the primary keys of the roles this user possesses
1021            * @param userGroupIds the primary keys of the user's user groups
1022            * @param sendEmail whether to send the user an email notification about
1023            their new account
1024            * @param serviceContext the user's service context (optionally
1025            <code>null</code>). Can set the universally unique identifier
1026            (with the <code>uuid</code> attribute), asset category IDs, asset
1027            tag names, and expando bridge attributes for the user.
1028            * @return the new user
1029            * @throws PortalException if the user's information was invalid
1030            * @throws SystemException if a system exception occurred
1031            */
1032            public com.liferay.portal.model.User addUser(long creatorUserId,
1033                    long companyId, boolean autoPassword, java.lang.String password1,
1034                    java.lang.String password2, boolean autoScreenName,
1035                    java.lang.String screenName, java.lang.String emailAddress,
1036                    long facebookId, java.lang.String openId, java.util.Locale locale,
1037                    java.lang.String firstName, java.lang.String middleName,
1038                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
1039                    int birthdayMonth, int birthdayDay, int birthdayYear,
1040                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
1041                    long[] roleIds, long[] userGroupIds, boolean sendEmail,
1042                    com.liferay.portal.service.ServiceContext serviceContext)
1043                    throws com.liferay.portal.kernel.exception.PortalException,
1044                            com.liferay.portal.kernel.exception.SystemException;
1045    
1046            /**
1047            * Adds a user with workflow.
1048            *
1049            * <p>
1050            * This method handles the creation and bookkeeping of the user including
1051            * its resources, metadata, and internal data structures. It is not
1052            * necessary to make subsequent calls to any methods to setup default
1053            * groups, resources, etc.
1054            * </p>
1055            *
1056            * @param creatorUserId the primary key of the creator
1057            * @param companyId the primary key of the user's company
1058            * @param autoPassword whether a password should be automatically generated
1059            for the user
1060            * @param password1 the user's password
1061            * @param password2 the user's password confirmation
1062            * @param autoScreenName whether a screen name should be automatically
1063            generated for the user
1064            * @param screenName the user's screen name
1065            * @param emailAddress the user's email address
1066            * @param facebookId the user's facebook ID
1067            * @param openId the user's OpenID
1068            * @param locale the user's locale
1069            * @param firstName the user's first name
1070            * @param middleName the user's middle name
1071            * @param lastName the user's last name
1072            * @param prefixId the user's name prefix ID
1073            * @param suffixId the user's name suffix ID
1074            * @param male whether the user is male
1075            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
1076            January)
1077            * @param birthdayDay the user's birthday day
1078            * @param birthdayYear the user's birthday year
1079            * @param jobTitle the user's job title
1080            * @param groupIds the primary keys of the user's groups
1081            * @param organizationIds the primary keys of the user's organizations
1082            * @param roleIds the primary keys of the roles this user possesses
1083            * @param userGroupIds the primary keys of the user's user groups
1084            * @param sendEmail whether to send the user an email notification about
1085            their new account
1086            * @param serviceContext the user's service context (optionally
1087            <code>null</code>). Can set the universally unique identifier
1088            (with the <code>uuid</code> attribute), asset category IDs, asset
1089            tag names, and expando bridge attributes for the user.
1090            * @return the new user
1091            * @throws PortalException if the user's information was invalid
1092            * @throws SystemException if a system exception occurred
1093            */
1094            public com.liferay.portal.model.User addUserWithWorkflow(
1095                    long creatorUserId, long companyId, boolean autoPassword,
1096                    java.lang.String password1, java.lang.String password2,
1097                    boolean autoScreenName, java.lang.String screenName,
1098                    java.lang.String emailAddress, long facebookId,
1099                    java.lang.String openId, java.util.Locale locale,
1100                    java.lang.String firstName, java.lang.String middleName,
1101                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
1102                    int birthdayMonth, int birthdayDay, int birthdayYear,
1103                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
1104                    long[] roleIds, long[] userGroupIds, boolean sendEmail,
1105                    com.liferay.portal.service.ServiceContext serviceContext)
1106                    throws com.liferay.portal.kernel.exception.PortalException,
1107                            com.liferay.portal.kernel.exception.SystemException;
1108    
1109            /**
1110            * Attempts to authenticate the user by their email address and password,
1111            * while using the AuthPipeline.
1112            *
1113            * @param companyId the primary key of the user's company
1114            * @param emailAddress the user's email address
1115            * @param password the user's password
1116            * @param headerMap the header map from the authentication request
1117            * @param parameterMap the parameter map from the authentication request
1118            * @param resultsMap the map of authentication results (may be nil). After
1119            a succesful authentication the user's primary key will be placed
1120            under the key <code>userId</code>.
1121            * @return the authentication status. This can be {@link
1122            com.liferay.portal.security.auth.Authenticator#FAILURE}
1123            indicating that the user's credentials are invalid, {@link
1124            com.liferay.portal.security.auth.Authenticator#SUCCESS}
1125            indicating a successful login, or {@link
1126            com.liferay.portal.security.auth.Authenticator#DNE} indicating
1127            that a user with that login does not exist.
1128            * @throws PortalException if <code>emailAddress</code> or
1129            <code>password</code> was <code>null</code>
1130            * @throws SystemException if a system exception occurred
1131            * @see com.liferay.portal.security.auth.AuthPipeline
1132            */
1133            public int authenticateByEmailAddress(long companyId,
1134                    java.lang.String emailAddress, java.lang.String password,
1135                    java.util.Map<java.lang.String, java.lang.String[]> headerMap,
1136                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1137                    java.util.Map<java.lang.String, java.lang.Object> resultsMap)
1138                    throws com.liferay.portal.kernel.exception.PortalException,
1139                            com.liferay.portal.kernel.exception.SystemException;
1140    
1141            /**
1142            * Attempts to authenticate the user by their screen name and password,
1143            * while using the AuthPipeline.
1144            *
1145            * @param companyId the primary key of the user's company
1146            * @param screenName the user's screen name
1147            * @param password the user's password
1148            * @param headerMap the header map from the authentication request
1149            * @param parameterMap the parameter map from the authentication request
1150            * @param resultsMap the map of authentication results (may be nil). After
1151            a succesful authentication the user's primary key will be placed
1152            under the key <code>userId</code>.
1153            * @return the authentication status. This can be {@link
1154            com.liferay.portal.security.auth.Authenticator#FAILURE}
1155            indicating that the user's credentials are invalid, {@link
1156            com.liferay.portal.security.auth.Authenticator#SUCCESS}
1157            indicating a successful login, or {@link
1158            com.liferay.portal.security.auth.Authenticator#DNE} indicating
1159            that a user with that login does not exist.
1160            * @throws PortalException if <code>screenName</code> or
1161            <code>password</code> was <code>null</code>
1162            * @throws SystemException if a system exception occurred
1163            * @see com.liferay.portal.security.auth.AuthPipeline
1164            */
1165            public int authenticateByScreenName(long companyId,
1166                    java.lang.String screenName, java.lang.String password,
1167                    java.util.Map<java.lang.String, java.lang.String[]> headerMap,
1168                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1169                    java.util.Map<java.lang.String, java.lang.Object> resultsMap)
1170                    throws com.liferay.portal.kernel.exception.PortalException,
1171                            com.liferay.portal.kernel.exception.SystemException;
1172    
1173            /**
1174            * Attempts to authenticate the user by their primary key and password,
1175            * while using the AuthPipeline.
1176            *
1177            * @param companyId the primary key of the user's company
1178            * @param userId the user's primary key
1179            * @param password the user's password
1180            * @param headerMap the header map from the authentication request
1181            * @param parameterMap the parameter map from the authentication request
1182            * @param resultsMap the map of authentication results (may be nil). After
1183            a succesful authentication the user's primary key will be placed
1184            under the key <code>userId</code>.
1185            * @return the authentication status. This can be {@link
1186            com.liferay.portal.security.auth.Authenticator#FAILURE}
1187            indicating that the user's credentials are invalid, {@link
1188            com.liferay.portal.security.auth.Authenticator#SUCCESS}
1189            indicating a successful login, or {@link
1190            com.liferay.portal.security.auth.Authenticator#DNE} indicating
1191            that a user with that login does not exist.
1192            * @throws PortalException if <code>userId</code> or <code>password</code>
1193            was <code>null</code>
1194            * @throws SystemException if a system exception occurred
1195            * @see com.liferay.portal.security.auth.AuthPipeline
1196            */
1197            public int authenticateByUserId(long companyId, long userId,
1198                    java.lang.String password,
1199                    java.util.Map<java.lang.String, java.lang.String[]> headerMap,
1200                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1201                    java.util.Map<java.lang.String, java.lang.Object> resultsMap)
1202                    throws com.liferay.portal.kernel.exception.PortalException,
1203                            com.liferay.portal.kernel.exception.SystemException;
1204    
1205            /**
1206            * Attempts to authenticate the user using HTTP basic access authentication,
1207            * without using the AuthPipeline. Primarily used for authenticating users
1208            * of <code>tunnel-web</code>.
1209            *
1210            * <p>
1211            * Authentication type specifies what <code>login</code> contains.The valid
1212            * values are:
1213            * </p>
1214            *
1215            * <ul>
1216            * <li>
1217            * <code>CompanyConstants.AUTH_TYPE_EA</code> - <code>login</code> is the
1218            * user's email address
1219            * </li>
1220            * <li>
1221            * <code>CompanyConstants.AUTH_TYPE_SN</code> - <code>login</code> is the
1222            * user's screen name
1223            * </li>
1224            * <li>
1225            * <code>CompanyConstants.AUTH_TYPE_ID</code> - <code>login</code> is the
1226            * user's primary key
1227            * </li>
1228            * </ul>
1229            *
1230            * @param companyId the primary key of the user's company
1231            * @param authType the type of authentication to perform
1232            * @param login either the user's email address, screen name, or primary
1233            key depending on the value of <code>authType</code>
1234            * @param password the user's password
1235            * @return the authentication status. This can be {@link
1236            com.liferay.portal.security.auth.Authenticator#FAILURE}
1237            indicating that the user's credentials are invalid, {@link
1238            com.liferay.portal.security.auth.Authenticator#SUCCESS}
1239            indicating a successful login, or {@link
1240            com.liferay.portal.security.auth.Authenticator#DNE} indicating
1241            that a user with that login does not exist.
1242            * @throws PortalException if a portal exception occurred
1243            * @throws SystemException if a system exception occurred
1244            */
1245            public long authenticateForBasic(long companyId, java.lang.String authType,
1246                    java.lang.String login, java.lang.String password)
1247                    throws com.liferay.portal.kernel.exception.PortalException,
1248                            com.liferay.portal.kernel.exception.SystemException;
1249    
1250            /**
1251            * Attempts to authenticate the user using HTTP digest access
1252            * authentication, without using the AuthPipeline. Primarily used for
1253            * authenticating users of <code>tunnel-web</code>.
1254            *
1255            * @param companyId the primary key of the user's company
1256            * @param username either the user's email address, screen name, or primary
1257            key
1258            * @param realm unused
1259            * @param nonce the number used once
1260            * @param method the request method
1261            * @param uri the request URI
1262            * @param response the authentication response hash
1263            * @return the user's primary key if authentication is succesful;
1264            <code>0</code> otherwise
1265            * @throws PortalException if a portal exception occurred
1266            * @throws SystemException if a system exception occurred
1267            */
1268            public long authenticateForDigest(long companyId,
1269                    java.lang.String username, java.lang.String realm,
1270                    java.lang.String nonce, java.lang.String method, java.lang.String uri,
1271                    java.lang.String response)
1272                    throws com.liferay.portal.kernel.exception.PortalException,
1273                            com.liferay.portal.kernel.exception.SystemException;
1274    
1275            /**
1276            * Attempts to authenticate the user using JAAS credentials, without using
1277            * the AuthPipeline.
1278            *
1279            * @param userId the primary key of the user
1280            * @param encPassword the encrypted password
1281            * @return <code>true</code> if authentication is successful;
1282            <code>false</code> otherwise
1283            */
1284            public boolean authenticateForJAAS(long userId, java.lang.String encPassword);
1285    
1286            /**
1287            * Checks if the user is currently locked out based on the password policy,
1288            * and performs maintenance on the user's lockout and failed login data.
1289            *
1290            * @param user the user
1291            * @throws PortalException if the user was determined to still be locked out
1292            * @throws SystemException if a system exception occurred
1293            */
1294            public void checkLockout(com.liferay.portal.model.User user)
1295                    throws com.liferay.portal.kernel.exception.PortalException,
1296                            com.liferay.portal.kernel.exception.SystemException;
1297    
1298            /**
1299            * Adds a failed login attempt to the user and updates the user's last
1300            * failed login date.
1301            *
1302            * @param user the user
1303            * @throws SystemException if a system exception occurred
1304            */
1305            public void checkLoginFailure(com.liferay.portal.model.User user)
1306                    throws com.liferay.portal.kernel.exception.SystemException;
1307    
1308            /**
1309            * Adds a failed login attempt to the user with the email address and
1310            * updates the user's last failed login date.
1311            *
1312            * @param companyId the primary key of the user's company
1313            * @param emailAddress the user's email address
1314            * @throws PortalException if a user with the email address could not be
1315            found
1316            * @throws SystemException if a system exception occurred
1317            */
1318            public void checkLoginFailureByEmailAddress(long companyId,
1319                    java.lang.String emailAddress)
1320                    throws com.liferay.portal.kernel.exception.PortalException,
1321                            com.liferay.portal.kernel.exception.SystemException;
1322    
1323            /**
1324            * Adds a failed login attempt to the user and updates the user's last
1325            * failed login date.
1326            *
1327            * @param userId the primary key of the user
1328            * @throws PortalException if a user with the primary key could not be found
1329            * @throws SystemException if a system exception occurred
1330            */
1331            public void checkLoginFailureById(long userId)
1332                    throws com.liferay.portal.kernel.exception.PortalException,
1333                            com.liferay.portal.kernel.exception.SystemException;
1334    
1335            /**
1336            * Adds a failed login attempt to the user with the screen name and updates
1337            * the user's last failed login date.
1338            *
1339            * @param companyId the primary key of the user's company
1340            * @param screenName the user's screen name
1341            * @throws PortalException if a user with the screen name could not be found
1342            * @throws SystemException if a system exception occurred
1343            */
1344            public void checkLoginFailureByScreenName(long companyId,
1345                    java.lang.String screenName)
1346                    throws com.liferay.portal.kernel.exception.PortalException,
1347                            com.liferay.portal.kernel.exception.SystemException;
1348    
1349            /**
1350            * Checks if the user's password is expired based on the password policy,
1351            * and performs maintenance on the user's grace login and password reset
1352            * data.
1353            *
1354            * @param user the user
1355            * @throws PortalException if the user's password has expired and the grace
1356            login limit has been exceeded
1357            * @throws SystemException if a system exception occurred
1358            */
1359            public void checkPasswordExpired(com.liferay.portal.model.User user)
1360                    throws com.liferay.portal.kernel.exception.PortalException,
1361                            com.liferay.portal.kernel.exception.SystemException;
1362    
1363            /**
1364            * Completes the user's registration by generating a password and sending
1365            * the confirmation email.
1366            *
1367            * @param user the user
1368            * @param serviceContext the user's service context. Can set whether a
1369            password should be generated (with the <code>autoPassword</code>
1370            attribute) and whether the confirmation email should be sent
1371            (with the <code>sendEmail</code> attribute) for the user.
1372            * @throws PortalException if a portal exception occurred
1373            * @throws SystemException if a system exception occurred
1374            */
1375            public void completeUserRegistration(com.liferay.portal.model.User user,
1376                    com.liferay.portal.service.ServiceContext serviceContext)
1377                    throws com.liferay.portal.kernel.exception.PortalException,
1378                            com.liferay.portal.kernel.exception.SystemException;
1379    
1380            /**
1381            * Decrypts the user's primary key and password from their encrypted forms.
1382            * Used for decrypting a user's credentials from the values stored in an
1383            * automatic login cookie.
1384            *
1385            * @param companyId the primary key of the user's company
1386            * @param name the encrypted primary key of the user
1387            * @param password the encrypted password of the user
1388            * @return the user's primary key and password
1389            * @throws PortalException if a user with the primary key could not be found
1390            or if the user's password was incorrect
1391            * @throws SystemException if a system exception occurred
1392            */
1393            public com.liferay.portal.kernel.util.KeyValuePair decryptUserId(
1394                    long companyId, java.lang.String name, java.lang.String password)
1395                    throws com.liferay.portal.kernel.exception.PortalException,
1396                            com.liferay.portal.kernel.exception.SystemException;
1397    
1398            /**
1399            * Deletes the user's portrait image.
1400            *
1401            * @param userId the primary key of the user
1402            * @throws PortalException if a user with the primary key could not be found
1403            or if the user's portrait could not be found
1404            * @throws SystemException if a system exception occurred
1405            */
1406            public void deletePortrait(long userId)
1407                    throws com.liferay.portal.kernel.exception.PortalException,
1408                            com.liferay.portal.kernel.exception.SystemException;
1409    
1410            /**
1411            * Encrypts the primary key of the user. Used when encrypting the user's
1412            * credentials for storage in an automatic login cookie.
1413            *
1414            * @param name the primary key of the user
1415            * @return the user's encrypted primary key
1416            * @throws PortalException if a user with the primary key could not be found
1417            * @throws SystemException if a system exception occurred
1418            */
1419            public java.lang.String encryptUserId(java.lang.String name)
1420                    throws com.liferay.portal.kernel.exception.PortalException,
1421                            com.liferay.portal.kernel.exception.SystemException;
1422    
1423            /**
1424            * Returns the user with the email address.
1425            *
1426            * @param companyId the primary key of the user's company
1427            * @param emailAddress the user's email address
1428            * @return the user with the email address, or <code>null</code> if a user
1429            with the email address could not be found
1430            * @throws SystemException if a system exception occurred
1431            */
1432            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1433            public com.liferay.portal.model.User fetchUserByEmailAddress(
1434                    long companyId, java.lang.String emailAddress)
1435                    throws com.liferay.portal.kernel.exception.SystemException;
1436    
1437            /**
1438            * Returns the user with the primary key.
1439            *
1440            * @param userId the primary key of the user
1441            * @return the user with the primary key, or <code>null</code> if a user
1442            with the primary key could not be found
1443            * @throws SystemException if a system exception occurred
1444            */
1445            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1446            public com.liferay.portal.model.User fetchUserById(long userId)
1447                    throws com.liferay.portal.kernel.exception.SystemException;
1448    
1449            /**
1450            * Returns the user with the screen name.
1451            *
1452            * @param companyId the primary key of the user's company
1453            * @param screenName the user's screen name
1454            * @return the user with the screen name, or <code>null</code> if a user
1455            with the screen name could not be found
1456            * @throws SystemException if a system exception occurred
1457            */
1458            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1459            public com.liferay.portal.model.User fetchUserByScreenName(long companyId,
1460                    java.lang.String screenName)
1461                    throws com.liferay.portal.kernel.exception.SystemException;
1462    
1463            /**
1464            * Returns a range of all the users belonging to the company.
1465            *
1466            * <p>
1467            * Useful when paginating results. Returns a maximum of <code>end -
1468            * start</code> instances. <code>start</code> and <code>end</code> are not
1469            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1470            * refers to the first result in the set. Setting both <code>start</code>
1471            * and <code>end</code> to {@link
1472            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1473            * result set.
1474            * </p>
1475            *
1476            * @param companyId the primary key of the company
1477            * @param start the lower bound of the range of users
1478            * @param end the upper bound of the range of users (not inclusive)
1479            * @return the range of users belonging to the company
1480            * @throws SystemException if a system exception occurred
1481            */
1482            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1483            public java.util.List<com.liferay.portal.model.User> getCompanyUsers(
1484                    long companyId, int start, int end)
1485                    throws com.liferay.portal.kernel.exception.SystemException;
1486    
1487            /**
1488            * Returns the number of users belonging to the company.
1489            *
1490            * @param companyId the primary key of the company
1491            * @return the number of users belonging to the company
1492            * @throws SystemException if a system exception occurred
1493            */
1494            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1495            public int getCompanyUsersCount(long companyId)
1496                    throws com.liferay.portal.kernel.exception.SystemException;
1497    
1498            /**
1499            * Returns the default user for the company.
1500            *
1501            * @param companyId the primary key of the company
1502            * @return the default user for the company
1503            * @throws PortalException if a default user for the company could not be
1504            found
1505            * @throws SystemException if a system exception occurred
1506            */
1507            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1508            public com.liferay.portal.model.User getDefaultUser(long companyId)
1509                    throws com.liferay.portal.kernel.exception.PortalException,
1510                            com.liferay.portal.kernel.exception.SystemException;
1511    
1512            /**
1513            * Returns the primary key of the default user for the company.
1514            *
1515            * @param companyId the primary key of the company
1516            * @return the primary key of the default user for the company
1517            * @throws PortalException if a default user for the company could not be
1518            found
1519            * @throws SystemException if a system exception occurred
1520            */
1521            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1522            public long getDefaultUserId(long companyId)
1523                    throws com.liferay.portal.kernel.exception.PortalException,
1524                            com.liferay.portal.kernel.exception.SystemException;
1525    
1526            /**
1527            * Returns the primary keys of all the users belonging to the group.
1528            *
1529            * @param groupId the primary key of the group
1530            * @return the primary keys of the users belonging to the group
1531            * @throws SystemException if a system exception occurred
1532            */
1533            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1534            public long[] getGroupUserIds(long groupId)
1535                    throws com.liferay.portal.kernel.exception.SystemException;
1536    
1537            /**
1538            * Returns the number of users with the status belonging to the group.
1539            *
1540            * @param groupId the primary key of the group
1541            * @param status the workflow status
1542            * @return the number of users with the status belonging to the group
1543            * @throws PortalException if a group with the primary key could not be
1544            found
1545            * @throws SystemException if a system exception occurred
1546            */
1547            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1548            public int getGroupUsersCount(long groupId, int status)
1549                    throws com.liferay.portal.kernel.exception.PortalException,
1550                            com.liferay.portal.kernel.exception.SystemException;
1551    
1552            /**
1553            * Returns all the users who have not had any announcements of the type
1554            * delivered, excluding the default user.
1555            *
1556            * @param type the type of announcement
1557            * @return the users who have not had any annoucements of the type delivered
1558            * @throws SystemException if a system exception occurred
1559            */
1560            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1561            public java.util.List<com.liferay.portal.model.User> getNoAnnouncementsDeliveries(
1562                    java.lang.String type)
1563                    throws com.liferay.portal.kernel.exception.SystemException;
1564    
1565            /**
1566            * Returns all the users who do not have any contacts.
1567            *
1568            * @return the users who do not have any contacts
1569            * @throws SystemException if a system exception occurred
1570            */
1571            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1572            public java.util.List<com.liferay.portal.model.User> getNoContacts()
1573                    throws com.liferay.portal.kernel.exception.SystemException;
1574    
1575            /**
1576            * Returns all the users who do not belong to any groups, excluding the
1577            * default user.
1578            *
1579            * @return the users who do not belong to any groups
1580            * @throws SystemException if a system exception occurred
1581            */
1582            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1583            public java.util.List<com.liferay.portal.model.User> getNoGroups()
1584                    throws com.liferay.portal.kernel.exception.SystemException;
1585    
1586            /**
1587            * Returns the primary keys of all the users belonging to the organization.
1588            *
1589            * @param organizationId the primary key of the organization
1590            * @return the primary keys of the users belonging to the organization
1591            * @throws SystemException if a system exception occurred
1592            */
1593            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1594            public long[] getOrganizationUserIds(long organizationId)
1595                    throws com.liferay.portal.kernel.exception.SystemException;
1596    
1597            /**
1598            * Returns the number of users with the status belonging to the
1599            * organization.
1600            *
1601            * @param organizationId the primary key of the organization
1602            * @param status the workflow status
1603            * @return the number of users with the status belonging to the organization
1604            * @throws PortalException if an organization with the primary key could not
1605            be found
1606            * @throws SystemException if a system exception occurred
1607            */
1608            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1609            public int getOrganizationUsersCount(long organizationId, int status)
1610                    throws com.liferay.portal.kernel.exception.PortalException,
1611                            com.liferay.portal.kernel.exception.SystemException;
1612    
1613            /**
1614            * Returns the primary keys of all the users belonging to the role.
1615            *
1616            * @param roleId the primary key of the role
1617            * @return the primary keys of the users belonging to the role
1618            * @throws SystemException if a system exception occurred
1619            */
1620            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1621            public long[] getRoleUserIds(long roleId)
1622                    throws com.liferay.portal.kernel.exception.SystemException;
1623    
1624            /**
1625            * Returns the number of users with the status belonging to the role.
1626            *
1627            * @param roleId the primary key of the role
1628            * @param status the workflow status
1629            * @return the number of users with the status belonging to the role
1630            * @throws PortalException if an role with the primary key could not be
1631            found
1632            * @throws SystemException if a system exception occurred
1633            */
1634            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1635            public int getRoleUsersCount(long roleId, int status)
1636                    throws com.liferay.portal.kernel.exception.PortalException,
1637                            com.liferay.portal.kernel.exception.SystemException;
1638    
1639            /**
1640            * Returns an ordered range of all the users with a social relation of the
1641            * type with the user.
1642            *
1643            * <p>
1644            * Useful when paginating results. Returns a maximum of <code>end -
1645            * start</code> instances. <code>start</code> and <code>end</code> are not
1646            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1647            * refers to the first result in the set. Setting both <code>start</code>
1648            * and <code>end</code> to {@link
1649            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1650            * result set.
1651            * </p>
1652            *
1653            * @param userId the primary key of the user
1654            * @param type the type of social relation. The possible types can be found
1655            in {@link
1656            com.liferay.portlet.social.model.SocialRelationConstants}.
1657            * @param start the lower bound of the range of users
1658            * @param end the upper bound of the range of users (not inclusive)
1659            * @param obc the comparator to order the users by (optionally
1660            <code>null</code>)
1661            * @return the ordered range of users with a social relation of the type
1662            with the user
1663            * @throws PortalException if a user with the primary key could not be found
1664            * @throws SystemException if a system exception occurred
1665            */
1666            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1667            public java.util.List<com.liferay.portal.model.User> getSocialUsers(
1668                    long userId, int type, int start, int end,
1669                    com.liferay.portal.kernel.util.OrderByComparator obc)
1670                    throws com.liferay.portal.kernel.exception.PortalException,
1671                            com.liferay.portal.kernel.exception.SystemException;
1672    
1673            /**
1674            * Returns an ordered range of all the users with a social relation with the
1675            * user.
1676            *
1677            * <p>
1678            * Useful when paginating results. Returns a maximum of <code>end -
1679            * start</code> instances. <code>start</code> and <code>end</code> are not
1680            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1681            * refers to the first result in the set. Setting both <code>start</code>
1682            * and <code>end</code> to {@link
1683            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1684            * result set.
1685            * </p>
1686            *
1687            * @param userId the primary key of the user
1688            * @param start the lower bound of the range of users
1689            * @param end the upper bound of the range of users (not inclusive)
1690            * @param obc the comparator to order the users by (optionally
1691            <code>null</code>)
1692            * @return the ordered range of users with a social relation with the user
1693            * @throws PortalException if a user with the primary key could not be found
1694            * @throws SystemException if a system exception occurred
1695            */
1696            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1697            public java.util.List<com.liferay.portal.model.User> getSocialUsers(
1698                    long userId, int start, int end,
1699                    com.liferay.portal.kernel.util.OrderByComparator obc)
1700                    throws com.liferay.portal.kernel.exception.PortalException,
1701                            com.liferay.portal.kernel.exception.SystemException;
1702    
1703            /**
1704            * Returns an ordered range of all the users with a mutual social relation
1705            * of the type with both of the given users.
1706            *
1707            * <p>
1708            * Useful when paginating results. Returns a maximum of <code>end -
1709            * start</code> instances. <code>start</code> and <code>end</code> are not
1710            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1711            * refers to the first result in the set. Setting both <code>start</code>
1712            * and <code>end</code> to {@link
1713            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1714            * result set.
1715            * </p>
1716            *
1717            * @param userId1 the primary key of the first user
1718            * @param userId2 the primary key of the second user
1719            * @param type the type of social relation. The possible types can be found
1720            in {@link
1721            com.liferay.portlet.social.model.SocialRelationConstants}.
1722            * @param start the lower bound of the range of users
1723            * @param end the upper bound of the range of users (not inclusive)
1724            * @param obc the comparator to order the users by (optionally
1725            <code>null</code>)
1726            * @return the ordered range of users with a mutual social relation of the
1727            type with the user
1728            * @throws PortalException if a user with the primary key could not be found
1729            * @throws SystemException if a system exception occurred
1730            */
1731            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1732            public java.util.List<com.liferay.portal.model.User> getSocialUsers(
1733                    long userId1, long userId2, int type, int start, int end,
1734                    com.liferay.portal.kernel.util.OrderByComparator obc)
1735                    throws com.liferay.portal.kernel.exception.PortalException,
1736                            com.liferay.portal.kernel.exception.SystemException;
1737    
1738            /**
1739            * Returns an ordered range of all the users with a mutual social relation
1740            * with both of the given users.
1741            *
1742            * <p>
1743            * Useful when paginating results. Returns a maximum of <code>end -
1744            * start</code> instances. <code>start</code> and <code>end</code> are not
1745            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1746            * refers to the first result in the set. Setting both <code>start</code>
1747            * and <code>end</code> to {@link
1748            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1749            * result set.
1750            * </p>
1751            *
1752            * @param userId1 the primary key of the first user
1753            * @param userId2 the primary key of the second user
1754            * @param start the lower bound of the range of users
1755            * @param end the upper bound of the range of users (not inclusive)
1756            * @param obc the comparator to order the users by (optionally
1757            <code>null</code>)
1758            * @return the ordered range of users with a mutual social relation with the
1759            user
1760            * @throws PortalException if a user with the primary key could not be found
1761            * @throws SystemException if a system exception occurred
1762            */
1763            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1764            public java.util.List<com.liferay.portal.model.User> getSocialUsers(
1765                    long userId1, long userId2, int start, int end,
1766                    com.liferay.portal.kernel.util.OrderByComparator obc)
1767                    throws com.liferay.portal.kernel.exception.PortalException,
1768                            com.liferay.portal.kernel.exception.SystemException;
1769    
1770            /**
1771            * Returns the number of users with a social relation with the user.
1772            *
1773            * @param userId the primary key of the user
1774            * @return the number of users with a social relation with the user
1775            * @throws PortalException if a user with the primary key could not be found
1776            * @throws SystemException if a system exception occurred
1777            */
1778            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1779            public int getSocialUsersCount(long userId)
1780                    throws com.liferay.portal.kernel.exception.PortalException,
1781                            com.liferay.portal.kernel.exception.SystemException;
1782    
1783            /**
1784            * Returns the number of users with a social relation of the type with the
1785            * user.
1786            *
1787            * @param userId the primary key of the user
1788            * @param type the type of social relation. The possible types can be found
1789            in {@link
1790            com.liferay.portlet.social.model.SocialRelationConstants}.
1791            * @return the number of users with a social relation of the type with the
1792            user
1793            * @throws PortalException if a user with the primary key could not be found
1794            * @throws SystemException if a system exception occurred
1795            */
1796            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1797            public int getSocialUsersCount(long userId, int type)
1798                    throws com.liferay.portal.kernel.exception.PortalException,
1799                            com.liferay.portal.kernel.exception.SystemException;
1800    
1801            /**
1802            * Returns the number of users with a mutual social relation with both of
1803            * the given users.
1804            *
1805            * @param userId1 the primary key of the first user
1806            * @param userId2 the primary key of the second user
1807            * @return the number of users with a mutual social relation with the user
1808            * @throws PortalException if a user with the primary key could not be found
1809            * @throws SystemException if a system exception occurred
1810            */
1811            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1812            public int getSocialUsersCount(long userId1, long userId2)
1813                    throws com.liferay.portal.kernel.exception.PortalException,
1814                            com.liferay.portal.kernel.exception.SystemException;
1815    
1816            /**
1817            * Returns the number of users with a mutual social relation of the type
1818            * with both of the given users.
1819            *
1820            * @param userId1 the primary key of the first user
1821            * @param userId2 the primary key of the second user
1822            * @param type the type of social relation. The possible types can be found
1823            in {@link
1824            com.liferay.portlet.social.model.SocialRelationConstants}.
1825            * @return the number of users with a mutual social relation of the type
1826            with the user
1827            * @throws PortalException if a user with the primary key could not be found
1828            * @throws SystemException if a system exception occurred
1829            */
1830            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1831            public int getSocialUsersCount(long userId1, long userId2, int type)
1832                    throws com.liferay.portal.kernel.exception.PortalException,
1833                            com.liferay.portal.kernel.exception.SystemException;
1834    
1835            /**
1836            * Returns the user with the contact ID.
1837            *
1838            * @param contactId the user's contact ID
1839            * @return the user with the contact ID
1840            * @throws PortalException if a user with the contact ID could not be found
1841            * @throws SystemException if a system exception occurred
1842            */
1843            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1844            public com.liferay.portal.model.User getUserByContactId(long contactId)
1845                    throws com.liferay.portal.kernel.exception.PortalException,
1846                            com.liferay.portal.kernel.exception.SystemException;
1847    
1848            /**
1849            * Returns the user with the email address.
1850            *
1851            * @param companyId the primary key of the user's company
1852            * @param emailAddress the user's email address
1853            * @return the user with the email address
1854            * @throws PortalException if a user with the email address could not be
1855            found
1856            * @throws SystemException if a system exception occurred
1857            */
1858            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1859            public com.liferay.portal.model.User getUserByEmailAddress(long companyId,
1860                    java.lang.String emailAddress)
1861                    throws com.liferay.portal.kernel.exception.PortalException,
1862                            com.liferay.portal.kernel.exception.SystemException;
1863    
1864            /**
1865            * Returns the user with the Facebook ID.
1866            *
1867            * @param companyId the primary key of the user's company
1868            * @param facebookId the user's Facebook ID
1869            * @return the user with the Facebook ID
1870            * @throws PortalException if a user with the Facebook ID could not be found
1871            * @throws SystemException if a system exception occurred
1872            */
1873            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1874            public com.liferay.portal.model.User getUserByFacebookId(long companyId,
1875                    long facebookId)
1876                    throws com.liferay.portal.kernel.exception.PortalException,
1877                            com.liferay.portal.kernel.exception.SystemException;
1878    
1879            /**
1880            * Returns the user with the primary key.
1881            *
1882            * @param userId the primary key of the user
1883            * @return the user with the primary key
1884            * @throws PortalException if a user with the primary key could not be found
1885            * @throws SystemException if a system exception occurred
1886            */
1887            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1888            public com.liferay.portal.model.User getUserById(long userId)
1889                    throws com.liferay.portal.kernel.exception.PortalException,
1890                            com.liferay.portal.kernel.exception.SystemException;
1891    
1892            /**
1893            * Returns the user with the primary key from the company.
1894            *
1895            * @param companyId the primary key of the user's company
1896            * @param userId the primary key of the user
1897            * @return the user with the primary key
1898            * @throws PortalException if a user with the primary key from the company
1899            could not be found
1900            * @throws SystemException if a system exception occurred
1901            */
1902            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1903            public com.liferay.portal.model.User getUserById(long companyId, long userId)
1904                    throws com.liferay.portal.kernel.exception.PortalException,
1905                            com.liferay.portal.kernel.exception.SystemException;
1906    
1907            /**
1908            * Returns the user with the OpenID.
1909            *
1910            * @param companyId the primary key of the user's company
1911            * @param openId the user's OpenID
1912            * @return the user with the OpenID
1913            * @throws PortalException if a user with the OpenID could not be found
1914            * @throws SystemException if a system exception occurred
1915            */
1916            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1917            public com.liferay.portal.model.User getUserByOpenId(long companyId,
1918                    java.lang.String openId)
1919                    throws com.liferay.portal.kernel.exception.PortalException,
1920                            com.liferay.portal.kernel.exception.SystemException;
1921    
1922            /**
1923            * Returns the user with the portrait ID.
1924            *
1925            * @param portraitId the user's portrait ID
1926            * @return the user with the portrait ID
1927            * @throws PortalException if a user with the portrait ID could not be found
1928            * @throws SystemException if a system exception occurred
1929            */
1930            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1931            public com.liferay.portal.model.User getUserByPortraitId(long portraitId)
1932                    throws com.liferay.portal.kernel.exception.PortalException,
1933                            com.liferay.portal.kernel.exception.SystemException;
1934    
1935            /**
1936            * Returns the user with the screen name.
1937            *
1938            * @param companyId the primary key of the user's company
1939            * @param screenName the user's screen name
1940            * @return the user with the screen name
1941            * @throws PortalException if a user with the screen name could not be found
1942            * @throws SystemException if a system exception occurred
1943            */
1944            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1945            public com.liferay.portal.model.User getUserByScreenName(long companyId,
1946                    java.lang.String screenName)
1947                    throws com.liferay.portal.kernel.exception.PortalException,
1948                            com.liferay.portal.kernel.exception.SystemException;
1949    
1950            /**
1951            * Returns the user with the universally unique identifier.
1952            *
1953            * @param uuid the user's universally unique identifier
1954            * @return the user with the universally unique identifier
1955            * @throws PortalException if a user with the universally unique identifier
1956            could not be found
1957            * @throws SystemException if a system exception occurred
1958            */
1959            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1960            public com.liferay.portal.model.User getUserByUuid(java.lang.String uuid)
1961                    throws com.liferay.portal.kernel.exception.PortalException,
1962                            com.liferay.portal.kernel.exception.SystemException;
1963    
1964            /**
1965            * Returns the number of users with the status belonging to the user group.
1966            *
1967            * @param userGroupId the primary key of the user group
1968            * @param status the workflow status
1969            * @return the number of users with the status belonging to the user group
1970            * @throws PortalException if a user group with the primary key could not be
1971            found
1972            * @throws SystemException if a system exception occurred
1973            */
1974            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1975            public int getUserGroupUsersCount(long userGroupId, int status)
1976                    throws com.liferay.portal.kernel.exception.PortalException,
1977                            com.liferay.portal.kernel.exception.SystemException;
1978    
1979            /**
1980            * Returns the primary key of the user with the email address.
1981            *
1982            * @param companyId the primary key of the user's company
1983            * @param emailAddress the user's email address
1984            * @return the primary key of the user with the email address
1985            * @throws PortalException if a user with the email address could not be
1986            found
1987            * @throws SystemException if a system exception occurred
1988            */
1989            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1990            public long getUserIdByEmailAddress(long companyId,
1991                    java.lang.String emailAddress)
1992                    throws com.liferay.portal.kernel.exception.PortalException,
1993                            com.liferay.portal.kernel.exception.SystemException;
1994    
1995            /**
1996            * Returns the primary key of the user with the screen name.
1997            *
1998            * @param companyId the primary key of the user's company
1999            * @param screenName the user's screen name
2000            * @return the primary key of the user with the screen name
2001            * @throws PortalException if a user with the screen name could not be found
2002            * @throws SystemException if a system exception occurred
2003            */
2004            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2005            public long getUserIdByScreenName(long companyId,
2006                    java.lang.String screenName)
2007                    throws com.liferay.portal.kernel.exception.PortalException,
2008                            com.liferay.portal.kernel.exception.SystemException;
2009    
2010            /**
2011            * Returns <code>true</code> if the password policy has been assigned to the
2012            * user.
2013            *
2014            * @param passwordPolicyId the primary key of the password policy
2015            * @param userId the primary key of the user
2016            * @return <code>true</code> if the password policy is assigned to the user;
2017            <code>false</code> otherwise
2018            * @throws SystemException if a system exception occurred
2019            */
2020            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2021            public boolean hasPasswordPolicyUser(long passwordPolicyId, long userId)
2022                    throws com.liferay.portal.kernel.exception.SystemException;
2023    
2024            /**
2025            * Returns <code>true</code> if the user has the role with the name,
2026            * optionally through inheritance.
2027            *
2028            * @param companyId the primary key of the role's company
2029            * @param name the name of the role (must be a regular role, not an
2030            organization, site or provider role)
2031            * @param userId the primary key of the user
2032            * @param inherited whether to include roles inherited from organizations,
2033            sites, etc.
2034            * @return <code>true</code> if the user has the role; <code>false</code>
2035            otherwise
2036            * @throws PortalException if a role with the name could not be found
2037            * @throws SystemException if a system exception occurred
2038            */
2039            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2040            public boolean hasRoleUser(long companyId, java.lang.String name,
2041                    long userId, boolean inherited)
2042                    throws com.liferay.portal.kernel.exception.PortalException,
2043                            com.liferay.portal.kernel.exception.SystemException;
2044    
2045            /**
2046            * Returns <code>true</code> if the user's password is expired.
2047            *
2048            * @param user the user
2049            * @return <code>true</code> if the user's password is expired;
2050            <code>false</code> otherwise
2051            * @throws PortalException if the password policy for the user could not be
2052            found
2053            * @throws SystemException if a system exception occurred
2054            */
2055            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2056            public boolean isPasswordExpired(com.liferay.portal.model.User user)
2057                    throws com.liferay.portal.kernel.exception.PortalException,
2058                            com.liferay.portal.kernel.exception.SystemException;
2059    
2060            /**
2061            * Returns <code>true</code> if the user's password is expiring soon.
2062            *
2063            * @param user the user
2064            * @return <code>true</code> if the user's password is expiring soon;
2065            <code>false</code> otherwise
2066            * @throws PortalException if the password policy for the user could not be
2067            found
2068            * @throws SystemException if a system exception occurred
2069            */
2070            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2071            public boolean isPasswordExpiringSoon(com.liferay.portal.model.User user)
2072                    throws com.liferay.portal.kernel.exception.PortalException,
2073                            com.liferay.portal.kernel.exception.SystemException;
2074    
2075            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2076            public com.liferay.portal.model.User loadGetDefaultUser(long companyId)
2077                    throws com.liferay.portal.kernel.exception.PortalException,
2078                            com.liferay.portal.kernel.exception.SystemException;
2079    
2080            /**
2081            * Returns an ordered range of all the users who match the keywords and
2082            * status, without using the indexer. It is preferable to use the indexed
2083            * version {@link #search(long, String, int, LinkedHashMap, int, int, Sort)}
2084            * instead of this method wherever possible for performance reasons.
2085            *
2086            * <p>
2087            * Useful when paginating results. Returns a maximum of <code>end -
2088            * start</code> instances. <code>start</code> and <code>end</code> are not
2089            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2090            * refers to the first result in the set. Setting both <code>start</code>
2091            * and <code>end</code> to {@link
2092            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
2093            * result set.
2094            * </p>
2095            *
2096            * @param companyId the primary key of the user's company
2097            * @param keywords the keywords (space separated), which may occur in the
2098            user's first name, middle name, last name, screen name, or email
2099            address
2100            * @param status the workflow status
2101            * @param params the finder parameters (optionally <code>null</code>). For
2102            more information see {@link
2103            com.liferay.portal.service.persistence.UserFinder}.
2104            * @param start the lower bound of the range of users
2105            * @param end the upper bound of the range of users (not inclusive)
2106            * @param obc the comparator to order the users by (optionally
2107            <code>null</code>)
2108            * @return the matching users
2109            * @throws SystemException if a system exception occurred
2110            * @see com.liferay.portal.service.persistence.UserFinder
2111            */
2112            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2113            public java.util.List<com.liferay.portal.model.User> search(
2114                    long companyId, java.lang.String keywords, int status,
2115                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2116                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
2117                    throws com.liferay.portal.kernel.exception.SystemException;
2118    
2119            /**
2120            * Returns an ordered range of all the users who match the keywords and
2121            * status, using the indexer. It is preferable to use this method instead of
2122            * the non-indexed version whenever possible for performance reasons.
2123            *
2124            * <p>
2125            * Useful when paginating results. Returns a maximum of <code>end -
2126            * start</code> instances. <code>start</code> and <code>end</code> are not
2127            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2128            * refers to the first result in the set. Setting both <code>start</code>
2129            * and <code>end</code> to {@link
2130            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
2131            * result set.
2132            * </p>
2133            *
2134            * @param companyId the primary key of the user's company
2135            * @param keywords the keywords (space separated), which may occur in the
2136            user's first name, middle name, last name, screen name, or email
2137            address
2138            * @param status the workflow status
2139            * @param params the indexer parameters (optionally <code>null</code>). For
2140            more information see {@link
2141            com.liferay.portlet.usersadmin.util.UserIndexer}.
2142            * @param start the lower bound of the range of users
2143            * @param end the upper bound of the range of users (not inclusive)
2144            * @param sort the field and direction to sort by (optionally
2145            <code>null</code>)
2146            * @return the matching users
2147            * @throws SystemException if a system exception occurred
2148            * @see com.liferay.portlet.usersadmin.util.UserIndexer
2149            */
2150            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2151            public com.liferay.portal.kernel.search.Hits search(long companyId,
2152                    java.lang.String keywords, int status,
2153                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2154                    int start, int end, com.liferay.portal.kernel.search.Sort sort)
2155                    throws com.liferay.portal.kernel.exception.SystemException;
2156    
2157            /**
2158            * Returns an ordered range of all the users with the status, and whose
2159            * first name, middle name, last name, screen name, and email address match
2160            * the keywords specified for them, without using the indexer. It is
2161            * preferable to use the indexed version {@link #search(long, String,
2162            * String, String, String, String, int, LinkedHashMap, boolean, int, int,
2163            * Sort)} instead of this method wherever possible for performance reasons.
2164            *
2165            * <p>
2166            * Useful when paginating results. Returns a maximum of <code>end -
2167            * start</code> instances. <code>start</code> and <code>end</code> are not
2168            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2169            * refers to the first result in the set. Setting both <code>start</code>
2170            * and <code>end</code> to {@link
2171            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
2172            * result set.
2173            * </p>
2174            *
2175            * @param companyId the primary key of the user's company
2176            * @param firstName the first name keywords (space separated)
2177            * @param middleName the middle name keywords
2178            * @param lastName the last name keywords
2179            * @param screenName the screen name keywords
2180            * @param emailAddress the email address keywords
2181            * @param status the workflow status
2182            * @param params the finder parameters (optionally <code>null</code>). For
2183            more information see {@link
2184            com.liferay.portal.service.persistence.UserFinder}.
2185            * @param andSearch whether every field must match its keywords, or just
2186            one field. For example, &quot;users with the first name 'bob' and
2187            last name 'smith'&quot; vs &quot;users with the first name 'bob'
2188            or the last name 'smith'&quot;.
2189            * @param start the lower bound of the range of users
2190            * @param end the upper bound of the range of users (not inclusive)
2191            * @param obc the comparator to order the users by (optionally
2192            <code>null</code>)
2193            * @return the matching users
2194            * @throws SystemException if a system exception occurred
2195            * @see com.liferay.portal.service.persistence.UserFinder
2196            */
2197            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2198            public java.util.List<com.liferay.portal.model.User> search(
2199                    long companyId, java.lang.String firstName,
2200                    java.lang.String middleName, java.lang.String lastName,
2201                    java.lang.String screenName, java.lang.String emailAddress, int status,
2202                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2203                    boolean andSearch, int start, int end,
2204                    com.liferay.portal.kernel.util.OrderByComparator obc)
2205                    throws com.liferay.portal.kernel.exception.SystemException;
2206    
2207            /**
2208            * Returns an ordered range of all the users with the status, and whose
2209            * first name, middle name, last name, screen name, and email address match
2210            * the keywords specified for them, using the indexer. It is preferable to
2211            * use this method instead of the non-indexed version whenever possible for
2212            * performance reasons.
2213            *
2214            * <p>
2215            * Useful when paginating results. Returns a maximum of <code>end -
2216            * start</code> instances. <code>start</code> and <code>end</code> are not
2217            * primary keys, they are indexes in the result set. Thus, <code>0</code>
2218            * refers to the first result in the set. Setting both <code>start</code>
2219            * and <code>end</code> to {@link
2220            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
2221            * result set.
2222            * </p>
2223            *
2224            * @param companyId the primary key of the user's company
2225            * @param firstName the first name keywords (space separated)
2226            * @param middleName the middle name keywords
2227            * @param lastName the last name keywords
2228            * @param screenName the screen name keywords
2229            * @param emailAddress the email address keywords
2230            * @param status the workflow status
2231            * @param params the indexer parameters (optionally <code>null</code>). For
2232            more information see {@link
2233            com.liferay.portlet.usersadmin.util.UserIndexer}.
2234            * @param andSearch whether every field must match its keywords, or just
2235            one field. For example, &quot;users with the first name 'bob' and
2236            last name 'smith'&quot; vs &quot;users with the first name 'bob'
2237            or the last name 'smith'&quot;.
2238            * @param start the lower bound of the range of users
2239            * @param end the upper bound of the range of users (not inclusive)
2240            * @param sort the field and direction to sort by (optionally
2241            <code>null</code>)
2242            * @return the matching users
2243            * @throws SystemException if a system exception occurred
2244            * @see com.liferay.portlet.usersadmin.util.UserIndexer
2245            */
2246            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2247            public com.liferay.portal.kernel.search.Hits search(long companyId,
2248                    java.lang.String firstName, java.lang.String middleName,
2249                    java.lang.String lastName, java.lang.String screenName,
2250                    java.lang.String emailAddress, int status,
2251                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2252                    boolean andSearch, int start, int end,
2253                    com.liferay.portal.kernel.search.Sort sort)
2254                    throws com.liferay.portal.kernel.exception.SystemException;
2255    
2256            /**
2257            * Returns the number of users who match the keywords and status.
2258            *
2259            * @param companyId the primary key of the user's company
2260            * @param keywords the keywords (space separated), which may occur in the
2261            user's first name, middle name, last name, screen name, or email
2262            address
2263            * @param status the workflow status
2264            * @param params the finder parameters (optionally <code>null</code>). For
2265            more information see {@link
2266            com.liferay.portal.service.persistence.UserFinder}.
2267            * @return the number matching users
2268            * @throws SystemException if a system exception occurred
2269            */
2270            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2271            public int searchCount(long companyId, java.lang.String keywords,
2272                    int status,
2273                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params)
2274                    throws com.liferay.portal.kernel.exception.SystemException;
2275    
2276            /**
2277            * Returns the number of users with the status, and whose first name, middle
2278            * name, last name, screen name, and email address match the keywords
2279            * specified for them.
2280            *
2281            * @param companyId the primary key of the user's company
2282            * @param firstName the first name keywords (space separated)
2283            * @param middleName the middle name keywords
2284            * @param lastName the last name keywords
2285            * @param screenName the screen name keywords
2286            * @param emailAddress the email address keywords
2287            * @param status the workflow status
2288            * @param params the finder parameters (optionally <code>null</code>). For
2289            more information see {@link
2290            com.liferay.portal.service.persistence.UserFinder}.
2291            * @param andSearch whether every field must match its keywords, or just
2292            one field. For example, &quot;users with the first name 'bob' and
2293            last name 'smith'&quot; vs &quot;users with the first name 'bob'
2294            or the last name 'smith'&quot;.
2295            * @return the number of matching users
2296            * @throws SystemException if a system exception occurred
2297            */
2298            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
2299            public int searchCount(long companyId, java.lang.String firstName,
2300                    java.lang.String middleName, java.lang.String lastName,
2301                    java.lang.String screenName, java.lang.String emailAddress, int status,
2302                    java.util.LinkedHashMap<java.lang.String, java.lang.Object> params,
2303                    boolean andSearch)
2304                    throws com.liferay.portal.kernel.exception.SystemException;
2305    
2306            /**
2307            * Sends an email address verification to the user.
2308            *
2309            * @param user the verification email recipient
2310            * @param emailAddress the recipient's email address
2311            * @param serviceContext the service context. Must set the portal URL, main
2312            path, primary key of the layout, remote address, remote host, and
2313            agent for the user.
2314            * @throws PortalException if a portal exception occurred
2315            * @throws SystemException if a system exception occurred
2316            */
2317            public void sendEmailAddressVerification(
2318                    com.liferay.portal.model.User user, java.lang.String emailAddress,
2319                    com.liferay.portal.service.ServiceContext serviceContext)
2320                    throws com.liferay.portal.kernel.exception.PortalException,
2321                            com.liferay.portal.kernel.exception.SystemException;
2322    
2323            /**
2324            * Sends the password email to the user with the email address. The content
2325            * of this email can be specified in <code>portal.properties</code> with the
2326            * <code>admin.email.password</code> keys.
2327            *
2328            * @param companyId the primary key of the user's company
2329            * @param emailAddress the user's email address
2330            * @param fromName the name of the individual that the email should be from
2331            * @param fromAddress the address of the individual that the email should
2332            be from
2333            * @param subject the email subject. If <code>null</code>, the subject
2334            specified in <code>portal.properties</code> will be used.
2335            * @param body the email body. If <code>null</code>, the body specified in
2336            <code>portal.properties</code> will be used.
2337            * @param serviceContext the user's service context
2338            * @throws PortalException if a user with the email address could not be
2339            found
2340            * @throws SystemException if a system exception occurred
2341            */
2342            public void sendPassword(long companyId, java.lang.String emailAddress,
2343                    java.lang.String fromName, java.lang.String fromAddress,
2344                    java.lang.String subject, java.lang.String body,
2345                    com.liferay.portal.service.ServiceContext serviceContext)
2346                    throws com.liferay.portal.kernel.exception.PortalException,
2347                            com.liferay.portal.kernel.exception.SystemException;
2348    
2349            /**
2350            * Removes the users from the teams of a group.
2351            *
2352            * @param groupId the primary key of the group
2353            * @param userIds the primary keys of the users
2354            * @throws PortalException if a portal exception occurred
2355            * @throws SystemException if a system exception occurred
2356            */
2357            public void unsetGroupTeamsUsers(long groupId, long[] userIds)
2358                    throws com.liferay.portal.kernel.exception.PortalException,
2359                            com.liferay.portal.kernel.exception.SystemException;
2360    
2361            /**
2362            * Removes the users from the group.
2363            *
2364            * @param groupId the primary key of the group
2365            * @param userIds the primary keys of the users
2366            * @param serviceContext the service context to be applied (optionally
2367            <code>null</code>)
2368            * @throws PortalException if a portal exception occurred
2369            * @throws SystemException if a system exception occurred
2370            */
2371            public void unsetGroupUsers(long groupId, long[] userIds,
2372                    com.liferay.portal.service.ServiceContext serviceContext)
2373                    throws com.liferay.portal.kernel.exception.PortalException,
2374                            com.liferay.portal.kernel.exception.SystemException;
2375    
2376            /**
2377            * Removes the users from the organization.
2378            *
2379            * @param organizationId the primary key of the organization
2380            * @param userIds the primary keys of the users
2381            * @throws PortalException if a portal exception occurred
2382            * @throws SystemException if a system exception occurred
2383            */
2384            public void unsetOrganizationUsers(long organizationId, long[] userIds)
2385                    throws com.liferay.portal.kernel.exception.PortalException,
2386                            com.liferay.portal.kernel.exception.SystemException;
2387    
2388            /**
2389            * Removes the users from the password policy.
2390            *
2391            * @param passwordPolicyId the primary key of the password policy
2392            * @param userIds the primary keys of the users
2393            * @throws SystemException if a system exception occurred
2394            */
2395            public void unsetPasswordPolicyUsers(long passwordPolicyId, long[] userIds)
2396                    throws com.liferay.portal.kernel.exception.SystemException;
2397    
2398            /**
2399            * Removes the users from the role.
2400            *
2401            * @param roleId the primary key of the role
2402            * @param users the users
2403            * @throws PortalException if a portal exception occurred
2404            * @throws SystemException if a system exception occurred
2405            */
2406            public void unsetRoleUsers(long roleId,
2407                    java.util.List<com.liferay.portal.model.User> users)
2408                    throws com.liferay.portal.kernel.exception.PortalException,
2409                            com.liferay.portal.kernel.exception.SystemException;
2410    
2411            /**
2412            * Removes the users from the role.
2413            *
2414            * @param roleId the primary key of the role
2415            * @param userIds the primary keys of the users
2416            * @throws PortalException if a portal exception occurred
2417            * @throws SystemException if a system exception occurred
2418            */
2419            public void unsetRoleUsers(long roleId, long[] userIds)
2420                    throws com.liferay.portal.kernel.exception.PortalException,
2421                            com.liferay.portal.kernel.exception.SystemException;
2422    
2423            /**
2424            * Removes the users from the team.
2425            *
2426            * @param teamId the primary key of the team
2427            * @param userIds the primary keys of the users
2428            * @throws PortalException if a portal exception occurred
2429            * @throws SystemException if a system exception occurred
2430            */
2431            public void unsetTeamUsers(long teamId, long[] userIds)
2432                    throws com.liferay.portal.kernel.exception.PortalException,
2433                            com.liferay.portal.kernel.exception.SystemException;
2434    
2435            /**
2436            * Removes the users from the user group.
2437            *
2438            * @param userGroupId the primary key of the user group
2439            * @param userIds the primary keys of the users
2440            * @throws PortalException if a portal exception occurred
2441            * @throws SystemException if a system exception occurred
2442            */
2443            public void unsetUserGroupUsers(long userGroupId, long[] userIds)
2444                    throws com.liferay.portal.kernel.exception.PortalException,
2445                            com.liferay.portal.kernel.exception.SystemException;
2446    
2447            /**
2448            * Updates whether the user has agreed to the terms of use.
2449            *
2450            * @param userId the primary key of the user
2451            * @param agreedToTermsOfUse whether the user has agreet to the terms of
2452            use
2453            * @return the user
2454            * @throws PortalException if a user with the primary key could not be found
2455            * @throws SystemException if a system exception occurred
2456            */
2457            public com.liferay.portal.model.User updateAgreedToTermsOfUse(long userId,
2458                    boolean agreedToTermsOfUse)
2459                    throws com.liferay.portal.kernel.exception.PortalException,
2460                            com.liferay.portal.kernel.exception.SystemException;
2461    
2462            /**
2463            * Updates the user's asset with the new asset categories and tag names,
2464            * removing and adding asset categories and tag names as necessary.
2465            *
2466            * @param userId the primary key of the user
2467            * @param user ID the primary key of the user
2468            * @param assetCategoryIds the primary key's of the new asset categories
2469            * @param assetTagNames the new asset tag names
2470            * @throws PortalException if a user with the primary key could not be found
2471            * @throws SystemException if a system exception occurred
2472            */
2473            public void updateAsset(long userId, com.liferay.portal.model.User user,
2474                    long[] assetCategoryIds, java.lang.String[] assetTagNames)
2475                    throws com.liferay.portal.kernel.exception.PortalException,
2476                            com.liferay.portal.kernel.exception.SystemException;
2477    
2478            /**
2479            * Updates the user's creation date.
2480            *
2481            * @param userId the primary key of the user
2482            * @param createDate the new creation date
2483            * @return the user
2484            * @throws PortalException if a user with the primary key could not be found
2485            * @throws SystemException if a system exception occurred
2486            */
2487            public com.liferay.portal.model.User updateCreateDate(long userId,
2488                    java.util.Date createDate)
2489                    throws com.liferay.portal.kernel.exception.PortalException,
2490                            com.liferay.portal.kernel.exception.SystemException;
2491    
2492            /**
2493            * Updates the user's email address.
2494            *
2495            * @param userId the primary key of the user
2496            * @param password the user's password
2497            * @param emailAddress1 the user's new email address
2498            * @param emailAddress2 the user's new email address confirmation
2499            * @return the user
2500            * @throws PortalException if a user with the primary key could not be found
2501            * @throws SystemException if a system exception occurred
2502            */
2503            public com.liferay.portal.model.User updateEmailAddress(long userId,
2504                    java.lang.String password, java.lang.String emailAddress1,
2505                    java.lang.String emailAddress2)
2506                    throws com.liferay.portal.kernel.exception.PortalException,
2507                            com.liferay.portal.kernel.exception.SystemException;
2508    
2509            /**
2510            * Updates the user's email address or sends verification email.
2511            *
2512            * @param userId the primary key of the user
2513            * @param password the user's password
2514            * @param emailAddress1 the user's new email address
2515            * @param emailAddress2 the user's new email address confirmation
2516            * @param serviceContext the service context to be applied. Must set the
2517            portal URL, main path, primary key of the layout, remote address,
2518            remote host, and agent for the user.
2519            * @return the user
2520            * @throws PortalException if a user with the primary key could not be found
2521            * @throws SystemException if a system exception occurred
2522            */
2523            public com.liferay.portal.model.User updateEmailAddress(long userId,
2524                    java.lang.String password, java.lang.String emailAddress1,
2525                    java.lang.String emailAddress2,
2526                    com.liferay.portal.service.ServiceContext serviceContext)
2527                    throws com.liferay.portal.kernel.exception.PortalException,
2528                            com.liferay.portal.kernel.exception.SystemException;
2529    
2530            /**
2531            * Updates whether the user has verified email address.
2532            *
2533            * @param userId the primary key of the user
2534            * @param emailAddressVerified whether the user has verified email address
2535            * @return the user
2536            * @throws PortalException if a user with the primary key could not be found
2537            * @throws SystemException if a system exception occurred
2538            */
2539            public com.liferay.portal.model.User updateEmailAddressVerified(
2540                    long userId, boolean emailAddressVerified)
2541                    throws com.liferay.portal.kernel.exception.PortalException,
2542                            com.liferay.portal.kernel.exception.SystemException;
2543    
2544            /**
2545            * Updates the user's Facebook ID.
2546            *
2547            * @param userId the primary key of the user
2548            * @param facebookId the user's new Facebook ID
2549            * @return the user
2550            * @throws PortalException if a user with the primary key could not be found
2551            * @throws SystemException if a system exception occurred
2552            */
2553            public com.liferay.portal.model.User updateFacebookId(long userId,
2554                    long facebookId)
2555                    throws com.liferay.portal.kernel.exception.PortalException,
2556                            com.liferay.portal.kernel.exception.SystemException;
2557    
2558            /**
2559            * Sets the groups the user is in, removing and adding groups as necessary.
2560            *
2561            * @param userId the primary key of the user
2562            * @param newGroupIds the primary keys of the groups
2563            * @param serviceContext the service context to be applied (optionally
2564            <code>null</code>)
2565            * @throws PortalException if a portal exception occurred
2566            * @throws SystemException if a system exception occurred
2567            */
2568            public void updateGroups(long userId, long[] newGroupIds,
2569                    com.liferay.portal.service.ServiceContext serviceContext)
2570                    throws com.liferay.portal.kernel.exception.PortalException,
2571                            com.liferay.portal.kernel.exception.SystemException;
2572    
2573            /**
2574            * Updates a user account that was automatically created when a guest user
2575            * participated in an action (e.g. posting a comment) and only provided his
2576            * name and email address.
2577            *
2578            * @param creatorUserId the primary key of the creator
2579            * @param companyId the primary key of the user's company
2580            * @param autoPassword whether a password should be automatically generated
2581            for the user
2582            * @param password1 the user's password
2583            * @param password2 the user's password confirmation
2584            * @param autoScreenName whether a screen name should be automatically
2585            generated for the user
2586            * @param screenName the user's screen name
2587            * @param emailAddress the user's email address
2588            * @param facebookId the user's facebook ID
2589            * @param openId the user's OpenID
2590            * @param locale the user's locale
2591            * @param firstName the user's first name
2592            * @param middleName the user's middle name
2593            * @param lastName the user's last name
2594            * @param prefixId the user's name prefix ID
2595            * @param suffixId the user's name suffix ID
2596            * @param male whether the user is male
2597            * @param birthdayMonth the user's birthday month (0-based, meaning 0 for
2598            January)
2599            * @param birthdayDay the user's birthday day
2600            * @param birthdayYear the user's birthday year
2601            * @param jobTitle the user's job title
2602            * @param updateUserInformation whether to update the user's information
2603            * @param sendEmail whether to send the user an email notification about
2604            their new account
2605            * @param serviceContext the user's service context (optionally
2606            <code>null</code>). Can set expando bridge attributes for the
2607            user.
2608            * @return the user
2609            * @throws PortalException if the user's information was invalid
2610            * @throws SystemException if a system exception occurred
2611            */
2612            public com.liferay.portal.model.User updateIncompleteUser(
2613                    long creatorUserId, long companyId, boolean autoPassword,
2614                    java.lang.String password1, java.lang.String password2,
2615                    boolean autoScreenName, java.lang.String screenName,
2616                    java.lang.String emailAddress, long facebookId,
2617                    java.lang.String openId, java.util.Locale locale,
2618                    java.lang.String firstName, java.lang.String middleName,
2619                    java.lang.String lastName, int prefixId, int suffixId, boolean male,
2620                    int birthdayMonth, int birthdayDay, int birthdayYear,
2621                    java.lang.String jobTitle, boolean updateUserInformation,
2622                    boolean sendEmail,
2623                    com.liferay.portal.service.ServiceContext serviceContext)
2624                    throws com.liferay.portal.kernel.exception.PortalException,
2625                            com.liferay.portal.kernel.exception.SystemException;
2626    
2627            /**
2628            * Updates the user's job title.
2629            *
2630            * @param userId the primary key of the user
2631            * @param jobTitle the user's job title
2632            * @return the user
2633            * @throws PortalException if a user with the primary key could not be found
2634            or if a contact could not be found matching the user's contact ID
2635            * @throws SystemException if a system exception occurred
2636            */
2637            public com.liferay.portal.model.User updateJobTitle(long userId,
2638                    java.lang.String jobTitle)
2639                    throws com.liferay.portal.kernel.exception.PortalException,
2640                            com.liferay.portal.kernel.exception.SystemException;
2641    
2642            /**
2643            * Updates the user's last login with the current time and the IP address.
2644            *
2645            * @param userId the primary key of the user
2646            * @param loginIP the IP address the user logged in from
2647            * @return the user
2648            * @throws PortalException if a user with the primary key could not be found
2649            * @throws SystemException if a system exception occurred
2650            */
2651            public com.liferay.portal.model.User updateLastLogin(long userId,
2652                    java.lang.String loginIP)
2653                    throws com.liferay.portal.kernel.exception.PortalException,
2654                            com.liferay.portal.kernel.exception.SystemException;
2655    
2656            /**
2657            * Updates whether the user is locked out from logging in.
2658            *
2659            * @param user the user
2660            * @param lockout whether the user is locked out
2661            * @return the user
2662            * @throws PortalException if a portal exception occurred
2663            * @throws SystemException if a system exception occurred
2664            */
2665            public com.liferay.portal.model.User updateLockout(
2666                    com.liferay.portal.model.User user, boolean lockout)
2667                    throws com.liferay.portal.kernel.exception.PortalException,
2668                            com.liferay.portal.kernel.exception.SystemException;
2669    
2670            /**
2671            * Updates whether the user is locked out from logging in.
2672            *
2673            * @param companyId the primary key of the user's company
2674            * @param emailAddress the user's email address
2675            * @param lockout whether the user is locked out
2676            * @return the user
2677            * @throws PortalException if a user with the email address could not be
2678            found
2679            * @throws SystemException if a system exception occurred
2680            */
2681            public com.liferay.portal.model.User updateLockoutByEmailAddress(
2682                    long companyId, java.lang.String emailAddress, boolean lockout)
2683                    throws com.liferay.portal.kernel.exception.PortalException,
2684                            com.liferay.portal.kernel.exception.SystemException;
2685    
2686            /**
2687            * Updates whether the user is locked out from logging in.
2688            *
2689            * @param userId the primary key of the user
2690            * @param lockout whether the user is locked out
2691            * @return the user
2692            * @throws PortalException if a user with the primary key could not be found
2693            * @throws SystemException if a system exception occurred
2694            */
2695            public com.liferay.portal.model.User updateLockoutById(long userId,
2696                    boolean lockout)
2697                    throws com.liferay.portal.kernel.exception.PortalException,
2698                            com.liferay.portal.kernel.exception.SystemException;
2699    
2700            /**
2701            * Updates whether the user is locked out from logging in.
2702            *
2703            * @param companyId the primary key of the user's company
2704            * @param screenName the user's screen name
2705            * @param lockout whether the user is locked out
2706            * @return the user
2707            * @throws PortalException if a user with the screen name could not be found
2708            * @throws SystemException if a system exception occurred
2709            */
2710            public com.liferay.portal.model.User updateLockoutByScreenName(
2711                    long companyId, java.lang.String screenName, boolean lockout)
2712                    throws com.liferay.portal.kernel.exception.PortalException,
2713                            com.liferay.portal.kernel.exception.SystemException;
2714    
2715            /**
2716            * Updates the user's modified date.
2717            *
2718            * @param userId the primary key of the user
2719            * @param modifiedDate the new modified date
2720            * @return the user
2721            * @throws PortalException if a user with the primary key could not be found
2722            * @throws SystemException if a system exception occurred
2723            */
2724            public com.liferay.portal.model.User updateModifiedDate(long userId,
2725                    java.util.Date modifiedDate)
2726                    throws com.liferay.portal.kernel.exception.PortalException,
2727                            com.liferay.portal.kernel.exception.SystemException;
2728    
2729            /**
2730            * Updates the user's OpenID.
2731            *
2732            * @param userId the primary key of the user
2733            * @param openId the new OpenID
2734            * @return the user
2735            * @throws PortalException if a user with the primary key could not be found
2736            * @throws SystemException if a system exception occurred
2737            */
2738            public com.liferay.portal.model.User updateOpenId(long userId,
2739                    java.lang.String openId)
2740                    throws com.liferay.portal.kernel.exception.PortalException,
2741                            com.liferay.portal.kernel.exception.SystemException;
2742    
2743            /**
2744            * Sets the organizations that the user is in, removing and adding
2745            * organizations as necessary.
2746            *
2747            * @param userId the primary key of the user
2748            * @param newOrganizationIds the primary keys of the organizations
2749            * @param serviceContext the service context to be applied. Must set
2750            whether user indexing is enabled.
2751            * @throws PortalException if a user with the primary key could not be found
2752            * @throws SystemException if a system exception occurred
2753            */
2754            public void updateOrganizations(long userId, long[] newOrganizationIds,
2755                    com.liferay.portal.service.ServiceContext serviceContext)
2756                    throws com.liferay.portal.kernel.exception.PortalException,
2757                            com.liferay.portal.kernel.exception.SystemException;
2758    
2759            /**
2760            * Updates the user's password without tracking or validation of the change.
2761            *
2762            * @param userId the primary key of the user
2763            * @param password1 the user's new password
2764            * @param password2 the user's new password confirmation
2765            * @param passwordReset whether the user should be asked to reset their
2766            password the next time they log in
2767            * @return the user
2768            * @throws PortalException if a user with the primary key could not be found
2769            * @throws SystemException if a system exception occurred
2770            */
2771            public com.liferay.portal.model.User updatePassword(long userId,
2772                    java.lang.String password1, java.lang.String password2,
2773                    boolean passwordReset)
2774                    throws com.liferay.portal.kernel.exception.PortalException,
2775                            com.liferay.portal.kernel.exception.SystemException;
2776    
2777            /**
2778            * Updates the user's password, optionally with tracking and validation of
2779            * the change.
2780            *
2781            * @param userId the primary key of the user
2782            * @param password1 the user's new password
2783            * @param password2 the user's new password confirmation
2784            * @param passwordReset whether the user should be asked to reset their
2785            password the next time they login
2786            * @param silentUpdate whether the password should be updated without being
2787            tracked, or validated. Primarily used for password imports.
2788            * @return the user
2789            * @throws PortalException if a user with the primary key could not be found
2790            * @throws SystemException if a system exception occurred
2791            */
2792            public com.liferay.portal.model.User updatePassword(long userId,
2793                    java.lang.String password1, java.lang.String password2,
2794                    boolean passwordReset, boolean silentUpdate)
2795                    throws com.liferay.portal.kernel.exception.PortalException,
2796                            com.liferay.portal.kernel.exception.SystemException;
2797    
2798            /**
2799            * Updates the user's password with manually input information. This method
2800            * should only be used when performing maintenance.
2801            *
2802            * @param userId the primary key of the user
2803            * @param password the user's new password
2804            * @param passwordEncrypted the user's new encrypted password
2805            * @param passwordReset whether the user should be asked to reset their
2806            password the next time they login
2807            * @param passwordModifiedDate the new password modified date
2808            * @return the user
2809            * @throws PortalException if a user with the primary key could not be found
2810            * @throws SystemException if a system exception occurred
2811            */
2812            public com.liferay.portal.model.User updatePasswordManually(long userId,
2813                    java.lang.String password, boolean passwordEncrypted,
2814                    boolean passwordReset, java.util.Date passwordModifiedDate)
2815                    throws com.liferay.portal.kernel.exception.PortalException,
2816                            com.liferay.portal.kernel.exception.SystemException;
2817    
2818            /**
2819            * Updates whether the user should be asked to reset their password the next
2820            * time they login.
2821            *
2822            * @param userId the primary key of the user
2823            * @param passwordReset whether the user should be asked to reset their
2824            password the next time they login
2825            * @return the user
2826            * @throws PortalException if a user with the primary key could not be found
2827            * @throws SystemException if a system exception occurred
2828            */
2829            public com.liferay.portal.model.User updatePasswordReset(long userId,
2830                    boolean passwordReset)
2831                    throws com.liferay.portal.kernel.exception.PortalException,
2832                            com.liferay.portal.kernel.exception.SystemException;
2833    
2834            /**
2835            * Updates the user's portrait image.
2836            *
2837            * @param userId the primary key of the user
2838            * @param bytes the new portrait image data
2839            * @return the user
2840            * @throws PortalException if a user with the primary key could not be found
2841            or if the new portrait was invalid
2842            * @throws SystemException if a system exception occurred
2843            */
2844            public com.liferay.portal.model.User updatePortrait(long userId,
2845                    byte[] bytes)
2846                    throws com.liferay.portal.kernel.exception.PortalException,
2847                            com.liferay.portal.kernel.exception.SystemException;
2848    
2849            /**
2850            * Updates the user's password reset question and answer.
2851            *
2852            * @param userId the primary key of the user
2853            * @param question the user's new password reset question
2854            * @param answer the user's new password reset answer
2855            * @return the user
2856            * @throws PortalException if a user with the primary key could not be found
2857            or if the new question or answer were invalid
2858            * @throws SystemException if a system exception occurred
2859            */
2860            public com.liferay.portal.model.User updateReminderQuery(long userId,
2861                    java.lang.String question, java.lang.String answer)
2862                    throws com.liferay.portal.kernel.exception.PortalException,
2863                            com.liferay.portal.kernel.exception.SystemException;
2864    
2865            /**
2866            * Updates the user's screen name.
2867            *
2868            * @param userId the primary key of the user
2869            * @param screenName the user's new screen name
2870            * @return the user
2871            * @throws PortalException if a user with the primary key could not be found
2872            or if the new screen name was invalid
2873            * @throws SystemException if a system exception occurred
2874            */
2875            public com.liferay.portal.model.User updateScreenName(long userId,
2876                    java.lang.String screenName)
2877                    throws com.liferay.portal.kernel.exception.PortalException,
2878                            com.liferay.portal.kernel.exception.SystemException;
2879    
2880            /**
2881            * Updates the user's workflow status.
2882            *
2883            * @param userId the primary key of the user
2884            * @param status the user's new workflow status
2885            * @return the user
2886            * @throws PortalException if a user with the primary key could not be found
2887            * @throws SystemException if a system exception occurred
2888            */
2889            public com.liferay.portal.model.User updateStatus(long userId, int status)
2890                    throws com.liferay.portal.kernel.exception.PortalException,
2891                            com.liferay.portal.kernel.exception.SystemException;
2892    
2893            /**
2894            * Updates the user.
2895            *
2896            * @param userId the primary key of the user
2897            * @param oldPassword the user's old password
2898            * @param newPassword1 the user's new password (optionally
2899            <code>null</code>)
2900            * @param newPassword2 the user's new password confirmation (optionally
2901            <code>null</code>)
2902            * @param passwordReset whether the user should be asked to reset their
2903            password the next time they login
2904            * @param reminderQueryQuestion the user's new password reset question
2905            * @param reminderQueryAnswer the user's new password reset answer
2906            * @param screenName the user's new screen name
2907            * @param emailAddress the user's new email address
2908            * @param facebookId the user's new Facebook ID
2909            * @param openId the user's new OpenID
2910            * @param languageId the user's new language ID
2911            * @param timeZoneId the user's new time zone ID
2912            * @param greeting the user's new greeting
2913            * @param comments the user's new comments
2914            * @param firstName the user's new first name
2915            * @param middleName the user's new middle name
2916            * @param lastName the user's new last name
2917            * @param prefixId the user's new name prefix ID
2918            * @param suffixId the user's new name suffix ID
2919            * @param male whether user is male
2920            * @param birthdayMonth the user's new birthday month (0-based, meaning 0
2921            for January)
2922            * @param birthdayDay the user's new birthday day
2923            * @param birthdayYear the user's birthday year
2924            * @param smsSn the user's new SMS screen name
2925            * @param aimSn the user's new AIM screen name
2926            * @param facebookSn the user's new Facebook screen name
2927            * @param icqSn the user's new ICQ screen name
2928            * @param jabberSn the user's new Jabber screen name
2929            * @param msnSn the user's new MSN screen name
2930            * @param mySpaceSn the user's new MySpace screen name
2931            * @param skypeSn the user's new Skype screen name
2932            * @param twitterSn the user's new Twitter screen name
2933            * @param ymSn the user's new Yahoo! Messenger screen name
2934            * @param jobTitle the user's new job title
2935            * @param groupIds the primary keys of the user's groups
2936            * @param organizationIds the primary keys of the user's organizations
2937            * @param roleIds the primary keys of the user's roles
2938            * @param userGroupRoles the user user's group roles
2939            * @param userGroupIds the primary keys of the user's user groups
2940            * @param serviceContext the user's service context (optionally
2941            <code>null</code>). Can set the universally unique identifier
2942            (with the <code>uuid</code> attribute), asset category IDs, asset
2943            tag names, and expando bridge attributes for the user.
2944            * @return the user
2945            * @throws PortalException if a user with the primary key could not be found
2946            or if the new information was invalid
2947            * @throws SystemException if a system exception occurred
2948            */
2949            public com.liferay.portal.model.User updateUser(long userId,
2950                    java.lang.String oldPassword, java.lang.String newPassword1,
2951                    java.lang.String newPassword2, boolean passwordReset,
2952                    java.lang.String reminderQueryQuestion,
2953                    java.lang.String reminderQueryAnswer, java.lang.String screenName,
2954                    java.lang.String emailAddress, long facebookId,
2955                    java.lang.String openId, java.lang.String languageId,
2956                    java.lang.String timeZoneId, java.lang.String greeting,
2957                    java.lang.String comments, java.lang.String firstName,
2958                    java.lang.String middleName, java.lang.String lastName, int prefixId,
2959                    int suffixId, boolean male, int birthdayMonth, int birthdayDay,
2960                    int birthdayYear, java.lang.String smsSn, java.lang.String aimSn,
2961                    java.lang.String facebookSn, java.lang.String icqSn,
2962                    java.lang.String jabberSn, java.lang.String msnSn,
2963                    java.lang.String mySpaceSn, java.lang.String skypeSn,
2964                    java.lang.String twitterSn, java.lang.String ymSn,
2965                    java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
2966                    long[] roleIds,
2967                    java.util.List<com.liferay.portal.model.UserGroupRole> userGroupRoles,
2968                    long[] userGroupIds,
2969                    com.liferay.portal.service.ServiceContext serviceContext)
2970                    throws com.liferay.portal.kernel.exception.PortalException,
2971                            com.liferay.portal.kernel.exception.SystemException;
2972    
2973            /**
2974            * Verifies the email address of the ticket.
2975            *
2976            * @param ticketKey the ticket key
2977            * @throws PortalException if a ticket matching the ticket key could not be
2978            found, if the ticket has expired, if the ticket is an email
2979            address ticket, or if the email address is invalid
2980            * @throws SystemException if a system exception occurred
2981            */
2982            public void verifyEmailAddress(java.lang.String ticketKey)
2983                    throws com.liferay.portal.kernel.exception.PortalException,
2984                            com.liferay.portal.kernel.exception.SystemException;
2985    }