Package htsjdk.samtools.util
Class AbstractProgressLogger
- java.lang.Object
-
- htsjdk.samtools.util.AbstractProgressLogger
-
- All Implemented Interfaces:
ProgressLoggerInterface
- Direct Known Subclasses:
ProgressLogger
public abstract class AbstractProgressLogger extends Object implements ProgressLoggerInterface
Abstract implementation of a Little progress logging class to facilitate consistent output of useful information when progressing through a stream of SAM records. Concrete subclasses must provide the logger
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractProgressLogger(String noun, String verb, int n)Construct an AbstractProgressLogger.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description longgetCount()Returns the count of records processed.longgetElapsedSeconds()Returns the number of seconds since progress tracking began.booleanlog()Logs the last last record if it wasn't previously logged.protected abstract voidlog(String... message)Log a message to whatever logger is being usedbooleanrecord(SAMRecord rec)Records that a given record has been processed and triggers logging if necessary.booleanrecord(SAMRecord... recs)Records multiple SAMRecords and triggers logging if necessary.booleanrecord(String chrom, int pos)voidreset()Resets the start time to now and the number of records to zero.
-
-
-
Constructor Detail
-
AbstractProgressLogger
protected AbstractProgressLogger(String noun, String verb, int n)
Construct an AbstractProgressLogger. This must be called by any subclasses- Parameters:
n- the frequency with which to output (i.e. every N records)verb- the verb to log, e.g. "Processed, Read, Written".noun- the noun to use when logging, e.g. "Records, Variants, Loci"
-
-
Method Detail
-
log
protected abstract void log(String... message)
Log a message to whatever logger is being used- Parameters:
message- a message to be logged by the logger (recommended output level is INFO or the equivalent)
-
log
public boolean log()
Logs the last last record if it wasn't previously logged.- Returns:
- boolean true if logging was triggered, false otherwise
-
record
public boolean record(String chrom, int pos)
- Specified by:
recordin interfaceProgressLoggerInterface
-
record
public boolean record(SAMRecord rec)
Records that a given record has been processed and triggers logging if necessary.- Specified by:
recordin interfaceProgressLoggerInterface- Returns:
- boolean true if logging was triggered, false otherwise
-
record
public boolean record(SAMRecord... recs)
Records multiple SAMRecords and triggers logging if necessary.- Specified by:
recordin interfaceProgressLoggerInterface
-
getCount
public long getCount()
Returns the count of records processed.
-
getElapsedSeconds
public long getElapsedSeconds()
Returns the number of seconds since progress tracking began.
-
reset
public void reset()
Resets the start time to now and the number of records to zero.- Specified by:
resetin interfaceProgressLoggerInterface
-
-