package jalview.util; import java.io.IOException; import java.util.jar.JarInputStream; /** * input stream provider interface to be implemented * by any non-file or URL datasources so that all Jar entries * can be read from the datasource by repeatedly re-opening the JarInputStream. * * This is a workaround necessary because castor's unmarshaller will close the input stream after an unmarshalling session, which normally closes the whole Jar input stream, not just the current JarEntry's stream. */ public interface jarInputStreamProvider { /** * @return properly initialized jar input stream */ JarInputStream getJarInputStream() throws IOException; /** * * @return human readable name for datasource used when reporting any problems with it */ String getFilename(); }