Class NullContent

java.lang.Object
com.yahoo.jdisc.handler.NullContent
All Implemented Interfaces:
ContentChannel

public final class NullContent extends Object implements ContentChannel

This class provides a convenient implementation of ContentChannel that does not support being written to. If write(ByteBuffer, CompletionHandler) is called, it throws an UnsupportedOperationException. If close(CompletionHandler) is called, it calls the given CompletionHandler.

A RequestHandlers that does not expect content can simply return the INSTANCE of this class for every invocation of its RequestHandler.handleRequest(Request, ResponseHandler).

Author:
Simon Thoresen Hult
  • Field Details

  • Method Details

    • write

      public void write(ByteBuffer buf, CompletionHandler handler)
      Description copied from interface: ContentChannel
      Schedules the given ByteBuffer to be written to the content corresponding to this ContentChannel. This call transfers ownership of the given ByteBuffer to this ContentChannel, i.e. no further calls can be made to the buffer. The execution of writes happen in the same order as this method was invoked.
      Specified by:
      write in interface ContentChannel
      Parameters:
      buf - The ByteBuffer to schedule for write. No further calls can be made to this buffer.
      handler - The CompletionHandler to call after the write has been executed.
    • close

      public void close(CompletionHandler handler)
      Description copied from interface: ContentChannel
      Closes this ContentChannel. After a channel is closed, any further attempt to invoke ContentChannel.write(ByteBuffer, CompletionHandler) upon it will cause an IllegalStateException to be thrown. If this channel is already closed then invoking this method has no effect, but CompletionHandler.completed() will still be called. Notice that you MUST call this method, regardless of any exceptions that might have occurred while writing to this ContentChannel. Failure to do so will prevent the Container from ever shutting down.
      Specified by:
      close in interface ContentChannel
      Parameters:
      handler - The CompletionHandler to call after the close has been executed.