Class CloseShieldChannel


  • public final class CloseShieldChannel
    extends java.lang.Object
    Creates a close-shielding proxy for a Channel.

    The returned proxy implements all Channel sub-interfaces that are both supported by this implementation and actually implemented by the given delegate.

    The following interfaces are supported:

    • AsynchronousChannel
    • ByteChannel
    • Channel
    • GatheringByteChannel
    • InterruptibleChannel
    • NetworkChannel
    • ReadableByteChannel
    • ScatteringByteChannel
    • SeekableByteChannel
    • WritableByteChannel
    Since:
    2.21.0
    See Also:
    Channel, Closeable
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T extends java.nio.channels.Channel>
      T
      wrap​(T channel)
      Wraps a channel to shield it from being closed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • wrap

        public static <T extends java.nio.channels.Channel> T wrap​(T channel)
        Wraps a channel to shield it from being closed.
        Type Parameters:
        T - A supported channel type.
        Parameters:
        channel - The underlying channel to shield, not null.
        Returns:
        A proxy that shields close() and enforces closed semantics on other calls.
        Throws:
        java.lang.ClassCastException - if T is not a supported channel type.
        java.lang.NullPointerException - if channel is null.