package org.codehaus.plexus.components.io.resources; import java.io.IOException; import java.io.InputStream; /** * @author Kristian Rosenvold */ public class ClosingInputStream extends InputStream { private final InputStream target; private final InputStream other; public ClosingInputStream( InputStream target, InputStream other ) { this.target = target; this.other = other; } @Override public int read() throws IOException { return target.read(); } @Override public int read( byte[] b ) throws IOException { return target.read( b ); } @Override public int read( byte[] b, int off, int len ) throws IOException { return target.read( b, off, len ); } @Override public long skip( long n ) throws IOException { return target.skip( n ); } @Override public int available() throws IOException { return target.available(); } @Override public void close() throws IOException { other.close(); target.close(); } @Override public void mark( int readlimit ) { target.mark( readlimit ); } @Override public void reset() throws IOException { target.reset(); } @Override public boolean markSupported() { return target.markSupported(); } }