org.biojavax.bio.phylo.io.nexus
Interface NexusFileListener

All Known Implementing Classes:
NexusFileBuilder, NexusFileListener.Abstract

public interface NexusFileListener

Listens to events fired by the Nexus parser. Use these events to handle data directly or construct objects.

Since:
1.6
Author:
Richard Holland, Tobias Thierer, Jim Balhoff

Nested Class Summary
static class NexusFileListener.Abstract
          Example abstract implementation which all others should extend.
 
Method Summary
 void beginComment()
          Opening a comment tag.
 void commentText(String comment)
          Receiving free text inside a comment tag.
 void endBlock()
          Finished reading a block.
 void endComment()
          Closing a comment tag.
 void endFile()
          Finished reading a file.
 void endTokenGroup()
          Closing a line (semi-colon encountered).
 NexusBlockParser getBlockParser(String blockName)
          Gets the parser to use for a given block.
 void parseToken(String token)
          Encountered a token.
 void setBlockParser(String blockName, NexusBlockParser parser)
          Sets the parser to use for a given block.
 void setDefaultBlockParsers()
          Causes the default block parsers to be assigned.
 void startBlock(String blockName)
          About to start a new block.
 void startFile()
          About to start a new file.
 boolean wantsBracketsAndBraces()
          Does the listener want to know about brackets and braces as separate tokens?
 

Method Detail

startFile

void startFile()
About to start a new file.


endFile

void endFile()
Finished reading a file.


beginComment

void beginComment()
Opening a comment tag.


commentText

void commentText(String comment)
                 throws ParseException
Receiving free text inside a comment tag.

Parameters:
comment - the text of the comment.
Throws:
ParseException

endComment

void endComment()
Closing a comment tag.


endTokenGroup

void endTokenGroup()
Closing a line (semi-colon encountered). This indicates that anything received after it is on the next logical line of the file.


setDefaultBlockParsers

void setDefaultBlockParsers()
Causes the default block parsers to be assigned. This is called by the constructor of the abstract implementation. If it is not called, then at least the unknown block parser must be set by other means.


setBlockParser

void setBlockParser(String blockName,
                    NexusBlockParser parser)
Sets the parser to use for a given block.

Parameters:
blockName - the name of the block.
parser - the parser to use. Use null to unset an existing one and use the default one for that block instead.

getBlockParser

NexusBlockParser getBlockParser(String blockName)
Gets the parser to use for a given block.

Parameters:
blockName - the name of the block. return parser the parser to use. Is never null.

startBlock

void startBlock(String blockName)
About to start a new block.

Parameters:
blockName - the name of the new block.

endBlock

void endBlock()
Finished reading a block.


parseToken

void parseToken(String token)
                throws ParseException
Encountered a token.

Parameters:
token - the token.
Throws:
ParseException - if the token is invalid.

wantsBracketsAndBraces

boolean wantsBracketsAndBraces()
Does the listener want to know about brackets and braces as separate tokens?

Returns:
true if it does.