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
ConstructorsConstructorDescriptionCloseShieldReader
(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
Creates 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
Methods inherited from class java.io.Reader
nullReader, transferTo
-
Constructor Details
-
CloseShieldReader
Deprecated.Using this constructor prevents IDEs from warning if the underlying reader is never closed. Usewrap(Reader)
instead.Creates a proxy that shields the given reader from being closed.- Parameters:
reader
- underlying reader
-
-
Method Details
-
wrap
Creates 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
-