## org.biojava.bio.program.ssaha
Interface SearchListener

All Known Implementing Classes:
  HitMerger, SearchListener.Echo, SearchListener.FilterByLength, SearchListener.Tee, SearchListener.Wrapper

    public interface SearchListener

The interface used to inform interested parties that some sequence has been searched and something found.

The callbacks will always be called in the order startSearch, hit, endSearch, during which time there may be multiple hit calls. The seqID of startSearch and endSearch will match. After this, a new startSearch may begin. These events will usually originate from the search method of DataStore.

Author:
  Matthew Pocock

Nested Class Summary
`static class` `SearchListener.Echo` A SearchListener that prints events out to a PrintStream.
`static class` `SearchListener.FilterByLength` A simple listener that filters out all hits that are too short.
`static class` `SearchListener.Tee` A SearchListener that passes events on to two delegate listeners.
`static class` `SearchListener.Wrapper` A simple wrapper implementation.

Method Summary
`void` `endSearch(String seqID)` Indicates that a sequence has been searched against a DataStore.
`void` `hit(int hitID, int queryOffset, int hitOffset, int hitLength)` There has been a hit between the query sequence and a database sequence.
`void` `startSearch(String seqID)` Indicates that a sequence is about to be searched against a DataStore.

Method Detail

### startSearch

    void startSearch(String seqID)

  Indicates that a sequence is about to be searched against a DataStore.

  Parameters:
    `seqID` - the id of the sequence to be searched

### endSearch

    void endSearch(String seqID)

  Indicates that a sequence has been searched against a DataStore.

  Parameters:
    `seqID` - the id of the sequence to be searched

### hit

    void hit(int hitID,
             int queryOffset,
             int hitOffset,
             int hitLength)

  There has been a hit between the query sequence and a database sequence.

  Parameters:
    `hitID` - the number of the sequence hit; resolvable by String id = DataStore.seqNameForID(hitID)
    `queryOffset` - the offset into the query sequence
    `hitOffset` - the offset into the sequence hit in the database
    `hitLength` - the number of symbols hit