c20bd23176326b3f9569d19ea308e90dd57f973d
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / hs / HandleEntry.java
1 import edu.internet2.middleware.shibboleth.*;
2 import edu.internet2.middleware.shibboleth.common.*;
3 import org.opensaml.*;
4 import java.util.*;
5 import HandleException;
6 import org.doomdark.uuid.*;
7
8 /**
9  *  Object all user information is kept in
10  *
11  * @author    Barbara Jensen
12  */
13 public class HandleEntry {
14     /** opaque handle, based off MAC address and time */
15     protected String handle;
16     /** username, passed in from RemoteUser */
17     protected String username;
18     /** authentication type, passed from AuthType */
19     protected String authType;
20     /** instant of handle creation */
21     protected long authInstant;
22     /** instant of handle expiration, based on ticket length */
23     protected long expInstant;
24     
25     /**
26      *  HandleEntry object, created from HandleService
27      *
28      */
29     public HandleEntry ( String username, String authType, 
30                          long ticketLength ) 
31         throws HandleException
32     {
33         if (username == null || username.length() == 0) 
34             throw new HandleException(HandleException.ERR, "HandleEntry() requires username");
35         if (authType == null || authType.length() == 0)
36             throw new HandleException(HandleException.ERR, "HandleEntry() requires authType");
37
38         handle = UUIDGenerator.getInstance().generateRandomBasedUUID().toString();
39         this.username = username;
40         this.authType = authType;
41         this.authInstant= System.currentTimeMillis();
42         this.expInstant = authInstant+ticketLength;
43     }
44
45     /** 
46      *  HandleEntry object, created from all parts 
47      * 
48      */
49     public HandleEntry ( String handle, String username, String authType,
50                          long authInstant, long expInstant ) 
51         throws HandleException 
52     {
53         if (handle == null || handle.length() == 0) 
54             throw new HandleException(HandleException.ERR, "HandleEntry() requires handle");
55         if (username == null || username.length() == 0) 
56             throw new HandleException(HandleException.ERR, "HandleEntry() requires username");
57         if (authType == null || authType.length() == 0)
58             throw new HandleException(HandleException.ERR, "HandleEntry() requires authType");
59         
60         this.handle = handle;
61         this.username = username;
62         this.authType = authType;
63         this.authInstant = authInstant;
64         this.expInstant = expInstant;
65     }
66
67     /** 
68      *  Gets the HandleEntry's handle string 
69      * 
70      */
71     public String getHandle () {
72         return handle;
73     }
74     
75     /**
76      *  Gets the HandleEntry's username 
77      * 
78      */
79     public String getUsername () {
80         return username;
81     }
82
83     /**
84      *  Gets the HandleEntry's authentication type
85      * 
86      */
87     public String getAuthType () {
88         return authType;
89     } 
90
91     /**
92      *  Gets the HandleEntry's creation/authentication date
93      * 
94      */
95     public long getAuthInstant () {
96         return authInstant;
97     }
98
99     /**
100      *  Gets the HandleEntry's expiration date
101      * 
102      */
103     public long getExpInstant () {
104         return expInstant;
105     }
106
107 }
108