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