001: /*
002: * Enhydra Java Application Server Project
003: *
004: * The contents of this file are subject to the Enhydra Public License
005: * Version 1.1 (the "License"); you may not use this file except in
006: * compliance with the License. You may obtain a copy of the License on
007: * the Enhydra web site ( http://www.enhydra.org/ ).
008: *
009: * Software distributed under the License is distributed on an "AS IS"
010: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
011: * the License for the specific terms governing rights and limitations
012: * under the License.
013: *
014: * The Initial Developer of the Enhydra Application Server is Lutris
015: * Technologies, Inc. The Enhydra Application Server and portions created
016: * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
017: * All Rights Reserved.
018: *
019: * Contributor(s):
020: *
021: * $Id: StandardSession.java,v 1.2 2006-06-15 13:40:47 sinisa Exp $
022: *
023: * formatted with JxBeauty (c) johann.langhofer@nextra.at
024: */
025:
026: package com.lutris.appserver.server.sessionEnhydra;
027:
028: import javax.servlet.http.HttpSession;
029:
030: import com.lutris.appserver.server.session.Session;
031:
032: /**
033: * Defines the interface for the Session object expected
034: * by the StandardSessionManager.
035: *
036: * @version $Revision: 1.2 $
037: * @author Kyle Clark
038: */
039: public interface StandardSession extends Session {
040:
041: /**
042: * Set the "last used" timestamp to the current time, resetting the
043: * idle period.
044: */
045: public void touch();
046:
047: /**
048: * Obtain the creation time for this object. The time is in
049: * milliseconds since Midnight, Jan 1, 1970 (epoch).
050: *
051: * @return The creation time since epoch for this object.
052: */
053: public long getTimeCreated();
054:
055: /**
056: * Obtain the time of last use for this object. The time is in
057: * milliseconds since Midnight, Jan 1, 1970 (epoch).
058: *
059: * @return The time of last use since epoch for this object.
060: */
061: public long getTimeLastUsed();
062:
063: /**
064: * Obtain the time of expiry for this object. The time is in
065: * milliseconds since Midnight, Jan 1, 1970 (epoch).
066: * Returns zero (or negative) if there is no expiration date.
067: * Note: this is a maximum lifespan for the session, regardless of activity.
068: *
069: * @return The time of expiry since epoch for this object.
070: */
071: public long getTimeExpires();
072:
073: /**
074: * Set the time of expiry for this object. The time is in
075: * milliseconds since Midnight, Jan 1, 1970 (epoch).
076: * Set this value to zero (or less) to indicate that the session does not
077: * have a maximum age.
078: *
079: * @param timeLastUsed The time of expiry since epoch.
080: */
081: public void setTimeExpires(long timeExpires);
082:
083: /**
084: * Obtain the maximum idle time for this object. Zero (or negative)
085: * indicates that sessions may be idle indefinetly.
086: *
087: * @return The maximum number of milliseconds this session
088: * may be idle.
089: */
090: public long getMaxIdleTime();
091:
092: /**
093: * Set the maximum idle time for this object. Set this to zero
094: * (or negative) to disable idle checking.
095: *
096: * @param maxIdleTime The maximum number of milliseconds this
097: * session may be idle, or zero (or negative) to allow sessions to be idle
098: * indefinetly.
099: */
100: public void setMaxIdleTime(long maxIdleTime);
101:
102: /**
103: * Obtain the maximum idle time when a <CODE>User</CODE> object
104: * is not associated with the session. Zero (or negative) indicates that
105: * sessions may be idle indefinetly.
106: *
107: * @return The maximum number of milliseconds this session
108: * may be idle.
109: */
110: public long getMaxNoUserIdleTime();
111:
112: /**
113: * set the maximum idle time when a <CODE>User</CODE> object
114: * is not associated with the session. Set this to zero (or negative) to
115: * disable idle checking.
116: *
117: * @param maxIdleTime The maximum number of milliseconds this
118: * session may be idle.
119: */
120: public void setMaxNoUserIdleTime(long maxIdleTime);
121:
122: /**
123: * Expose the HttpSession interface
124: */
125: public HttpSession getHttpSession();
126: }
|