Package org.apache.commons.io.input
Class CloseShieldReader
java.lang.Object
java.io.Reader
java.io.FilterReader
org.apache.commons.io.input.ProxyReader
org.apache.commons.io.input.CloseShieldReader
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Readable
Proxy reader that prevents the underlying reader from being closed.
This class is typically used in cases where a reader needs to be passed to a component that wants to explicitly close the reader even if more input would still be available to other components.
- Since:
- 2.7
-
Field Summary
Fields inherited from class java.io.FilterReader
in
-
Constructor Summary
ConstructorDescriptionCloseShieldReader
(Reader reader) Deprecated.Using this constructor prevents IDEs from warning if the underlying reader is never closed. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Replaces the underlying reader with aClosedReader
sentinel.static CloseShieldReader
Constructs a proxy that shields the given reader from being closed.Methods inherited from class org.apache.commons.io.input.ProxyReader
afterRead, beforeRead, handleIOException, mark, markSupported, read, read, read, read, ready, reset, skip
-
Constructor Details
-
CloseShieldReader
Deprecated.Using this constructor prevents IDEs from warning if the underlying reader is never closed. Usewrap(Reader)
instead.Constructs a proxy that shields the given reader from being closed.- Parameters:
reader
- underlying reader
-
-
Method Details
-
wrap
Constructs a proxy that shields the given reader from being closed.- Parameters:
reader
- the reader to wrap- Returns:
- the created proxy
- Since:
- 2.9.0
-
close
Replaces the underlying reader with aClosedReader
sentinel. The original reader will remain open, but this proxy will appear closed.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classProxyReader
-