package prefuse.data.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import prefuse.data.Graph;
import prefuse.util.io.IOLib;
/**
* Abstract base class implementation of the GraphReader interface. Provides
* implementations for all but the
* {@link prefuse.data.io.GraphReader#readGraph(InputStream)} method.
*
* @author <a href="http://jheer.org">jeffrey heer</a>
*/
public abstract class AbstractGraphReader implements GraphReader {
/**
* @see prefuse.data.io.GraphReader#readGraph(java.lang.String)
*/
public Graph readGraph(String location) throws DataIOException
{
try {
InputStream is = IOLib.streamFromString(location);
if ( is == null )
throw new DataIOException("Couldn't find " + location
+ ". Not a valid file, URL, or resource locator.");
return readGraph(is);
} catch ( IOException e ) {
throw new DataIOException(e);
}
}
/**
* @see prefuse.data.io.GraphReader#readGraph(java.net.URL)
*/
public Graph readGraph(URL url) throws DataIOException {
try {
return readGraph(url.openStream());
} catch ( IOException e ) {
throw new DataIOException(e);
}
}
/**
* @see prefuse.data.io.GraphReader#readGraph(java.io.File)
*/
public Graph readGraph(File f) throws DataIOException {
try {
return readGraph(new FileInputStream(f));
} catch ( FileNotFoundException e ) {
throw new DataIOException(e);
}
}
/**
* @see prefuse.data.io.GraphReader#readGraph(java.io.InputStream)
*/
public abstract Graph readGraph(InputStream is) throws DataIOException;
} // end of class AbstractGraphReader