Package htsjdk.samtools.cram.structure

# Enum Class EncodingID

java.lang.Object
java.lang.Enum<EncodingID>
htsjdk.samtools.cram.structure.EncodingID

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

public enum EncodingID extends Enum<EncodingID>
Encoding ID as specified by Section 3 of the CRAM spec. These are basically ways to serialize a data series.

## Nested Class Summary

## Nested classes/interfaces inherited from class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`BETA`
Binary coding with sufficient leading 0 bits to store each value with the same length
`BYTE_ARRAY_LEN`
A byte array serialized as [length][elements]
`BYTE_ARRAY_STOP`
A byte array serialized as [elements][stop]
`EXTERNAL`
Shove the data into a byte array for compressing later with a generic compressor like GZIP.
`GAMMA`
http://en.wikipedia.org/wiki/Elias_gamma_coding
`GOLOMB`
EXPERIMENTAL: This encoding is untested and scheduled for removal from the CRAM spec.
`GOLOMB_RICE`
EXPERIMENTAL: This encoding is untested and scheduled for removal from the CRAM spec.
`HUFFMAN`
http://en.wikipedia.org/wiki/Huffman_coding
`NULL`
"Do nothing" encoding.
`SUBEXPONENTIAL`
Subexponential codes.

## Method Summary

Modifier and Type
Method
Description
`int`
`getId()`
`boolean`
`isExternalEncoding()`
Return true if this encoding can be used in an external block.
`static EncodingID`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static EncodingID[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.

### Methods inherited from class java.lang.Enum

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

### Methods inherited from class java.lang.Object

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

## Enum Constant Details

### NULL

public static final EncodingID NULL
"Do nothing" encoding. Should throw an exception when trying reading or writing with this encoding.

### EXTERNAL

public static final EncodingID EXTERNAL
Shove the data into a byte array for compressing later with a generic compressor like GZIP.

### GOLOMB

public static final EncodingID GOLOMB
EXPERIMENTAL: This encoding is untested and scheduled for removal from the CRAM spec. http://en.wikipedia.org/wiki/Golomb_coding

### HUFFMAN

public static final EncodingID HUFFMAN
http://en.wikipedia.org/wiki/Huffman_coding

### BYTE_ARRAY_LEN

public static final EncodingID BYTE_ARRAY_LEN
A byte array serialized as [length][elements]

### BYTE_ARRAY_STOP

public static final EncodingID BYTE_ARRAY_STOP
A byte array serialized as [elements][stop]

### BETA

public static final EncodingID BETA
Binary coding with sufficient leading 0 bits to store each value with the same length

### SUBEXPONENTIAL

public static final EncodingID SUBEXPONENTIAL
Subexponential codes. http://www.ittc.ku.edu/~jsv/Papers/HoV94.progressive_FELICS.pdf

### GOLOMB_RICE

public static final EncodingID GOLOMB_RICE
EXPERIMENTAL: This encoding is untested and scheduled for removal from the CRAM spec. A variant of GOLOMB encoding: http://en.wikipedia.org/wiki/Golomb_coding

### GAMMA

public static final EncodingID GAMMA
http://en.wikipedia.org/wiki/Elias_gamma_coding

## Method Details

### values

public static EncodingID[] 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 EncodingID 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

### getId

public int getId()

Returns:
  the number assigned to each encoding in the CRAM spec

### isExternalEncoding

public boolean isExternalEncoding()
Return true if this encoding can be used in an external block. This returns true even for BYTE_ARRAY_LEN, even though BYTE_ARRAY_LEN is not entirely restricted to external, since it can use a core encoding for the array length sub-encoding.

Returns:
  true if the encoding is EXTERNAL, BYTE_ARRAY_STOP, or BYTE_ARRAY_LEN.