Package helma.framework.core
Class Session
- java.lang.Object
-
- helma.framework.core.Session
-
- All Implemented Interfaces:
java.io.Serializable
public class Session extends java.lang.Object implements java.io.Serializable
This represents a session currently using the Hop application. This includes anybody who happens to request a page from this application. Depending on whether the user is logged in or not, the session holds a persistent user node.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Application
app
protected long
cacheLastModified
protected INode
cacheNode
protected java.lang.StringBuffer
debugBuffer
protected long
lastModified
protected long
lastTouched
protected java.lang.String
message
protected boolean
modifiedInRequest
protected long
onSince
protected boolean
registered
protected java.lang.String
sessionId
protected java.lang.String
uid
protected java.util.HashMap
uploads
protected NodeHandle
userHandle
-
Constructor Summary
Constructors Constructor Description Session(java.lang.String sessionId, Application app)
Creates a new Session object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
commit(RequestEvaluator reval, SessionManager smgr)
Called after a request has been handled.protected UploadStatus
createUpload(java.lang.String uploadId)
Application
getApp()
Get this session's applicationINode
getCacheNode()
Gets the transient cache node.java.lang.StringBuffer
getDebugBuffer()
Return the debug buffer that is to be displayed upon the next request within this session.java.lang.String
getMessage()
Return the message that is to be displayed upon the next request within this session.java.lang.String
getSessionId()
Return this session's id.java.lang.String
getUID()
Get the persistent user id of a registered user.protected UploadStatus
getUpload(java.lang.String uploadId)
NodeHandle
getUserHandle()
Get the Node handle for the current user, if logged in.INode
getUserNode()
Gets the user Node from this Application's NodeManager.boolean
isLoggedIn()
Returns true if this session is currently associated with a user object.long
lastModified()
Returns the time this session was last modified, meaning the last time its user status changed or its cache node was modified.long
lastTouched()
Returns the time this session was last touched.void
login(INode usernode)
Attach the given user node to this session.boolean
login(java.lang.String userName, java.lang.String password)
Try logging in this session given the userName and password.void
logout()
Remove this sessions's user node.long
onSince()
Return the time this session was created.protected void
pruneUploads()
void
recoverResponseMessages(ResponseTrans res)
Set the user and debug messages over from a previous response.void
setApp(Application app)
Set this session's applicationvoid
setCacheNode(INode node)
Set the cache node for this session.void
setDebugBuffer(java.lang.StringBuffer buffer)
Set the debug buffer to be displayed to this session's user.void
setLastModified(long l)
Set the last modified time on this session.void
setMessage(java.lang.String msg)
Set a message to be displayed to this session's user.void
setUID(java.lang.String uid)
Set the persistent user id of a registered user.void
setUserHandle(NodeHandle handle)
Set the user handle for this session.void
storeResponseMessages(ResponseTrans res)
Remember the response's user and debug messages for a later response.java.lang.String
toString()
Return a string representation for this session.void
touch()
Called at the beginning of a request to let the session know it's being used.
-
-
-
Field Detail
-
app
protected transient Application app
-
sessionId
protected java.lang.String sessionId
-
uid
protected java.lang.String uid
-
userHandle
protected NodeHandle userHandle
-
cacheNode
protected INode cacheNode
-
onSince
protected long onSince
-
lastTouched
protected long lastTouched
-
lastModified
protected long lastModified
-
cacheLastModified
protected long cacheLastModified
-
message
protected java.lang.String message
-
debugBuffer
protected java.lang.StringBuffer debugBuffer
-
uploads
protected java.util.HashMap uploads
-
modifiedInRequest
protected transient boolean modifiedInRequest
-
registered
protected transient boolean registered
-
-
Constructor Detail
-
Session
public Session(java.lang.String sessionId, Application app)
Creates a new Session object.- Parameters:
sessionId
- ...app
- ...
-
-
Method Detail
-
login
public void login(INode usernode)
Attach the given user node to this session.
-
login
public boolean login(java.lang.String userName, java.lang.String password)
Try logging in this session given the userName and password.- Parameters:
userName
- the user namepassword
- the password- Returns:
- true if session was logged in.
-
logout
public void logout()
Remove this sessions's user node.
-
isLoggedIn
public boolean isLoggedIn()
Returns true if this session is currently associated with a user object.- Returns:
- ...
-
setUserHandle
public void setUserHandle(NodeHandle handle)
Set the user handle for this session.
-
getUserHandle
public NodeHandle getUserHandle()
Get the Node handle for the current user, if logged in.
-
getUserNode
public INode getUserNode()
Gets the user Node from this Application's NodeManager.
-
setCacheNode
public void setCacheNode(INode node)
Set the cache node for this session.
-
getCacheNode
public INode getCacheNode()
Gets the transient cache node.
-
getApp
public Application getApp()
Get this session's application- Returns:
- ...
-
setApp
public void setApp(Application app)
Set this session's application- Parameters:
app
- ...
-
getSessionId
public java.lang.String getSessionId()
Return this session's id.- Returns:
- ...
-
touch
public void touch()
Called at the beginning of a request to let the session know it's being used.
-
commit
public void commit(RequestEvaluator reval, SessionManager smgr)
Called after a request has been handled.- Parameters:
reval
- the request evaluator that handled the request
-
lastTouched
public long lastTouched()
Returns the time this session was last touched.- Returns:
- ...
-
lastModified
public long lastModified()
Returns the time this session was last modified, meaning the last time its user status changed or its cache node was modified.- Returns:
- ...
-
setLastModified
public void setLastModified(long l)
Set the last modified time on this session.- Parameters:
l
- the timestamp
-
onSince
public long onSince()
Return the time this session was created.- Returns:
- ...
-
toString
public java.lang.String toString()
Return a string representation for this session.- Overrides:
toString
in classjava.lang.Object
- Returns:
- ...
-
getUID
public java.lang.String getUID()
Get the persistent user id of a registered user. This is usually the user name, or null if the user is not logged in.
-
setUID
public void setUID(java.lang.String uid)
Set the persistent user id of a registered user.- Parameters:
uid
- the user name, or null if the user is not logged in.
-
recoverResponseMessages
public void recoverResponseMessages(ResponseTrans res)
Set the user and debug messages over from a previous response. This is used for redirects, where messages can't be displayed immediately.- Parameters:
res
- the response to set the messages on
-
storeResponseMessages
public void storeResponseMessages(ResponseTrans res)
Remember the response's user and debug messages for a later response. This is used for redirects, where messages can't be displayed immediately.- Parameters:
res
- the response to retrieve the messages from
-
getMessage
public java.lang.String getMessage()
Return the message that is to be displayed upon the next request within this session.- Returns:
- the message, or null if none was set.
-
setMessage
public void setMessage(java.lang.String msg)
Set a message to be displayed to this session's user. This can be used to save a message over to the next request when the current request can't be used to display a user visible message.- Parameters:
msg
- the message
-
getDebugBuffer
public java.lang.StringBuffer getDebugBuffer()
Return the debug buffer that is to be displayed upon the next request within this session.- Returns:
- the debug buffer, or null if none was set.
-
setDebugBuffer
public void setDebugBuffer(java.lang.StringBuffer buffer)
Set the debug buffer to be displayed to this session's user. This can be used to save the debug buffer over to the next request when the current request can't be used to display a user visible message.- Parameters:
buffer
- the buffer
-
createUpload
protected UploadStatus createUpload(java.lang.String uploadId)
-
getUpload
protected UploadStatus getUpload(java.lang.String uploadId)
-
pruneUploads
protected void pruneUploads()
-
-