01: /*
02: * JOSSO: Java Open Single Sign-On
03: *
04: * Copyright 2004-2008, Atricore, Inc.
05: *
06: * This is free software; you can redistribute it and/or modify it
07: * under the terms of the GNU Lesser General Public License as
08: * published by the Free Software Foundation; either version 2.1 of
09: * the License, or (at your option) any later version.
10: *
11: * This software is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this software; if not, write to the Free
18: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
19: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
20: */
21: package org.josso.gateway.session.service;
22:
23: import org.josso.gateway.session.SSOSession;
24:
25: /**
26: * A base implementation of an SSO session, that provides extra functionality used by the service.
27: * This is a mutable SSO session.
28: *
29: * @author <a href="mailto:sgonzalez@josso.org">Sebastian Gonzalez Oyuela</a>
30: * @version $Id: BaseSession.java 508 2008-02-18 13:32:29Z sgonzalez $
31: */
32:
33: public interface BaseSession extends SSOSession {
34:
35: /**
36: * Update the accessed time information for this session.
37: */
38: void access();
39:
40: /**
41: * This method expires a session. The isValid method will return false.
42: */
43: void expire();
44:
45: /**
46: * Set the id of this session, used when initializing new sessions.
47: * Used while building or recycling a session.
48: *
49: * @param id the session id.
50: */
51: void setId(String id);
52:
53: /**
54: * Set the creation time for this session.
55: * Used while building or recycling a session.
56: *
57: * @param time The new creation time
58: */
59: void setCreationTime(long time);
60:
61: /**
62: * Set the valid flag for this session.
63: * Used while building or recycling a session.
64: *
65: * @param valid The new value for the valid property.
66: */
67: void setValid(boolean valid);
68:
69: /**
70: * Setter for the username associated to this session.
71: */
72: void setUsername(String name);
73:
74: }
|