# Class FilterFileReader

java.lang.Object
picard.illumina.parser.readers.FilterFileReader

All Implemented Interfaces:
  `Iterator<Boolean>`

public class FilterFileReader extends Object implements Iterator<Boolean>
Illumina uses an algorithm described in "Theory of RTA" that determines whether or not a cluster passes filter("PF") or not. These values are written as sequential bytes to Filter Files. The structure of a filter file is as follows: Bytes 0-3 : 0 Bytes 4-7 : unsigned int version Bytes 8-11 : unsigned int numClusters

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`EXPECTED_VERSION`
Expected Version
`final long`
`numClusters`
The number of cluster's pf values stored in this file
`final int`
`version`
Version number found in the FilterFile, this should equal 3

## Constructor Summary

Constructors
Constructor
Description
`FilterFileReader(File file)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`hasNext()`
`Boolean`
`next()`
`void`
`remove()`
`void`
`skipRecords(int numToSkip)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface Iterator

`forEachRemaining`

## Field Details

### EXPECTED_VERSION

public static final int EXPECTED_VERSION
Expected Version

See Also:
  - Constant Field Values

### version

public final int version
Version number found in the FilterFile, this should equal 3

### numClusters

public final long numClusters
The number of cluster's pf values stored in this file

## Constructor Details

### FilterFileReader

public FilterFileReader(File file)

## Method Details

### hasNext

public boolean hasNext()

Specified by:
  `hasNext` in interface `Iterator<Boolean>`

### next

public Boolean next()

Specified by:
  `next` in interface `Iterator<Boolean>`

### skipRecords

public void skipRecords(int numToSkip)

### remove

public void remove()

Specified by:
  `remove` in interface `Iterator<Boolean>`