public class DefaultSession extends Object implements Session
onEvent(Event)
method and for sending it uses the
EventDispatcher
fireEvent method. Resetting id of this class after
creation will throw IllegalAccessException
since class variable is
final.Modifier and Type | Class and Description |
---|---|
static class |
DefaultSession.SessionBuilder
This class is roughly based on Joshua Bloch's Builder pattern.
|
Modifier and Type | Field and Description |
---|---|
protected long |
creationTime |
protected EventDispatcher |
eventDispatcher
event dispatcher
|
protected Object |
id
session id
|
protected boolean |
isShuttingDown
Life cycle variable to check if the session is shutting down.
|
protected boolean |
isUDPEnabled |
protected boolean |
isWriteable |
protected long |
lastReadWriteTime |
protected Map<String,Object> |
sessionAttributes
session parameters
|
protected MessageSender.IReliable |
tcpMessageSender |
protected MessageSender.IFast |
udpMessageSender |
Modifier | Constructor and Description |
---|---|
protected |
DefaultSession(DefaultSession.SessionBuilder sessionBuilder) |
Modifier and Type | Method and Description |
---|---|
void |
addHandler(EventHandler eventHandler)
This handler is actually added to the
EventDispatcher . |
void |
close() |
boolean |
equals(Object obj) |
Object |
getAttribute(String key) |
long |
getCreationTime() |
EventDispatcher |
getEventDispatcher() |
List<EventHandler> |
getEventHandlers(int eventType) |
Object |
getId() |
long |
getLastReadWriteTime() |
Map<String,Object> |
getSessionAttributes() |
MessageSender.IReliable |
getTcpMessageSender() |
MessageSender.IFast |
getUdpMessageSender() |
int |
hashCode() |
boolean |
isShuttingDown() |
boolean |
isUDPEnabled()
Not synchronized because default implementation does not care whether a
duplicated message sender is created.
|
boolean |
isWriteable() |
void |
onEvent(Event event) |
void |
removeAttribute(String key) |
void |
removeHandler(EventHandler eventHandler) |
void |
setAttribute(String key,
Object value) |
void |
setId(Object id) |
void |
setLastReadWriteTime(long lastReadWriteTime) |
void |
setTcpMessageSender(MessageSender.IReliable tcpMessageSender) |
void |
setUDPEnabled(boolean isEnabled)
A session would not have UDP capability when created.
|
void |
setUdpMessageSender(MessageSender.IFast udpMessageSender) |
void |
setWriteable(boolean isWriteable) |
protected final Object id
protected final EventDispatcher eventDispatcher
protected final long creationTime
protected long lastReadWriteTime
protected boolean isWriteable
protected volatile boolean isShuttingDown
protected boolean isUDPEnabled
protected MessageSender.IReliable tcpMessageSender
protected MessageSender.IFast udpMessageSender
protected DefaultSession(DefaultSession.SessionBuilder sessionBuilder)
public EventDispatcher getEventDispatcher()
getEventDispatcher
in interface Session
public void addHandler(EventHandler eventHandler)
Session
EventDispatcher
. This
Method is provided as a helper for clients so that they need not deal
with EventDispatcher
directly.addHandler
in interface Session
public void removeHandler(EventHandler eventHandler)
removeHandler
in interface Session
public List<EventHandler> getEventHandlers(int eventType)
getEventHandlers
in interface Session
public Object getAttribute(String key)
getAttribute
in interface Session
public void removeAttribute(String key)
removeAttribute
in interface Session
public void setAttribute(String key, Object value)
setAttribute
in interface Session
public long getCreationTime()
getCreationTime
in interface Session
public long getLastReadWriteTime()
getLastReadWriteTime
in interface Session
public void setLastReadWriteTime(long lastReadWriteTime)
public boolean isWriteable()
isWriteable
in interface Session
public void setWriteable(boolean isWriteable)
setWriteable
in interface Session
public boolean isUDPEnabled()
isUDPEnabled
in interface Session
MessageSender
instance is
attached to this session, else false.Session.isUDPEnabled()
public void setUDPEnabled(boolean isEnabled)
Session
Events
class. Once UDP MessageSender
instance is attached to the
session, this method should be called with flag to true to signal that
the session is now UDP enabled.setUDPEnabled
in interface Session
isEnabled
- Should be true in most use cases. It is used to signal that
the UDP MessageSender
has been attached to session.public boolean isShuttingDown()
isShuttingDown
in interface Session
public MessageSender.IReliable getTcpMessageSender()
getTcpMessageSender
in interface Session
public void setTcpMessageSender(MessageSender.IReliable tcpMessageSender)
setTcpMessageSender
in interface Session
public MessageSender.IFast getUdpMessageSender()
getUdpMessageSender
in interface Session
public void setUdpMessageSender(MessageSender.IFast udpMessageSender)
setUdpMessageSender
in interface Session
Copyright © 2012. All Rights Reserved.