change java.net.URI argument to opensaml URI type (wrapped string)
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / serviceprovider / Session.java
1 /*
2  * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 /*
18  * Session.java
19  * 
20  * Session object holds Principal ID [handle] and Attributes.
21  * A random ID is used as the object key in the Cache and
22  * is returned to the Browser as a Cookie value. 
23  *
24  * Recovery Context: No exceptions expected or generated.
25  */
26 package edu.internet2.middleware.shibboleth.serviceprovider;
27
28 import java.io.Serializable;
29 import org.opensaml.SAMLAssertion;
30 import org.opensaml.SAMLAuthenticationStatement;
31 import org.opensaml.SAMLResponse;
32
33 /**
34  * Session object holds Authentication and Attribute Assertions for one
35  * remote Browser/User.<br>
36  * Each session generates its own UUID key.<br>
37  * The collection of Session objects may be checkpointed to disk using
38  * any attractive persistence framework, Object Relational mapping, 
39  * or, hell, just serialize the objects to a flat file if you like.
40  *
41  *  @author Howard Gilbert
42  */
43 public class Session implements Serializable {
44         
45         Session(String key) {
46                 // Should only be created by SessionManager
47             this.key=key;
48         }
49         
50         // Properties
51         
52         private String key;
53         public String getKey() {
54                 return key;
55         }
56         
57         private String applicationId = null;
58         public String getApplicationId() {
59                 return applicationId;
60         }
61         public void setApplicationId(String applicationId) {
62                 this.applicationId = applicationId;
63         }
64         
65         private String ipaddr = null;
66         public String getIpaddr() {
67                 return ipaddr;
68         }
69         public void setIpaddr(String ipaddr) {
70                 this.ipaddr = ipaddr;
71         }
72         
73         private String entityId = null; // a.k.a providerId
74         
75         public String getEntityId() {
76                 return entityId;
77         }
78         public void setEntityId(String entityId) {
79                 this.entityId = entityId;
80         }
81         private long lifetime;
82         public long getLifetime() {
83                 return lifetime;
84         }
85         public void setLifetime(long lifetime) {
86                 this.lifetime = lifetime;
87         }
88         
89         private long timeout;
90         public long getTimeout() {
91                 return timeout;
92         }
93         public void setTimeout(long timeout) {
94                 this.timeout = timeout;
95         }
96         
97     // private persisted variable
98         private long timestamp = System.currentTimeMillis();
99         
100         
101         // Stuff saved from the POST
102         private SAMLAssertion authenticationAssertion = null;
103         public SAMLAssertion getAuthenticationAssertion() {
104                 return authenticationAssertion;
105         }
106         public void setAuthenticationAssertion(SAMLAssertion authentication) {
107                 this.authenticationAssertion = authentication;
108         }
109         
110         private SAMLAuthenticationStatement authenticationStatement=null;
111         public SAMLAuthenticationStatement getAuthenticationStatement() {
112                 return authenticationStatement;
113         }
114         public void setAuthenticationStatement(
115                         SAMLAuthenticationStatement authenticationStatement) {
116                 this.authenticationStatement = authenticationStatement;
117         }
118         
119         // Stuff saved from the Attribute Query
120         private SAMLResponse attributeResponse = null;
121         public SAMLResponse getAttributeResponse() {
122                 return attributeResponse;
123         }
124         public void setAttributeResponse(SAMLResponse attributeResponse) {
125                 this.attributeResponse = attributeResponse;
126         }
127
128         
129         public void renew(){
130                 timestamp = System.currentTimeMillis();
131         }
132         
133
134 }