# Interface: com.pnfsoftware.jeb.core.dao.IFileDatabaseReader
- Super interfaces: `java.io.Closeable`

A database record reader.

## Abstract Method: getBackingFile
- return type: `java.io.File`
- throws: `java.nio.file.NoSuchFileException`

Description: Retrieve the backing file, if any.
return: the backing file
throws: if no backing file exists

## Abstract Method: getRecord
- parameter: `type`, type: `int`
- return type: `java.io.InputStream`
- throws: `java.io.IOException`

Description: Retrieve a record.
parameter: type: record type
return: record data stream
throws: if the record could not be retrieved

## Abstract Method: getRecord
- parameter: `r`, type: `com.pnfsoftware.jeb.core.dao.impl.JDB2Reader.RecordDescription`
- return type: `java.io.InputStream`
- throws: `java.io.IOException`

Description: Retrieve a record.
parameter: r: record description
return: record data stream
throws: if the record could not be retrieved

## Abstract Method: getRecordDescription
- parameter: `type`, type: `int`
- return type: `com.pnfsoftware.jeb.core.dao.impl.JDB2Reader.RecordDescription`

Description: Retrieve the description of a record of a given type.
parameter: type: record type
return: the matching record description, or `null` if no such record exists

## Abstract Method: getRecordDescriptions
- return type: `java.util.List<com.pnfsoftware.jeb.core.dao.impl.JDB2Reader.RecordDescription>`

Description: Retrieve the descriptions of all records contained in the database.
return: the record descriptions in storage order

## Abstract Method: hasBackingFile
- return type: `boolean`

Description: Determine if this database is backed by a file.
return: `true` if a backing file is available

