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 * @(#)TrackFile.java 021 */ 022 023 package edu.upenn.gloDB.io; 024 025 import edu.upenn.gloDB.Track; 026 027 /** 028 * Interface for files that contain Features or Sequences (ie. GloDB, 029 * FASTA, GFF, and GenBank). 030 * 031 * @author Stephen Fisher 032 * @version $Id: TrackFile.java,v 1.1.2.5 2007/03/01 21:17:33 fisher Exp $ 033 */ 034 035 public interface TrackFile extends DataFile { 036 037 //-------------------------------------------------------------------------- 038 // Setters and Getters 039 040 //-------------------------------------------------------------------------- 041 // Miscellaneous Methods 042 043 /** 044 * Load all Features in the data file into a single Track and 045 * return the resulting Track object. 046 */ 047 public Track load(String filename); 048 049 /** 050 * Load all Features in the data file into a single Track and 051 * return the resulting Track object. 052 */ 053 public Track load(String filename, String sourceID); 054 055 /** 056 * Save the Track to a file based on it's ID. This should use the 057 * ID as the filename and set the overwrite flag to 'true'. 058 */ 059 public void save(String id); 060 061 /** Save the object data. */ 062 public void save(String id, String filename, boolean overwrite); 063 064 } // TrackFile.java 065 066