001    /** =====================================================================       
002    *
003    *  File Name : $Id: AuthenticationDetails.java,v 1.4 2008/01/15 11:08:17 cb Exp $
004    *
005    *  Description
006    *  -----------
007    *
008    *  See javadoc comment 
009    * 
010    *  =====================================================================
011    *
012    *   @Author : Craige Bevil 
013    *             Control Software Group
014    *             Isaac Newton Group of Telescopes
015    *
016    *  =====================================================================
017    *
018    *     Modification Log
019    *
020    *     Vers         Date        Author       Reason
021    *     ----         ----        ------       ------
022    *      1                       C.Bevil      First Release
023    *
024    *     Commissioning Notes
025    *     -------------------
026    *
027    *     None
028    *     
029    *  =====================================================================
030    *
031    *     @Version   : $Id: AuthenticationDetails.java,v 1.4 2008/01/15 11:08:17 cb Exp $
032    *
033    *     @Author    : $Author: cb $
034    *
035    *     Header     : $Header: /opt/INGsrc/src/CVS/softproj/FaultDatabase/src/FaultDatabase/FaultDatabase/src/GWTApplication/client/AuthenticationDetails.java,v 1.4 2008/01/15 11:08:17 cb Exp $
036    *
037    *     Log        : $Log: AuthenticationDetails.java,v $
038    *     Log        : Revision 1.4  2008/01/15 11:08:17  cb
039    *     Log        : Ran through PMD and sorted out the javadoc so that we could export the
040    *     Log        : javadoc to the javadoc repository.
041    *     Log        :
042    *     Log        : Revision 1.3  2007/08/17 14:21:23  cb
043    *     Log        : Comments
044    *     Log        :
045    *     Log        : Revision 1.2  2007/08/01 13:00:08  cb
046    *     Log        : First prototype after import
047    *     Log        :
048    *     Log        : Revision 1.1.1.1  2007/06/01 08:33:26  cb
049    *     Log        : Imported using TkCVS
050    *     Log        :
051    *
052    * =====================================================================*/
053    
054    package GWTApplication.client;
055    
056    import com.google.gwt.user.client.rpc.*;
057    import java.util.*;
058    
059    /**
060     * This is a entity class which is used to carry the authentication
061     * data which will be sent back from the server after the user logs
062     * onto the system. 
063     */
064    
065    public class AuthenticationDetails implements IsSerializable {
066    
067        /**
068         * These are priviledge levels which is associated with the
069         * user. There are several privilege levels available within the
070         * application ranging from guest user to fault database
071         * administrator. 
072         * @gwt.typeArgs <java.lang.String>
073         */
074        
075        public ArrayList PriviledgeLevels = new ArrayList();
076        
077        /**
078         * This is the users email address 
079         */
080        
081        public String UserEmailAddress;
082        
083        /**
084         * This is the christian name of the user 
085         */
086        
087        public String Name;
088    
089        /**
090         * The surname of the authenticated user 
091         */
092        
093        public String Surname;
094    
095        /**
096         * This is the user identifier of the user which he uses to
097         * authenticates himself.
098         */
099    
100        public String UserId;
101        
102        /**
103         * Will be used for ascertaining whether or not a user has a
104         * the specific priviledge level. 
105         * @param DemandedPriviledgeLevel This is the level of priviledge
106         * which we want to know the user reaches.
107         * @return boolean True if the user has this level of priviledge. 
108         */
109        
110        public boolean hasPriviledgeLevel (final String DemandedPriviledgeLevel) {
111            
112            if (PriviledgeLevels == null) {
113                return false;
114            }
115            
116            for (int i=0; i < PriviledgeLevels.size();i++) { 
117                if (((String)PriviledgeLevels.get(i)).equals(DemandedPriviledgeLevel)) {
118                    return true;
119                }
120            }
121            
122            return false;
123        }
124    
125        /**
126         * A constructor 
127         */
128    
129        public AuthenticationDetails () {
130            PriviledgeLevels.add(FaultDatabaseConstants.DEFAULTPRIVILEDGE);
131            UserId = FaultDatabaseConstants.DEFAULTUSER;
132        }
133    }