001/*
002 * file CqUserInfo.java
003 * Licensed Materials - Property of IBM
004 * Restricted Materials of IBM 
005 *
006 * com.ibm.rational.wvcm.stp.cq.CqUserInfo
007 *
008 * (C) Copyright IBM Corporation 2008.  All Rights Reserved.
009 * Note to U.S. Government Users Restricted Rights:  Use, duplication or 
010 * disclosure restricted by GSA ADP  Schedule Contract with IBM Corp.
011 */
012
013package com.ibm.rational.wvcm.stp.cq;
014
015import javax.wvcm.ResourceList;
016import javax.wvcm.WvcmException;
017
018import com.ibm.rational.wvcm.stp.cq.CqUser.AuthenticationMode;
019
020/**
021 * Read-only information about the currently logged-in user of a user database
022 */
023public interface CqUserInfo
024{
025    /**
026     * @return An AuthenticationMode enumerator indicating what method is used
027     *         to authenticate this user. Will never be <b>null</b>.
028     */
029    AuthenticationMode getAuthenticationMode() throws WvcmException;
030
031    /**
032     * @return A String containing an encrypted copy of the user password or
033     *         LDAP name. Will never be <b>null</b>.
034     */
035    String getAuthenticator() throws WvcmException;
036
037    /**
038     * @return A String containing the email field of this user's profile. Will
039     *         never be <b>null</b>.
040     */
041    String getEmail() throws WvcmException;
042
043    /**
044     * @return A String containing the full name field of this user's profile.
045     *         Will never be <b>null</b>.
046     */
047    String getFullName() throws WvcmException;
048
049    /**
050     * @return A String[] containing the name for each group this user belongs
051     *         to. Will never be <b>null</b>.
052     */
053    String[] getGroupNames() throws WvcmException;
054
055    /**
056     * @return A String containing the login name field of the user's profile.
057     *         Will never be <b>null</b>.
058     */
059    String getLoginName() throws WvcmException;
060
061    /**
062     * @return A String containing the content of the miscellaneous information
063     *         field of this user's profile. Will never be <b>null</b>.
064     */
065    String getMiscellaneousInformation() throws WvcmException;
066
067    /**
068     * @return A String containing the phone field of this user's profile. Will
069     *         never be <b>null</b>.
070     */
071    String getPhone() throws WvcmException;
072}