org.apache.tika.io
Class CloseShieldInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by org.apache.tika.io.ProxyInputStream
              extended by org.apache.tika.io.CloseShieldInputStream
All Implemented Interfaces:
java.io.Closeable

public class CloseShieldInputStream
extends ProxyInputStream

Proxy stream that prevents the underlying input stream from being closed.

This class is typically used in cases where an input stream needs to be passed to a component that wants to explicitly close the stream even if more input would still be available to other components.

Since:
Apache Tika 0.4, copied from Commons IO 1.4

Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
CloseShieldInputStream(java.io.InputStream in)
          Creates a proxy that shields the given input stream from being closed.
 
Method Summary
 void close()
          Replaces the underlying input stream with a ClosedInputStream sentinel.
 
Methods inherited from class org.apache.tika.io.ProxyInputStream
afterRead, available, beforeRead, handleIOException, mark, markSupported, read, read, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CloseShieldInputStream

public CloseShieldInputStream(java.io.InputStream in)
Creates a proxy that shields the given input stream from being closed.

Parameters:
in - underlying input stream
Method Detail

close

public void close()
Replaces the underlying input stream with a ClosedInputStream sentinel. The original input stream will remain open, but this proxy will appear closed.

Specified by:
close in interface java.io.Closeable
Overrides:
close in class ProxyInputStream


Copyright © 2007-2010 The Apache Software Foundation. All Rights Reserved.