Package org.biojava.bio.search
Class SearchContentFilter
java.lang.Object
org.biojava.bio.search.SearchContentFilter
- All Implemented Interfaces:
SearchContentHandler
Filtering implementation of SearchContentHandler that by default passes all messages on to the next delegate in the chain.
In this handler, all info will be passed onto a delegate handler. You can build up a chain of filters by using one filter as the delegate for another. When you over-ride a method in a filter, you can modify any state you wish. If you want that to propogate on, you should call the method on yourself via super.(), if not, just return.
It is your responsibility to ensure that the events emitted from your filter are sensible. In particular, start/end messages must be paired even after filtering.
Example
// we have a handler from somewhere SearchContentHandler handler = ...; // now we are going to mutate all "score" notifications to Double instances // from strings SearchContentHandler filter = new SearchContentFilter() { public void addHitProperty(Object key, Object value) { if("score".equals(key)) { if(value instanceof String) { value = new Double(value); } } super(key, value); } };
- Since:
- 1.3
- Author:
- Matthew Pocock
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addHitProperty
(Object key, Object value) TheaddHitProperty
method adds a key/value pair containing some property of a particular hit.void
addSearchProperty
(Object key, Object value) TheaddSearchProperty
method adds a key/value pair containing some property of the overall search result.void
addSubHitProperty
(Object key, Object value) TheaddSubHitProperty
method adds a key/value pair containing some property of a particular subhit.void
TheendHeader
method indicates the end of a formatted header.void
endHit()
TheendHit
method indicates the end of a formatted hit.void
TheendSearch
method indicates the end of useful search information.void
TheendSubHit
method indicates the end of a formatted subhit.boolean
getMoreSearches
returns the state of theSearchContentHandler
with respect to further searches from its data source.void
setDatabaseID
(String databaseID) setDatabaseID
identifies the database searched by a name, ID or URN.void
setMoreSearches
(boolean val) setMoreSearches
sets the state of theSearchContentHandler
's expectation of receiving more results.void
setQueryID
(String queryID) setQueryID
identifies the query sequence by a name, ID or URN.void
ThestartHeader
method indicates the start of a formatted header.void
startHit()
ThestartHit
method indicates the start of a formatted hit.void
ThestartSearch
method indicates the start of useful search information.void
ThestartSubHit
method indicates the start of a formatted subhit.
-
Constructor Details
-
SearchContentFilter
-
-
Method Details
-
addHitProperty
Description copied from interface:SearchContentHandler
TheaddHitProperty
method adds a key/value pair containing some property of a particular hit.- Specified by:
addHitProperty
in interfaceSearchContentHandler
- Parameters:
key
- anObject
.value
- anObject
.
-
addSearchProperty
Description copied from interface:SearchContentHandler
TheaddSearchProperty
method adds a key/value pair containing some property of the overall search result.- Specified by:
addSearchProperty
in interfaceSearchContentHandler
- Parameters:
key
- anObject
.value
- anObject
.
-
addSubHitProperty
Description copied from interface:SearchContentHandler
TheaddSubHitProperty
method adds a key/value pair containing some property of a particular subhit.- Specified by:
addSubHitProperty
in interfaceSearchContentHandler
- Parameters:
key
- anObject
.value
- anObject
.
-
startHeader
Description copied from interface:SearchContentHandler
ThestartHeader
method indicates the start of a formatted header. This usually contains information relevant to the search as a whole.- Specified by:
startHeader
in interfaceSearchContentHandler
-
endHeader
Description copied from interface:SearchContentHandler
TheendHeader
method indicates the end of a formatted header.- Specified by:
endHeader
in interfaceSearchContentHandler
-
startHit
Description copied from interface:SearchContentHandler
ThestartHit
method indicates the start of a formatted hit. This could be a single line, or a block of lines.- Specified by:
startHit
in interfaceSearchContentHandler
-
endHit
Description copied from interface:SearchContentHandler
TheendHit
method indicates the end of a formatted hit.- Specified by:
endHit
in interfaceSearchContentHandler
-
startSearch
Description copied from interface:SearchContentHandler
ThestartSearch
method indicates the start of useful search information.- Specified by:
startSearch
in interfaceSearchContentHandler
-
endSearch
Description copied from interface:SearchContentHandler
TheendSearch
method indicates the end of useful search information.- Specified by:
endSearch
in interfaceSearchContentHandler
-
startSubHit
Description copied from interface:SearchContentHandler
ThestartSubHit
method indicates the start of a formatted subhit. There may be zero or more of these per hit.- Specified by:
startSubHit
in interfaceSearchContentHandler
-
endSubHit
Description copied from interface:SearchContentHandler
TheendSubHit
method indicates the end of a formatted subhit.- Specified by:
endSubHit
in interfaceSearchContentHandler
-
setQueryID
Description copied from interface:SearchContentHandler
setQueryID
identifies the query sequence by a name, ID or URN.- Specified by:
setQueryID
in interfaceSearchContentHandler
- Parameters:
queryID
- aString
which should be an unique identifer for the sequence.
-
setDatabaseID
Description copied from interface:SearchContentHandler
setDatabaseID
identifies the database searched by a name, ID or URN.- Specified by:
setDatabaseID
in interfaceSearchContentHandler
- Parameters:
databaseID
- aString
which should be an unique identifier for the database searched.
-
getMoreSearches
Description copied from interface:SearchContentHandler
getMoreSearches
returns the state of theSearchContentHandler
with respect to further searches from its data source. Used for handling streams of search results.- Specified by:
getMoreSearches
in interfaceSearchContentHandler
- Returns:
- a
boolean
value.
-
setMoreSearches
Description copied from interface:SearchContentHandler
setMoreSearches
sets the state of theSearchContentHandler
's expectation of receiving more results. Used for handling streams of search results.- Specified by:
setMoreSearches
in interfaceSearchContentHandler
- Parameters:
val
- aboolean
value.
-