1 /*
2 * Copyright (c) 2005-2007 Creative Sphere Limited.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 *
10 * Creative Sphere - initial API and implementation
11 *
12 */
13 package org.abstracthorizon.danube.http.session;
14
15 import java.util.HashMap;
16 import java.util.Map;
17
18 /**
19 * Simple session object
20 *
21 * @author Daniel Sendula
22 */
23 public class Session {
24
25 /** Session attributes */
26 protected Map<String, Object> attributes = new HashMap<String, Object>();
27
28 /** Time when session is accessed */
29 protected long lastAccessed;
30
31 /** Session id */
32 protected String sessionId;
33
34 /**
35 * Constructor
36 * @param sessionId session id
37 */
38 public Session(String sessionId) {
39 this.sessionId = sessionId;
40 }
41
42 /**
43 * Returns session id
44 * @return session id
45 */
46 public String getSessionId() {
47 return sessionId;
48 }
49
50 /**
51 * Returns session attributes
52 * @return session attributes
53 */
54 public Map<String, Object> getAttributes() {
55 return attributes;
56 }
57
58 /**
59 * Returns value of {{@link #lastAccessed } field.
60 * @return value of {{@link #lastAccessed } field.
61 */
62 public long getLastAccessed() {
63 return lastAccessed;
64 }
65
66 /**
67 * Sets {@link #lastAccessed} field to current time.
68 */
69 protected void resetAccess() {
70 lastAccessed = System.currentTimeMillis();
71 }
72
73 }