# Interface HtsDecoder<H extends HtsHeader, R extends HtsRecord>

Type Parameters:
  `H` - type param for the header for this format (i.e. SAMFileHeader)
  `R` - type param for the record for this format (i.e. SAMRecord)

All Superinterfaces:
  `AutoCloseable, Closeable, HtsQuery<R>, Iterable<R>`

All Known Subinterfaces:
  `HaploidReferenceDecoder, ReadsDecoder, VariantsDecoder`

All Known Implementing Classes:
  `BAMDecoder, BAMDecoderV1_0, CRAMDecoder, CRAMDecoderV2_1, CRAMDecoderV3_0, CRAMDecoderV3_1, FASTADecoderV1_0, HtsgetBAMDecoder, HtsgetBAMDecoderV1_2, SAMDecoder, SAMDecoderV1_0, VCFDecoder, VCFDecoderV3_2, VCFDecoderV3_3, VCFDecoderV4_0, VCFDecoderV4_1, VCFDecoderV4_2, VCFDecoderV4_3`

public interface HtsDecoder<H extends HtsHeader, R extends HtsRecord> extends HtsQuery<R>, Closeable
Base interface for decoders.

Implementations should not attempt to automatically resolve a companion index, and instead should only satisfy index queries when the provided input bundle explicitly specifies an index resource.

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Close any resources associated with this decoder.
`String`
`getDisplayName()`
Get a user-friendly display name for this decoder.
`String`
`getFileFormat()`
Get the name of the file format supported by this decoder.The format name defines the underlying format handled by this decoder, and also corresponds to the format of the primary bundle resource that is required when decoding (see `BundleResourceType` and `BundleResource.getFileFormat()`).
`H`
`getHeader()`
Get the file header for this decoder.
`HtsVersion`
`getVersion()`
Get the version of the file format supported by this decoder.

### Methods inherited from interface HtsQuery

`hasIndex, isQueryable, iterator, query, query, query, query, queryContained, queryContained, queryContained, queryOverlapping, queryOverlapping, queryOverlapping, queryStart`

### Methods inherited from interface Iterable

`forEach, spliterator`

## Method Details

### getFileFormat

String getFileFormat()
Get the name of the file format supported by this decoder.The format name defines the underlying format handled by this decoder, and also corresponds to the format of the primary bundle resource that is required when decoding (see `BundleResourceType` and `BundleResource.getFileFormat()`).

Returns:
  the name of the underlying file format handled by this decoder

### getVersion

HtsVersion getVersion()
Get the version of the file format supported by this decoder.

### getDisplayName

String getDisplayName()
Get a user-friendly display name for this decoder.

Returns:
  a user-friendly display name for this decoder for use in error and warning messages

### getHeader

H getHeader()
Get the file header for this decoder.

Returns:
  the file header for this decoder, of type `H`

### close

void close()
Close any resources associated with this decoder.

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`