// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea // Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/ package graphtea.plugins.main.saveload.core; import graphtea.graph.graph.GraphModel; import java.io.File; /** * @author azin azadi */ public interface GraphReaderInterface { /** * Reads the file and enters the data in the graph. The method gets an * empty graph object, and initializes it with the data from the file. * * @param file the file * @return boolean Indicates whether the file is acceptable for reading. */ boolean accepts(File file); /** * Retrieves the name of the file type. * * @return the Name */ String getName(); /** * Retrieves the file extension for the file type. Example: "xml", "gr". * * @return the Extension */ String getExtension(); /** * Reads the file and enters the data in the graph. The method gets an empty graph, * and initializes it with the data from the file. * * @param file The input file * @throws GraphIOException In the case of the reader error. */ GraphModel read(File file) throws GraphIOException; }