public class FastaSearchSAXParser extends Object implements SearchContentHandler
FastaSearchSAXParser
is a SAX2 compliant parser for
'-m 10' format output from the the Fasta search program (see the
Fasta documentation for details of this format).
Versions of Fasta supported are as follows. Note that the compile time option -DM10_CONS should be used to allow correct reporting of the number of matches in HSPSummary elements
The SAX2 events produced are as if the input to the parser was an XML file validating against the BioJava BlastLikeDataSetCollection DTD. There is no requirement for an intermediate conversion of native output to XML format.
Modifier and Type | Field and Description |
---|---|
protected int |
iState |
protected String |
oFullNamespacePrefix |
protected ContentHandler |
oHandler |
protected String |
oNamespacePrefix |
protected boolean |
tNamespacePrefixes |
protected boolean |
tNamespaces |
Constructor and Description |
---|
FastaSearchSAXParser()
Creates a new
FastaSearchSAXParser instance. |
Modifier and Type | Method and Description |
---|---|
void |
addHitProperty(Object key,
Object value)
The
addHitProperty method adds a key/value pair
containing some property of a particular hit. |
void |
addPrefixMapping(String poPrefix,
String poURI)
Adds a namespace prefix to URI mapping as (key,value) pairs.
|
void |
addSearchProperty(Object key,
Object value)
The
addSearchProperty method adds a key/value pair
containing some property of the overall search result. |
void |
addSubHitProperty(Object key,
Object value)
The
addSubHitProperty method adds a key/value pair
containing some property of a particular subhit. |
protected void |
changeState(int piState)
Centralise chaining of iState field to help
with debugging.
|
protected void |
characters(char[] ch,
int start,
int length)
Utility method to centralize the sending of a SAX characters
message a document handler.
|
protected void |
endElement(org.biojava.bio.program.sax.QName poQName)
Utility method to centralize the sending of a SAX endElement
message a document handler.
|
void |
endHeader()
The
endHeader method indicates the end of a
formatted header. |
void |
endHit()
The
endHit method indicates the end of a formatted
hit. |
void |
endSearch()
The
endSearch method indicates the end of useful
search information. |
void |
endSubHit()
The
endSubHit method indicates the end of a
formatted subhit. |
ContentHandler |
getContentHandler()
Return the content handler.
|
protected BufferedReader |
getContentStream(InputSource poSource)
Create a stream from an an InputSource, picking the
correct stream according to order of precedance.
|
DTDHandler |
getDTDHandler()
Do-nothing implementation of interface method
|
EntityResolver |
getEntityResolver()
Do-nothing implementation of interface method
|
ErrorHandler |
getErrorHandler()
Do-nothing implementation of interface method
|
boolean |
getFeature(String poName)
Do-nothing implementation of interface method
|
boolean |
getMoreSearches()
getMoreSearches returns the state of the
SearchContentHandler with respect to further
searches from its data source. |
String |
getNamespacePrefix()
Describe
getNamespacePrefix method here. |
boolean |
getNamespacePrefixes()
Support SAX2 configuration of namespace support of parser.
|
boolean |
getNamespaces()
Support SAX2 configuration of namespace support of parser.
|
Object |
getProperty(String name)
Do-nothing implementation of interface method
|
String |
getURIFromPrefix(String poPrefix)
Gets the URI for a namespace prefix, given that prefix,
or null if the prefix is not recognised.
|
void |
parse(InputSource source)
Do-nothing implementation of interface method
|
void |
parse(String poSystemId)
Full implementation of interface method.
|
String |
prefix(String poElementName)
Given an unprefixed element name, returns
a new element name with a namespace prefix
|
void |
setContentHandler(ContentHandler poHandler)
Allow an application to register a content event handler.
|
void |
setDatabaseID(String databaseID)
setDatabaseID identifies the database searched by
a name, ID or URN. |
void |
setDTDHandler(DTDHandler handler)
Do-nothing implementation of interface method
|
void |
setEntityResolver(EntityResolver resolver)
Do-nothing implementation of interface method
|
void |
setErrorHandler(ErrorHandler handler)
Do-nothing implementation of interface method
|
void |
setFeature(String poName,
boolean value)
Handles support for ReasoningDomain and Namespace-prefixes
|
void |
setMoreSearches(boolean value)
setMoreSearches sets the state of the
SearchContentHandler 's expectation of receiving
more results. |
void |
setNamespacePrefix(String poPrefix) |
void |
setProperty(String name,
Object value)
Do-nothing implementation of interface method
|
void |
setQueryID(String queryID)
setQueryID identifies the query sequence by a
name, ID or URN. |
void |
setQuerySeq(String identifier)
Deprecated.
use
setQueryID instead. |
void |
setSubjectDB(String identifier)
Deprecated.
use
setDatabaseID instead. |
protected void |
startElement(org.biojava.bio.program.sax.QName poQName,
Attributes atts)
Utility method to centralize sending of a SAX
startElement message to document handler
|
void |
startHeader()
The
startHeader method indicates the start of a
formatted header. |
void |
startHit()
The
startHit method indicates the start of a
formatted hit. |
void |
startSearch()
The
startSearch method indicates the start of
useful search information. |
void |
startSubHit()
The
startSubHit method indicates the start of a
formatted subhit. |
protected ContentHandler oHandler
protected boolean tNamespaces
protected boolean tNamespacePrefixes
protected String oNamespacePrefix
protected String oFullNamespacePrefix
protected int iState
public FastaSearchSAXParser()
FastaSearchSAXParser
instance.public void parse(InputSource source) throws IOException, SAXException
parse
in interface XMLReader
IOException
SAXException
public boolean getMoreSearches()
SearchContentHandler
getMoreSearches
returns the state of the
SearchContentHandler
with respect to further
searches from its data source. Used for handling streams of
search results.getMoreSearches
in interface SearchContentHandler
boolean
value.public void setMoreSearches(boolean value)
SearchContentHandler
setMoreSearches
sets the state of the
SearchContentHandler
's expectation of receiving
more results. Used for handling streams of search results.setMoreSearches
in interface SearchContentHandler
value
- a boolean
value.public void setQuerySeq(String identifier)
setQueryID
instead.setQuerySeq
identifies the query sequence by a
name, ID or URN.identifier
- a String
which should be an
unique identifer for the sequence.public void setQueryID(String queryID)
SearchContentHandler
setQueryID
identifies the query sequence by a
name, ID or URN.setQueryID
in interface SearchContentHandler
queryID
- a String
which should be an unique
identifer for the sequence.public void setSubjectDB(String identifier)
setDatabaseID
instead.setSubjectDB
identifies the database searched by a
name, ID or URN.identifier
- a String
which should be an unique
identifier for the database searched.public void setDatabaseID(String databaseID)
SearchContentHandler
setDatabaseID
identifies the database searched by
a name, ID or URN.setDatabaseID
in interface SearchContentHandler
databaseID
- a String
which should be an unique
identifier for the database searched.public void startSearch()
SearchContentHandler
startSearch
method indicates the start of
useful search information.startSearch
in interface SearchContentHandler
public void addSearchProperty(Object key, Object value)
SearchContentHandler
addSearchProperty
method adds a key/value pair
containing some property of the overall search result.addSearchProperty
in interface SearchContentHandler
key
- an Object
.value
- an Object
.public void endSearch()
SearchContentHandler
endSearch
method indicates the end of useful
search information.endSearch
in interface SearchContentHandler
public void startHeader()
SearchContentHandler
startHeader
method indicates the start of a
formatted header. This usually contains information relevant to
the search as a whole.startHeader
in interface SearchContentHandler
public void endHeader()
SearchContentHandler
endHeader
method indicates the end of a
formatted header.endHeader
in interface SearchContentHandler
public void startHit()
SearchContentHandler
startHit
method indicates the start of a
formatted hit. This could be a single line, or a block of
lines.startHit
in interface SearchContentHandler
public void addHitProperty(Object key, Object value)
SearchContentHandler
addHitProperty
method adds a key/value pair
containing some property of a particular hit.addHitProperty
in interface SearchContentHandler
key
- an Object
.value
- an Object
.public void endHit()
SearchContentHandler
endHit
method indicates the end of a formatted
hit.endHit
in interface SearchContentHandler
public void startSubHit()
SearchContentHandler
startSubHit
method indicates the start of a
formatted subhit. There may be zero or more of these per hit.startSubHit
in interface SearchContentHandler
public void addSubHitProperty(Object key, Object value)
SearchContentHandler
addSubHitProperty
method adds a key/value pair
containing some property of a particular subhit.addSubHitProperty
in interface SearchContentHandler
key
- an Object
.value
- an Object
.public void endSubHit()
SearchContentHandler
endSubHit
method indicates the end of a
formatted subhit.endSubHit
in interface SearchContentHandler
public void setContentHandler(ContentHandler poHandler)
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
setContentHandler
in interface XMLReader
poHandler
- a ContentHandler
The XML content handlerNullPointerException
- If the handler argument is nullpublic ContentHandler getContentHandler()
getContentHandler
in interface XMLReader
ContentHandler
The current content handler,
or null if none has been registered.public void parse(String poSystemId) throws IOException, SAXException
parse
in interface XMLReader
IOException
SAXException
public boolean getFeature(String poName) throws SAXNotRecognizedException, SAXNotSupportedException
getFeature
in interface XMLReader
SAXNotRecognizedException
SAXNotSupportedException
public void setFeature(String poName, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
setFeature
in interface XMLReader
SAXNotRecognizedException
SAXNotSupportedException
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
getProperty
in interface XMLReader
SAXNotRecognizedException
SAXNotSupportedException
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
setProperty
in interface XMLReader
SAXNotRecognizedException
SAXNotSupportedException
public void setEntityResolver(EntityResolver resolver)
setEntityResolver
in interface XMLReader
public EntityResolver getEntityResolver()
getEntityResolver
in interface XMLReader
public void setDTDHandler(DTDHandler handler)
setDTDHandler
in interface XMLReader
public DTDHandler getDTDHandler()
getDTDHandler
in interface XMLReader
public void setErrorHandler(ErrorHandler handler)
setErrorHandler
in interface XMLReader
public ErrorHandler getErrorHandler()
getErrorHandler
in interface XMLReader
protected void startElement(org.biojava.bio.program.sax.QName poQName, Attributes atts) throws SAXException
poQName
- a QName
valueatts
- an Attributes
valueSAXException
- if an error occursprotected void endElement(org.biojava.bio.program.sax.QName poQName) throws SAXException
poQName
- -SAXException
- thrown ifthrown
- ifprotected void characters(char[] ch, int start, int length) throws SAXException
ch
- -start
- -length
- -SAXException
- thrown ifthrown
- ifpublic boolean getNamespaces()
public boolean getNamespacePrefixes()
public void addPrefixMapping(String poPrefix, String poURI)
poPrefix
- a String
representation of the
namespace prefixpoURI
- a String
representation of the URI
for the namespace prefix.public String getURIFromPrefix(String poPrefix)
poPrefix
- a String
The namespace prefix.public void setNamespacePrefix(String poPrefix)
poPrefix
- a String
valuepublic String getNamespacePrefix()
getNamespacePrefix
method here.String
valuepublic String prefix(String poElementName)
String
valueprotected BufferedReader getContentStream(InputSource poSource)
poSource
- an InputSource
valueBufferedReader
valueprotected void changeState(int piState)
piState
- an int
valueCopyright © 2014 BioJava. All rights reserved.