Package org.apache.commons.io.output
Class CloseShieldWriter
java.lang.Object
java.io.Writer
java.io.FilterWriter
org.apache.commons.io.output.ProxyWriter
org.apache.commons.io.output.CloseShieldWriter
- All Implemented Interfaces:
Closeable
,Flushable
,Appendable
,AutoCloseable
Proxy writer that prevents the underlying writer from being closed.
This class is typically used in cases where a writer needs to be passed to a component that wants to explicitly close the writer even if other components would still use the writer for output.
- Since:
- 2.7
-
Field Summary
Fields inherited from class java.io.FilterWriter
out
-
Constructor Summary
ConstructorsConstructorDescriptionCloseShieldWriter
(Writer writer) Deprecated.Using this constructor prevents IDEs from warning if the underlying writer is never closed. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Replaces the underlying writer with aClosedWriter
sentinel.static CloseShieldWriter
Creates a proxy that shields the given writer from being closed.Methods inherited from class org.apache.commons.io.output.ProxyWriter
afterWrite, append, append, append, beforeWrite, flush, handleIOException, write, write, write, write, write
Methods inherited from class java.io.Writer
nullWriter
-
Constructor Details
-
CloseShieldWriter
Deprecated.Using this constructor prevents IDEs from warning if the underlying writer is never closed. Usewrap(Writer)
instead.Creates a proxy that shields the given writer from being closed.- Parameters:
writer
- underlying writer
-
-
Method Details
-
wrap
Creates a proxy that shields the given writer from being closed.- Parameters:
writer
- the writer to wrap- Returns:
- the created proxy
- Since:
- 2.9.0
-
close
Replaces the underlying writer with aClosedWriter
sentinel. The original writer will remain open, but this proxy will appear closed.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classProxyWriter
-