public Flag(final VCFCompoundHeaderLine headerLine, final Map<String, Integer> dict ) { super(headerLine, dict, BCF2Type.INT8); if ( ! headerLine.isFixedCount() || headerLine.getCount() != 0 ) throw new IllegalStateException("Flag encoder only supports atomic flags for field " + getField()); }
private BCF2FieldEncoder createFieldEncoder(final VCFCompoundHeaderLine line, final BCF2Encoder encoder, final Map<String, Integer> dict, final boolean createGenotypesEncoders ) { if ( createGenotypesEncoders && intGenotypeFieldAccessors.getAccessor(line.getID()) != null ) { if ( GeneralUtils.DEBUG_MODE_ENABLED && line.getType() != VCFHeaderLineType.Integer ) System.err.println("Warning: field " + line.getID() + " expected to encode an integer but saw " + line.getType() + " for record " + line); return new BCF2FieldEncoder.IntArray(line, dict); } else if ( createGenotypesEncoders && line.getID().equals(VCFConstants.GENOTYPE_KEY) ) { return new BCF2FieldEncoder.GenericInts(line, dict); } else { switch ( line.getType() ) { case Character: case String: return new BCF2FieldEncoder.StringOrCharacter(line, dict); case Flag: return new BCF2FieldEncoder.Flag(line, dict); case Float: return new BCF2FieldEncoder.Float(line, dict); case Integer: if ( line.isFixedCount() && line.getCount() == 1 ) return new BCF2FieldEncoder.AtomicInt(line, dict); else return new BCF2FieldEncoder.GenericInts(line, dict); default: throw new IllegalArgumentException("Unexpected type for field " + line.getID()); } } }
private BCF2FieldEncoder createFieldEncoder(final VCFCompoundHeaderLine line, final BCF2Encoder encoder, final Map<String, Integer> dict, final boolean createGenotypesEncoders ) { if ( createGenotypesEncoders && intGenotypeFieldAccessors.getAccessor(line.getID()) != null ) { if ( GeneralUtils.DEBUG_MODE_ENABLED && line.getType() != VCFHeaderLineType.Integer ) System.err.println("Warning: field " + line.getID() + " expected to encode an integer but saw " + line.getType() + " for record " + line); return new BCF2FieldEncoder.IntArray(line, dict); } else if ( createGenotypesEncoders && line.getID().equals(VCFConstants.GENOTYPE_KEY) ) { return new BCF2FieldEncoder.GenericInts(line, dict); } else { switch ( line.getType() ) { case Character: case String: return new BCF2FieldEncoder.StringOrCharacter(line, dict); case Flag: return new BCF2FieldEncoder.Flag(line, dict); case Float: return new BCF2FieldEncoder.Float(line, dict); case Integer: if ( line.isFixedCount() && line.getCount() == 1 ) return new BCF2FieldEncoder.AtomicInt(line, dict); else return new BCF2FieldEncoder.GenericInts(line, dict); default: throw new IllegalArgumentException("Unexpected type for field " + line.getID()); } } }
private BCF2FieldEncoder createFieldEncoder(final VCFCompoundHeaderLine line, final BCF2Encoder encoder, final Map<String, Integer> dict, final boolean createGenotypesEncoders ) { if ( createGenotypesEncoders && intGenotypeFieldAccessors.getAccessor(line.getID()) != null ) { if ( GeneralUtils.DEBUG_MODE_ENABLED && line.getType() != VCFHeaderLineType.Integer ) System.err.println("Warning: field " + line.getID() + " expected to encode an integer but saw " + line.getType() + " for record " + line); return new BCF2FieldEncoder.IntArray(line, dict); } else if ( createGenotypesEncoders && line.getID().equals(VCFConstants.GENOTYPE_KEY) ) { return new BCF2FieldEncoder.GenericInts(line, dict); } else { switch ( line.getType() ) { case Character: case String: return new BCF2FieldEncoder.StringOrCharacter(line, dict); case Flag: return new BCF2FieldEncoder.Flag(line, dict); case Float: return new BCF2FieldEncoder.Float(line, dict); case Integer: if ( line.isFixedCount() && line.getCount() == 1 ) return new BCF2FieldEncoder.AtomicInt(line, dict); else return new BCF2FieldEncoder.GenericInts(line, dict); default: throw new IllegalArgumentException("Unexpected type for field " + line.getID()); } } }
@Override public void encodeValue(final BCF2Encoder encoder, final Object value, final BCF2Type type, final int minValues) throws IOException { encoder.encodeRawBytes(1, getStaticType()); } }
@Override @Requires({"minValues <= 1", "value != null", "value instanceof Boolean", "((Boolean)value) == true"}) public void encodeValue(final BCF2Encoder encoder, final Object value, final BCF2Type type, final int minValues) throws IOException { encoder.encodeRawBytes(1, getStaticType()); } }
public Flag(final VCFCompoundHeaderLine headerLine, final Map<String, Integer> dict ) { super(headerLine, dict, BCF2Type.INT8); if ( ! headerLine.isFixedCount() || headerLine.getCount() != 0 ) throw new IllegalStateException("Flag encoder only supports atomic flags for field " + getField()); }
public Flag(final VCFCompoundHeaderLine headerLine, final Map<String, Integer> dict ) { super(headerLine, dict, BCF2Type.INT8); if ( ! headerLine.isFixedCount() || headerLine.getCount() != 0 ) throw new IllegalStateException("Flag encoder only supports atomic flags for field " + getField()); }
@Override public void encodeValue(final BCF2Encoder encoder, final Object value, final BCF2Type type, final int minValues) throws IOException { encoder.encodeRawBytes(1, getStaticType()); } }