001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.type.scope;
020
021import lucee.runtime.type.Collection;
022
023
024/**
025 * 
026 */
027public interface Session extends Scope,UserScope {
028    /**
029     * @return returns the last acces to this session scope
030     * @deprecated 
031     */
032    public abstract long getLastAccess();
033
034    /**
035     * @return returns the actuell timespan of the session
036     * @deprecated 
037     */
038    public abstract long getTimeSpan();
039    
040
041        public long getCreated();
042
043
044    /**
045     * @return is the scope expired or not
046     */
047    public abstract boolean isExpired();
048
049        /**
050         * sets the last access timestamp to now
051         */
052        public abstract void touch();
053        
054        public int _getId();
055
056        /**
057         * @return all keys except the readpnly ones (cfid,cftoken,hitcount,lastvisit ...)
058         */
059        public abstract Collection.Key[] pureKeys();
060
061}