package com.indyforge.foxnet.rmi.pattern.change; import java.util.Map; import com.indyforge.foxnet.rmi.Remote; /** * A session is the basic interface between client and server. * * @author Christopher Probst * @param <T> * The context type. */ public interface Session<T> extends Remote { /** * @return the session id. */ long id(); /** * @return the name of this session. */ String name(); /** * Sets the name of this session. * * @param name * The new name of this session. */ void name(String name); /** * @return all active session ids mapped to the names. */ Map<Long, String> names(); /** * @return the {@link Changeable} client. */ Changeable<T> client(); /** * @return the {@link Changeable} server. */ Changeable<T> server(); }