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    
013    package com.ibm.rational.wvcm.stp.cq;
014    
015    import javax.wvcm.ResourceList;
016    import javax.wvcm.WvcmException;
017    
018    import 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     */
023    public 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    }