Since we allow any generic header types, there's no longer any reason to check for supported types

This commit is contained in:
Eric Banks 2012-03-20 00:12:17 -04:00
parent 4910ef86d9
commit ade1971581
3 changed files with 14 additions and 26 deletions

View File

@ -167,10 +167,10 @@ public abstract class AbstractVCFCodec implements FeatureCodec, NameAwareCodec {
metaData.add(format);
formatFields.put(format.getID(), format.getType());
} else if ( str.startsWith(VCFConstants.CONTIG_HEADER_START) ) {
final VCFSimpleHeaderLine contig = new VCFSimpleHeaderLine(str.substring(9), version, VCFSimpleHeaderLine.SupportedHeaderLineType.GENERIC, null);
final VCFSimpleHeaderLine contig = new VCFSimpleHeaderLine(str.substring(9), version, VCFConstants.CONTIG_HEADER_START.substring(2), null);
metaData.add(contig);
} else if ( str.startsWith(VCFConstants.ALT_HEADER_START) ) {
final VCFSimpleHeaderLine alt = new VCFSimpleHeaderLine(str.substring(6), version, VCFSimpleHeaderLine.SupportedHeaderLineType.GENERIC, Arrays.asList("ID", "Description"));
final VCFSimpleHeaderLine alt = new VCFSimpleHeaderLine(str.substring(6), version, VCFConstants.ALT_HEADER_START.substring(2), Arrays.asList("ID", "Description"));
metaData.add(alt);
} else {
int equals = str.indexOf("=");

View File

@ -15,7 +15,7 @@ public class VCFFilterHeaderLine extends VCFSimpleHeaderLine {
* @param description the description for this header line
*/
public VCFFilterHeaderLine(String name, String description) {
super(name, description, SupportedHeaderLineType.FILTER);
super("FILTER", name, description);
}
/**
@ -25,6 +25,6 @@ public class VCFFilterHeaderLine extends VCFSimpleHeaderLine {
* @param version the vcf header version
*/
protected VCFFilterHeaderLine(String line, VCFHeaderVersion version) {
super(line, version, SupportedHeaderLineType.FILTER, Arrays.asList("ID", "Description"));
super(line, version, "FILTER", Arrays.asList("ID", "Description"));
}
}

View File

@ -11,41 +11,30 @@ import java.util.Map;
*/
public class VCFSimpleHeaderLine extends VCFHeaderLine implements VCFIDHeaderLine {
public enum SupportedHeaderLineType {
FILTER, GENERIC;
}
private String name;
private Map<String, String> genericFields = new LinkedHashMap<String, String>();
// our type of line, i.e. filter, alt, etc
private final SupportedHeaderLineType lineType;
/**
* create a VCF filter header line
*
* @param key the key for this header line
* @param name the name for this header line
* @param genericFields other fields for this header line
* @param lineType the header line type
*/
public VCFSimpleHeaderLine(String name, Map<String, String> genericFields, SupportedHeaderLineType lineType) {
super(lineType.toString(), "");
this.lineType = lineType;
public VCFSimpleHeaderLine(String key, String name, Map<String, String> genericFields) {
super(key, "");
initialize(name, genericFields);
}
/**
* create a VCF filter header line
*
* @param key the key for this header line
* @param name the name for this header line
* @param description description for this header line
* @param lineType the header line type
*/
public VCFSimpleHeaderLine(String name, String description, SupportedHeaderLineType lineType) {
super(lineType.toString(), "");
this.lineType = lineType;
public VCFSimpleHeaderLine(String key, String name, String description) {
super(key, "");
Map<String, String> map = new LinkedHashMap<String, String>(1);
map.put("Description", description);
initialize(name, map);
@ -56,12 +45,11 @@ public class VCFSimpleHeaderLine extends VCFHeaderLine implements VCFIDHeaderLin
*
* @param line the header line
* @param version the vcf header version
* @param lineType the header line type
* @param key the key for this header line
* @param expectedTagOrdering the tag ordering expected for this header line
*/
protected VCFSimpleHeaderLine(String line, VCFHeaderVersion version, SupportedHeaderLineType lineType, List<String> expectedTagOrdering) {
super(lineType.toString(), "");
this.lineType = lineType;
protected VCFSimpleHeaderLine(String line, VCFHeaderVersion version, String key, List<String> expectedTagOrdering) {
super(key, "");
Map<String, String> mapping = VCFHeaderLineTranslator.parseLine(version, line, expectedTagOrdering);
name = mapping.get("ID");
initialize(name, mapping);
@ -79,7 +67,7 @@ public class VCFSimpleHeaderLine extends VCFHeaderLine implements VCFIDHeaderLin
Map<String, Object> map = new LinkedHashMap<String, Object>();
map.put("ID", name);
map.putAll(genericFields);
return lineType.toString() + "=" + VCFHeaderLine.toStringEncoding(map);
return getKey() + "=" + VCFHeaderLine.toStringEncoding(map);
}
public boolean equals(Object o) {