1 package jalview.util;
\r
3 import java.io.IOException;
\r
4 import java.util.jar.JarInputStream;
\r
7 * input stream provider interface to be implemented
\r
8 * by any non-file or URL datasources so that all Jar entries
\r
9 * can be read from the datasource by repeatedly re-opening the JarInputStream.
\r
11 * 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.
\r
13 public interface jarInputStreamProvider {
\r
15 * @return properly initialized jar input stream
\r
17 JarInputStream getJarInputStream() throws IOException;
\r
20 * @return human readable name for datasource used when reporting any problems with it
\r
22 String getFilename();
\r