package net.sourceforge.cruisecontrol.distributed.core; import java.io.Serializable; import java.rmi.Remote; import java.rmi.RemoteException; /** * Allow reading of live output from distributed agents. * @author Dan Rollo * Date: May 19, 2010 * Time: 8:49:07 PM */ public interface LiveOutputReaderRemote extends Remote, Serializable { /** * @return A unique (for this VM) identifying string for this logger instance. * @throws RemoteException if a remote call fails * @see #retrieveLinesRemote(int) * @see net.sourceforge.cruisecontrol.util.BuildOutputLogger#getID() */ String getIDRemote() throws RemoteException; /** * @param firstLine line to skip to. * @return All lines available from firstLine (inclusive) up to MAX_LINES. * @throws RemoteException if a remote call fails * @see net.sourceforge.cruisecontrol.util.BuildOutputLogger#retrieveLines(int) * @see #getIDRemote() */ String[] retrieveLinesRemote(final int firstLine) throws RemoteException; }