de.lmu.ifi.dbs.elki.logging.progress
Class FiniteProgress

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.progress.AbstractProgress
      extended by de.lmu.ifi.dbs.elki.logging.progress.FiniteProgress
All Implemented Interfaces:
Progress
Direct Known Subclasses:
StepProgress

public class FiniteProgress
extends AbstractProgress

A progress object for a given overall number of items to process. The number of already processed items at a point in time can be updated. The main feature of this class is to provide a String representation of the progress suitable as a message for printing to the command line interface.


Field Summary
private  int total
          The overall number of items to process.
private  int totalLength
          Holds the length of a String describing the total number.
 
Constructor Summary
FiniteProgress(String task, int total)
          Deprecated. 
FiniteProgress(String task, int total, Logging logger)
          Constructor with auto-reporting to logging.
 
Method Summary
 StringBuffer appendToBuffer(StringBuffer buf)
          Append a string representation of the progress to the given string buffer.
 void ensureCompleted(Logging logger)
          Ensure that the progress was completed, to make progress bars disappear
 int getTotal()
          Get the final value for the progress.
 boolean isComplete()
          Test whether the progress was completed.
 void setProcessed(int processed)
          Sets the number of items already processed at a time being.
 
Methods inherited from class de.lmu.ifi.dbs.elki.logging.progress.AbstractProgress
getProcessed, getTask, incrementProcessed, incrementProcessed, setProcessed, testLoggingRate, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

total

private final int total
The overall number of items to process.


totalLength

private final int totalLength
Holds the length of a String describing the total number.

Constructor Detail

FiniteProgress

@Deprecated
public FiniteProgress(String task,
                                 int total)
Deprecated. 

A progress object for a given overall number of items to process.

Parameters:
task - the name of the task
total - the overall number of items to process

FiniteProgress

public FiniteProgress(String task,
                      int total,
                      Logging logger)
Constructor with auto-reporting to logging.

Parameters:
task - the name of the task
total - the overall number of items to process
logger - the logger to report to
Method Detail

setProcessed

public void setProcessed(int processed)
                  throws IllegalArgumentException
Sets the number of items already processed at a time being.

Overrides:
setProcessed in class AbstractProgress
Parameters:
processed - the number of items already processed at a time being
Throws:
IllegalArgumentException - if the given number is negative or exceeds the overall number of items to process

appendToBuffer

public StringBuffer appendToBuffer(StringBuffer buf)
Append a string representation of the progress to the given string buffer.

Specified by:
appendToBuffer in interface Progress
Specified by:
appendToBuffer in class AbstractProgress
Parameters:
buf - Buffer to serialize to
Returns:
Buffer the data was serialized to.

isComplete

public boolean isComplete()
Test whether the progress was completed.

Returns:
Whether the progress was completed.

getTotal

public int getTotal()
Get the final value for the progress.

Returns:
final value

ensureCompleted

public void ensureCompleted(Logging logger)
Ensure that the progress was completed, to make progress bars disappear

Parameters:
logger - Logger to report to.

Release 0.4.0 (2011-09-20_1324)