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}