package com.github.lindenb.jvarkit.util.vcf.swing; import htsjdk.variant.vcf.AbstractVCFCodec; import htsjdk.variant.vcf.VCFHeader; import java.util.Collections; import java.util.List; public class DefaultVcfTable extends AbstractVcfTable { private static final long serialVersionUID = 1L; private VCFHeader header=null; private AbstractVCFCodec codec=null; public DefaultVcfTable() { this(null, null); } public DefaultVcfTable(VCFHeader header,AbstractVCFCodec codec) { this.header=header; this.codec=codec; } public void reset(VCFHeader header,AbstractVCFCodec codec) { super.rows.clear(); this.header=header; this.codec=codec; fireTableStructureChanged(); } public VCFHeader getVCFHeader() { return header; } @Override public List<String> getSamples() { if(getVCFHeader()==null) return Collections.emptyList(); return getVCFHeader().getSampleNamesInOrder(); } @Override public List<String> getRows() { if(getVCFHeader()==null || getCodec()==null) return Collections.emptyList(); return super.getRows(); } @Override public AbstractVCFCodec getCodec() { return this.codec; } }