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

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

All Implemented Interfaces:
  GFFDocumentHandler

    public class GFFFilterer

extends Object
implements GFFDocumentHandler

An object that filters a stream of GFF, forwarding some GFFRecords to a listening GFFDocumentHandler, and dropping others.

The choice to forward or drop is made by a GFFRecordFilter.

Unless otherwise stated, all methods forward to the listening handler without altering the arguments in any way.

Author:
  Matthew Pocock

Constructor Summary
`GFFFilterer(GFFDocumentHandler handler, GFFRecordFilter filter)` Create a new GFFFilterer that will forward to handler everything that filter accepts.

Method Summary
`void` `commentLine(String comment)` A comment line has been encountered.
`void` `endDocument()` Indicates that the current GFF document has now ended.
`void` `recordLine(GFFRecord record)` Only forward the GFFRecords that match a filter.
`void` `startDocument(String locator)` Indicates that a new GFF document has been started.

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

Constructor Detail

### GFFFilterer

    public GFFFilterer(GFFDocumentHandler handler,
                       GFFRecordFilter filter)

  Create a new GFFFilterer that will forward to handler everything that filter accepts.

  Parameters:
    `handler` - the listening GFFDocumentHandler
    `filter` - the GFFRecordFilter that decides what is forwarded to handler

Method Detail

### startDocument

    public void startDocument(String locator)

  Description copied from interface: `GFFDocumentHandler`
  Indicates that a new GFF document has been started. This gives you a hook to set up per-document resources.

  Specified by:
    `startDocument` in interface `GFFDocumentHandler`
  Parameters:
    `locator` - A URI for the stream being parsed.

### endDocument

    public void endDocument()

  Description copied from interface: `GFFDocumentHandler`
  Indicates that the current GFF document has now ended.

  This gives you the chance to flush results, or do calculations if you wish.

  Specified by:
    `endDocument` in interface `GFFDocumentHandler`

### commentLine

    public void commentLine(String comment)

  Description copied from interface: `GFFDocumentHandler`
  A comment line has been encountered.

  comment has already had the leading '`#`' removed, and may have had leading-and-trailing whitespace trimmed.

  Specified by:
    `commentLine` in interface `GFFDocumentHandler`
  Parameters:
    `comment` - the comment String

### recordLine

    public void recordLine(GFFRecord record)

  Only forward the GFFRecords that match a filter.

  Specified by:
    `recordLine` in interface `GFFDocumentHandler`
  Parameters:
    `record` - the GFFRecord containing all the info