2 * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
\r
3 * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
\r
5 * This program is free software; you can redistribute it and/or
\r
6 * modify it under the terms of the GNU General Public License
\r
7 * as published by the Free Software Foundation; either version 2
\r
8 * of the License, or (at your option) any later version.
\r
10 * This program is distributed in the hope that it will be useful,
\r
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
13 * GNU General Public License for more details.
\r
15 * You should have received a copy of the GNU General Public License
\r
16 * along with this program; if not, write to the Free Software
\r
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
\r
19 package jalview.util;
\r
21 import java.io.IOException;
\r
22 import java.util.jar.JarInputStream;
\r
25 * input stream provider interface to be implemented
\r
26 * by any non-file or URL datasources so that all Jar entries
\r
27 * can be read from the datasource by repeatedly re-opening the JarInputStream.
\r
29 * 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
31 public interface jarInputStreamProvider {
\r
33 * @return properly initialized jar input stream
\r
35 JarInputStream getJarInputStream() throws IOException;
\r
38 * @return human readable name for datasource used when reporting any problems with it
\r
40 String getFilename();
\r