picard.vcf.processor

## Class VariantProcessor<RESULT,ACCUMULATOR extends VariantProcessor.Accumulator<RESULT>>

- java.lang.Object
- - picard.vcf.processor.VariantProcessor<RESULT,ACCUMULATOR>

-     public class VariantProcessor<RESULT,ACCUMULATOR extends VariantProcessor.Accumulator<RESULT>>
      extends Object

  Describes an object that processes variants and produces a result.

  A consumer typically builds an instance of this class via `VariantProcessor.Builder`, providing it the appropriate `VariantProcessor.AccumulatorGenerator` and `VariantProcessor.ResultMerger`, then calls `process()` to obtain the `RESULT` of the processing.

  Future work...? - Make more efficient for the single-thread case. - A `VcfFileSegmentGenerator` that is based on an interval list, so that segments' span a constant-size total-base-count overlap with the interval list (or something in that vein).

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `VariantProcessor.Accumulator<RESULT>` Handles `VariantContext`s, and accumulates their data in some fashion internally.
    `static interface` | `VariantProcessor.AccumulatorGenerator<ACCUMULATOR extends VariantProcessor.Accumulator<RESULT>,RESULT>` Generates instances of `VariantProcessor.Accumulator`s.
    `static class` | `VariantProcessor.Builder<A extends VariantProcessor.Accumulator<R>,R>` Simple builder of `VariantProcessor`s.
    `static interface` | `VariantProcessor.ResultMerger<RESULT>` Takes a collection of results produced by `VariantProcessor.Accumulator.result()` and merges them into a single `RESULT`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `RESULT` | `process()`

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

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

- - ### Method Detail

    - #### process

          public RESULT process()