# Enum Class SamIndexes

java.lang.Object
java.lang.Enum<SamIndexes>
htsjdk.samtools.SamIndexes

All Implemented Interfaces:
  `Serializable, Comparable<SamIndexes>, Constable`

public enum SamIndexes extends Enum<SamIndexes>
A helper class to read BAI and CRAI indexes. Main goal is to provide BAI stream as a sort of common API for all index types.

Created by vadim on 14/08/2015.

## Nested Class Summary

### Nested classes/interfaces inherited from class Enum

`Enum.EnumDesc<E>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`BAI`
`CRAI`
`CSI`

## Field Summary

Fields
Modifier and Type
Field
Description
`final String`
`fileNameSuffix`
`final byte[]`
`magic`

## Method Summary

Modifier and Type
Method
Description
`static SeekableStream`
`asBaiSeekableStreamOrNull(SeekableStream inputStream, SAMSequenceDictionary dictionary)`
`static InputStream`
`asBaiStreamOrNull(InputStream inputStream, SAMSequenceDictionary dictionary)`
`static SamIndexes`
`getSAMIndexTypeFromStream(SeekableStream seekableStream)`
`static InputStream`
`openIndexFileAsBaiOrNull(File file, SAMSequenceDictionary dictionary)`
`static InputStream`
`openIndexUrlAsBaiOrNull(URL url, SAMSequenceDictionary dictionary)`
`static SamIndexes`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static SamIndexes[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.

### Methods inherited from class Enum

`clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class Object

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### BAI

public static final SamIndexes BAI

### CRAI

public static final SamIndexes CRAI

### CSI

public static final SamIndexes CSI

## Field Details

### fileNameSuffix

public final String fileNameSuffix

### magic

public final byte[] magic

## Method Details

### values

public static SamIndexes[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

Returns:
  an array containing the constants of this enum class, in the order they are declared

### valueOf

public static SamIndexes valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum class has no constant with the specified name
  `NullPointerException` - if the argument is null

### openIndexFileAsBaiOrNull

public static InputStream openIndexFileAsBaiOrNull(File file, SAMSequenceDictionary dictionary) throws IOException

Throws:
  `IOException`

### openIndexUrlAsBaiOrNull

public static InputStream openIndexUrlAsBaiOrNull(URL url, SAMSequenceDictionary dictionary) throws IOException

Throws:
  `IOException`

### asBaiStreamOrNull

public static InputStream asBaiStreamOrNull(InputStream inputStream, SAMSequenceDictionary dictionary) throws IOException

Throws:
  `IOException`

### asBaiSeekableStreamOrNull

public static SeekableStream asBaiSeekableStreamOrNull(SeekableStream inputStream, SAMSequenceDictionary dictionary) throws IOException

Throws:
  `IOException`

### getSAMIndexTypeFromStream

public static SamIndexes getSAMIndexTypeFromStream(SeekableStream seekableStream)