package net.sourceforge.cruisecontrol.distributed.core;
import java.io.Serializable;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Date;
/**
* Allow progress updates from distributed agents.
* @author Dan Rollo
* Date: Jul 25, 2007
* Time: 10:18:04 PM
*/
public interface ProgressRemote extends Remote, Serializable {
/**
* @param value new progress value.
* @throws java.rmi.RemoteException if a remote call fails
*/
public void setValueRemote(String value) throws RemoteException;
/**
* @return current progress value, prefixed with last updated time..
* @throws RemoteException if a remote call fails
*/
public String getValueRemote() throws RemoteException;
/**
* @return the date when current progress value was set.
* @throws RemoteException if a remote call fails
*/
public Date getLastUpdatedRemote() throws RemoteException;
/**
* @return the current progress value (not prefixed by last updated).
* Goofy, but don't want to change behavior of {@link #getValueRemote()} to preserve backwards compatibility.
* @throws RemoteException if a remote call fails
*/
public String getTextRemote() throws RemoteException;
}