Class CloseShieldWriter

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.Appendable, java.lang.AutoCloseable

    public class CloseShieldWriter
    extends ProxyWriter
    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
    • Constructor Detail

      • CloseShieldWriter

        @Deprecated
        public CloseShieldWriter​(java.io.Writer writer)
        Deprecated.
        Using this constructor prevents IDEs from warning if the underlying writer is never closed. Use wrap(Writer) instead.
        Creates a proxy that shields the given writer from being closed.
        Parameters:
        writer - underlying writer
    • Method Detail

      • wrap

        public static CloseShieldWriter wrap​(java.io.Writer writer)
        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

        public void close()
        Replaces the underlying writer with a ClosedWriter sentinel. The original writer will remain open, but this proxy will appear closed.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class ProxyWriter