package ecologylab.oodss.distributed.server.clientsessionmanager; import java.net.InetAddress; import java.net.InetSocketAddress; import ecologylab.collections.Scope; import ecologylab.oodss.messages.UpdateMessage; /** * * @author William A. Hamilton (bill@ecologylab.net) */ public class SessionHandle { private BaseSessionManager sessionManager; protected SessionHandle() { } public SessionHandle(BaseSessionManager cm) { sessionManager = cm; } public InetAddress getInetAddress() { return getSocketAddress().getAddress(); } public InetSocketAddress getSocketAddress() { return sessionManager.getAddress(); } public int getPortNumber() { return getSocketAddress().getPort(); } public void sendUpdate(UpdateMessage update) { sessionManager.sendUpdateToClient(update); } public Scope getSessionScope() { return sessionManager.getScope(); } public void invalidate() { sessionManager.setInvalidating(true); } public Object getSessionId() { return sessionManager.getSessionId(); } @Override public boolean equals(Object other) { if (other instanceof SessionHandle) { return this.getSessionId().equals(((SessionHandle) other).getSessionId()); } else { return false; } } }