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