Package org.apache.lucene.index

# Class DocIDMerger<T extends DocIDMerger.Sub>

java.lang.Object
org.apache.lucene.index.DocIDMerger<T>

public abstract class DocIDMerger<T extends DocIDMerger.Sub> extends Object
Utility class to help merging documents from sub-readers according to either simple concatenated (unsorted) order, or by a specified index-time sort, skipping deleted documents and remapping non-deleted documents.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`DocIDMerger.Sub`
Represents one sub-reader being merged

## Method Summary

Modifier and Type
Method
Description
`abstract T`
`next()`
Returns null when done.
`static <T extends DocIDMerger.Sub>
DocIDMerger<T>`
`of(List<T> subs, boolean indexIsSorted)`
Construct this from the provided subs
`static <T extends DocIDMerger.Sub>
DocIDMerger<T>`
`of(List<T> subs, int maxCount, boolean indexIsSorted)`
Construct this from the provided subs, specifying the maximum sub count
`abstract void`
`reset()`
Reuse API, currently only used by postings during merge

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### of

public static <T extends DocIDMerger.Sub> DocIDMerger<T> of(List<T> subs, int maxCount, boolean indexIsSorted) throws IOException
Construct this from the provided subs, specifying the maximum sub count

Throws:
  `IOException`

### of

public static <T extends DocIDMerger.Sub> DocIDMerger<T> of(List<T> subs, boolean indexIsSorted) throws IOException
Construct this from the provided subs

Throws:
  `IOException`

### reset

public abstract void reset() throws IOException
Reuse API, currently only used by postings during merge

Throws:
  `IOException`

### next

public abstract T next() throws IOException
Returns null when done. NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior.

Throws:
  `IOException`