Class BCF2FieldEncoder.StringOrCharacter

java.lang.Object
htsjdk.variant.variantcontext.writer.BCF2FieldEncoder
htsjdk.variant.variantcontext.writer.BCF2FieldEncoder.StringOrCharacter
Enclosing class:
BCF2FieldEncoder

public static class BCF2FieldEncoder.StringOrCharacter extends BCF2FieldEncoder
  • Constructor Details

  • Method Details

    • 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
      Throws:
      IOException
    • hasConstantNumElements

      public boolean hasConstantNumElements()
      Overrides:
      hasConstantNumElements in class BCF2FieldEncoder
      Returns:
      True if this field has a constant, fixed number of elements (such as 1 for an atomic integer)
    • hasContextDeterminedNumElements

      public boolean hasContextDeterminedNumElements()
      Overrides:
      hasContextDeterminedNumElements in class BCF2FieldEncoder
      Returns:
      True if this field has a non-fixed number of elements that depends only on the properties of the current VariantContext, such as one value per Allele or per genotype configuration.
    • hasValueDeterminedNumElements

      public boolean hasValueDeterminedNumElements()
      Overrides:
      hasValueDeterminedNumElements in class BCF2FieldEncoder
      Returns:
      True if the only way to determine how many elements this field contains is by inspecting the actual value directly, such as when the number of elements is a variable length list per site or per genotype.
    • numElementsFromValue

      protected int numElementsFromValue(Object value)
      Description copied from class: BCF2FieldEncoder
      Given a value, return the number of elements we will encode for it. Assumes the value is encoded as a List
      Overrides:
      numElementsFromValue in class BCF2FieldEncoder
      Returns:
      the number of elements we will encode for .