Initial session classes
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / idp / session / Session.java
1 /*
2  * Copyright [2006] [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 package edu.internet2.middleware.shibboleth.idp.session;
18
19 import java.util.List;
20
21 import org.joda.time.DateTime;
22
23 /**
24  * Session information for user logged into the IdP.
25  */
26 public interface Session {
27
28     /**
29      * Gets the unique identifier of the session.
30      * 
31      * @return unique identifier of the session
32      */
33     public String getSessionID();
34
35     /**
36      * Gets the principal ID of the user.
37      * 
38      * @return principal ID of the user
39      */
40     public String getPrincipalID();
41
42     /**
43      * Gets the time of the last activity from the user.
44      * 
45      * @return time of the last activity from the user
46      */
47     public DateTime getLastActivityInstance();
48
49     /**
50      * Gets the methods by which the user has authenticated to the IdP.
51      * 
52      * @return methods by which the user has authenticated to the IdP
53      */
54     public List<AuthenticationMethodInformation> getAuthenticationMethods();
55
56     /**
57      * Gets the services the user has logged in to.
58      * 
59      * @return services the user has logged in to
60      */
61     public List<ServiceInformation> getServicesInformation();
62 }