001package org.biojava.nbio.structure.io; 002 003import java.util.Collections; 004import java.util.List; 005 006/** 007 * An enum of supported file formats. 008 * @author Sebastian Bittrich 009 * @since 6.0.0 010 */ 011public enum StructureFiletype { 012 PDB(new PDBFileReader().getExtensions()), 013 CIF(new CifFileReader().getExtensions()), 014 BCIF(new BcifFileReader().getExtensions()), 015 MMTF(new MMTFFileReader().getExtensions()), 016 UNKNOWN(Collections.emptyList()); 017 018 private final List<String> extensions; 019 020 /** 021 * @param extensions List of supported extensions, including leading period 022 */ 023 StructureFiletype(List<String> extensions) { 024 this.extensions = extensions; 025 } 026 027 /** 028 * @return a list of file extensions associated with this type 029 */ 030 public List<String> getExtensions() { 031 return extensions; 032 } 033}