# Interface IndexCreator

All Known Implementing Classes:
  `AllRefsTabixIndexCreator, DynamicIndexCreator, IntervalIndexCreator, LinearIndexCreator, StreamBasedTabixIndexCreator, TabixIndexCreator, TribbleIndexCreator`

public interface IndexCreator
An interface for creating indexes

## Method Summary

Modifier and Type
Method
Description
`void`
`addFeature(Feature feature, long filePosition)`
Add a feature to the index
`Index`
`finalizeIndex(long finalFilePosition)`
Create the index, given the stream of features passed in to this point
`default void`
`setIndexSequenceDictionary(SAMSequenceDictionary dict)`
Set the sequence dictionary for the index.

## Method Details

### addFeature

void addFeature(Feature feature, long filePosition)
Add a feature to the index

Parameters:
  `feature` - the feature, of which start, end, and contig must be filled in
  `filePosition` - the current file position, at the beginning of the specified feature

### finalizeIndex

Index finalizeIndex(long finalFilePosition)
Create the index, given the stream of features passed in to this point

Parameters:
  `finalFilePosition` - the final file position, for indexes that have to close out with the final position
Returns:
  an index object

### setIndexSequenceDictionary

default void setIndexSequenceDictionary(SAMSequenceDictionary dict)
Set the sequence dictionary for the index. Default implementation does nothing.

Parameters:
  `dict` - the dictionary to add to the index.