001    /*
002     * Copyright 2007, 2012 Stephen Fisher and Junhyong Kim, University of
003     * Pennsylvania.
004     *
005     * This file is part of Glo-DB.
006     * 
007     * Glo-DB is free software: you can redistribute it and/or modify it
008     * under the terms of the GNU General Public License as published by
009     * the Free Software Foundation, either version 3 of the License, or
010     * (at your option) any later version.
011     * 
012     * Glo-DB is distributed in the hope that it will be useful, but
013     * WITHOUT ANY WARRANTY; without even the implied warranty of
014     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015     * General Public License for more details.
016     * 
017     * You should have received a copy of the GNU General Public License
018     * along with Glo-DB. If not, see <http://www.gnu.org/licenses/>.
019     *
020     * @(#)DataFile.java
021     */
022    
023    package edu.upenn.gloDB.io;
024    
025    
026    import javax.swing.filechooser.FileFilter;
027     
028    /**
029     * Interface for files that contain Features or Sequences (ie. GloDB,
030     * FASTA, GFF, and GenBank).
031     *
032     * @author  Stephen Fisher
033     * @version $Id: DataFile.java,v 1.2.2.6 2007/03/01 21:17:33 fisher Exp $
034     */
035    
036    public interface DataFile {
037    
038        //--------------------------------------------------------------------------
039        // Setters and Getters
040    
041             /**
042              * Get the file ID.  FileIO contains constant values and string
043              * equivalents for built-in DataFiles.
044              */
045             public int getID();
046    
047             /**
048              * Get a description of the file type.  This description will be
049              * used in the file chooser.
050              */
051             public String getDesc();
052    
053             /**
054              * Get an array of file extensions.  These extensions will be used
055              * by the file chooser.
056              */
057             public String[] getExt();
058    
059             /** Get a FileFilter for use in the GUI. */
060             public FileFilter getFileFilter();
061    
062    } // DataFile.java
063    
064