2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
\r
3 * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
\r
5 * This file is part of Jalview.
\r
7 * Jalview is free software: you can redistribute it and/or
\r
8 * modify it under the terms of the GNU General Public License
\r
9 * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
\r
11 * Jalview is distributed in the hope that it will be useful, but
\r
12 * WITHOUT ANY WARRANTY; without even the implied warranty
\r
13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
\r
14 * PURPOSE. See the GNU General Public License for more details.
\r
16 * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
\r
18 package jalview.util;
\r
20 import java.io.IOException;
\r
21 import java.util.jar.JarInputStream;
\r
24 * input stream provider interface to be implemented by any non-file or URL
\r
25 * datasources so that all Jar entries can be read from the datasource by
\r
26 * repeatedly re-opening the JarInputStream.
\r
28 * This is a workaround necessary because castor's unmarshaller will close the
\r
29 * input stream after an unmarshalling session, which normally closes the whole
\r
30 * Jar input stream, not just the current JarEntry's stream.
\r
32 public interface jarInputStreamProvider
\r
35 * @return properly initialized jar input stream
\r
37 JarInputStream getJarInputStream() throws IOException;
\r
41 * @return human readable name for datasource used when reporting any problems
\r
44 String getFilename();
\r