# Class BCF2FieldEncoder.Flag

java.lang.Object
htsjdk.variant.variantcontext.writer.BCF2FieldEncoder
htsjdk.variant.variantcontext.writer.BCF2FieldEncoder.Flag

Enclosing class:
  `BCF2FieldEncoder`

public static class BCF2FieldEncoder.Flag extends BCF2FieldEncoder

Since:
  06/12

## Nested Class Summary

### Nested classes/interfaces inherited from class BCF2FieldEncoder

`BCF2FieldEncoder.AtomicInt, BCF2FieldEncoder.Flag, BCF2FieldEncoder.Float, BCF2FieldEncoder.GenericInts, BCF2FieldEncoder.IntArray, BCF2FieldEncoder.StringOrCharacter`

## Constructor Summary

Constructors
Constructor
Description
`Flag(VCFCompoundHeaderLine headerLine, Map<String,Integer> dict)`

## Method Summary

Modifier and Type
Method
Description
`void`
`encodeValue(BCF2Encoder encoder, Object value, BCF2Type type, int minValues)`
Key abstract method that should encode a value of the given type into the encoder.
`int`
`numElements()`

### Methods inherited from class BCF2FieldEncoder

`getCountType, getDynamicType, getField, getStaticType, getType, hasConstantNumElements, hasContextDeterminedNumElements, hasValueDeterminedNumElements, isDynamicallyTyped, isStaticallyTyped, numElements, numElements, numElements, numElementsFromValue, toString, writeFieldKey`

### Methods inherited from class Object

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

## Constructor Details

### Flag

public Flag(VCFCompoundHeaderLine headerLine, Map<String,Integer> dict)

## Method Details

### numElements

public int numElements()

Overrides:
  `numElements` in class `BCF2FieldEncoder`
Returns:
  the number of elements, assuming this field has a constant number of elements.

### encodeValue

public void encodeValue(BCF2Encoder encoder, Object value, BCF2Type type, int minValues) throws IOException
Description copied from class: `BCF2FieldEncoder`
Key abstract method that should encode a value of the given type into the encoder. Value will be of a type appropriate to the underlying encoder. If the genotype field is represented as an int[], this will be value, and the encoder needs to handle encoding all of the values in the int[]. The argument should be used, not the getType() method in the superclass as an outer loop might have decided a more general type (int16) to use, even through this encoder could have been done with int8. If minValues > 0, then encodeValue must write in at least minValues items from value. If value is atomic, this means that minValues - 1 MISSING values should be added to the encoder. If minValues is a collection type (int[]) then minValues - values.length should be added. This argument is intended to handle padding of values in genotype fields.

Specified by:
  `encodeValue` in class `BCF2FieldEncoder`
Parameters:
  `encoder` -
  `value` -
  `type` -
  `minValues` -
Throws:
  `IOException`