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.Table; import prefuse.util.io.IOLib; /** * Abstract base class implementation of the TableReader interface. Provides * implementations for all but the * {@link prefuse.data.io.TableReader#readTable(InputStream)} method. * * @author <a href="http://jheer.org">jeffrey heer</a> */ public abstract class AbstractTableReader implements TableReader { /** * @see prefuse.data.io.TableReader#readTable(java.lang.String) */ public Table readTable(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 readTable(is); } catch ( IOException e ) { throw new DataIOException(e); } } /** * @see prefuse.data.io.TableReader#readTable(java.net.URL) */ public Table readTable(URL url) throws DataIOException { try { return readTable(url.openStream()); } catch ( IOException e ) { throw new DataIOException(e); } } /** * @see prefuse.data.io.TableReader#readTable(java.io.File) */ public Table readTable(File f) throws DataIOException { try { return readTable(new FileInputStream(f)); } catch ( FileNotFoundException e ) { throw new DataIOException(e); } } } // end of abstract class AbstractTableReader