package org.jactr.eclipse.runtime.session.data; /* * default logging */ import java.util.Set; import java.util.UUID; import org.jactr.eclipse.runtime.session.ISession; import org.jactr.eclipse.runtime.session.stream.ISessionDataStream; /** * A source for model session data. This is returned (potentially) by all * sessions. The session data can be backed by live network or rerecorded data * * @author harrison */ public interface ISessionData { /** * unique id for the session * * @return */ public UUID getSessionId(); public ISession getSession(); public String getModelName(); /** * open the session data. Possibly opening files or connections * * @throws Exception */ public void open() throws Exception; public boolean isOpen(); /** * */ public void close() throws Exception; /** * delete the data if applicable * * @throws Exception */ public void delete() throws Exception; /** * returns true if the session data is coming across live. * * @return */ public boolean isLive(); /** * @return Double.NaN if the data is currently live */ public double getEndTime(); public double getStartTime(); /** * return the list of named data streams that are available * * @return */ public Set<String> getAvailableStreams(); public ISessionDataStream getDataStream(String streamName); }