package org.gudy.azureus2.ui.swt.progress; import org.eclipse.swt.graphics.Image; /** * The interface for a progress report; a progress report is a read only object containing * all the properties of an <code>IProgressReporter</code> at a moment in time * @author knguyen * */ public interface IProgressReport { /** * Returns the reporter type of the reporter that created this report * @return */ public String getReporterType(); /** * Returns the id of the reporter that created this report * @return */ public int getReporterID(); /** * Returns the minimum amount of work to be done * @return */ public int getMinimum(); /** * Returns the maximum amount of work to be done * @return */ public int getMaximum(); /** * Returns the amount of work done so far * @return */ public int getSelection(); /** * Returns the percentage of work done so far * @return */ public int getPercentage(); /** * Returns whether the reporter is still in active state * @return */ public boolean isActive(); /** * Returns whether the amount of work done so far can not be calculated accurately * @return */ public boolean isIndeterminate(); /** * Returns whether the reporter is done with all its work * @return */ public boolean isDone(); /** * Returns whether the amount of work done is in percentage form * @return */ public boolean isPercentageInUse(); /** * Returns whether the process owning the reporter allows a cancel request * @return */ public boolean isCancelAllowed(); /** * Returns whether the reporter has been canceled * @return */ public boolean isCanceled(); /** * Returns whether the process owning the reporter allows a retry request * @return */ public boolean isRetryAllowed(); /** * Returns whether the reporter has reported an error * @return */ public boolean isInErrorState(); /** * Returns whether the reporter has been marked for disposal * @return */ public boolean isDisposed(); /** * Returns the title of the reporter; this is mainly used as a window title if the reporter is shown by itself in a window * @return */ public String getTitle(); /** * Returns the message for this particular report * @return */ public String getMessage(); /** * Returns the detail message for this particular report * @return */ public String getDetailMessage(); /** * Returns the error message (if any) for this report * @return */ public String getErrorMessage(); /** * Returns the name of the reporter * @return */ public String getName(); /** * Returns the image of the reporter * @return */ public Image getImage(); /** * Returns the object associated with this report * @return */ public Object getObjectData(); /** * Returns the type of report this is * @return */ public int getReportType(); }