## org.biojava.bio.program.gff
Class GFFParser

    java.lang.Object
      org.biojava.bio.program.gff.GFFParser

    public class GFFParser

extends Object

Parse a stream of GFF text into a stream of records and comments.

Author:
  Matthew Pocock, Thomas Down, Keith James (docs)

Constructor Summary
`GFFParser()`

Method Summary
`protected GFFRecord` `createRecord(GFFDocumentHandler handler, List aList, String rest, String comment)` Actually turns a list of tokens, some value string and a comment into a GFFRecord and informs handler.
`GFFErrorHandler` `getErrorHandler()` Find the error handler used by this parser.
`void` `parse(BufferedReader bReader, GFFDocumentHandler handler)` Informs handler of each line of gff read from bReader.
`void` `parse(BufferedReader bReader, GFFDocumentHandler handler, String locator)` Informs handler of each line of GFF read from bReader
`protected Map` `parseAttribute(String attValList)` Parse attValList into a Map of attributes and value lists.
`void` `setErrorHandler(GFFErrorHandler errors)` Set the error handler used by this parser.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GFFParser

    public GFFParser()

Method Detail

### setErrorHandler

    public void setErrorHandler(GFFErrorHandler errors)

  Set the error handler used by this parser.

### getErrorHandler

    public GFFErrorHandler getErrorHandler()

  Find the error handler used by this parser.

### parse

    public void parse(BufferedReader bReader,
                      GFFDocumentHandler handler)
               throws IOException,
                      BioException,
                      ParserException

  Informs handler of each line of gff read from bReader. This form of the method should only be used if no locator string is available for the resource being parsed.

  Parameters:
    `bReader` - the BufferedReader to parse
    `handler` - the GFFDocumentHandler that will listen for 'stuff'
  Throws:
    `<span` - class="type">IOException if for any reason bReader throws one
    `<span` - class="type">BioException if handler can not correct a parse error
    `IOException`
    `BioException`
    `ParserException`

### parse

    public void parse(BufferedReader bReader,
                      GFFDocumentHandler handler,
                      String locator)
               throws IOException,
                      BioException,
                      ParserException

  Informs handler of each line of GFF read from bReader

  Parameters:
    `bReader` - the BufferedReader to parse
    `handler` - the GFFDocumentHandler that will listen for 'stuff'
  Throws:
    `<span` - class="type">IOException if for any reason bReader throws one
    `<span` - class="type">BioException if handler can not correct a parse error
    `IOException`
    `BioException`
    `ParserException`

### createRecord

    protected GFFRecord createRecord(GFFDocumentHandler handler,
                                     List aList,
                                     String rest,
                                     String comment)
                              throws BioException,
                                     ParserException,
                                     IgnoreRecordException

  Actually turns a list of tokens, some value string and a comment into a GFFRecord and informs handler.

  Parameters:
    `handler` - a GFFDocumentHandler to inform of any parse errors, and the completed GFFRecord
    `aList` - a List containing the 8 mandatory GFF columns
    `rest` - a String representing the unparsed attribute-value text, or null if there is none
    `comment` - a String containing the comment (without the leading '`#`' character.
  Throws:
    `<span` - class="type">BioException if handler could not correct a parse error
    `BioException`
    `ParserException`
    `IgnoreRecordException`

### parseAttribute

    protected Map parseAttribute(String attValList)

  Parse attValList into a Map of attributes and value lists.

  The resulting Map will have String keys, with List values. If there are no values associated with a key, then it will have an empty List, not null as its value.

  Parameters:
    `attValList` - the String to parse
  Returns:
    a Map of parsed attributes and value lists