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