org.apache.http.impl.nio.codecs

## Class AbstractMessageWriter<T extends HttpMessage>

- java.lang.Object
- - org.apache.http.impl.nio.codecs.AbstractMessageWriter<T>

- All Implemented Interfaces:
    NHttpMessageWriter<T>
  Direct Known Subclasses:
    DefaultHttpRequestWriter, DefaultHttpResponseWriter, HttpRequestWriter, HttpResponseWriter

      @NotThreadSafe
      public abstract class AbstractMessageWriter<T extends HttpMessage>
      extends Object
      implements NHttpMessageWriter<T>

  Abstract `NHttpMessageWriter` that serves as a base for all message writer implementations.
  Since:
    4.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected CharArrayBuffer` | `lineBuf`
    `protected LineFormatter` | `lineFormatter`
    `protected SessionOutputBuffer` | `sessionBuffer`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractMessageWriter(SessionOutputBuffer buffer, LineFormatter formatter)` Creates an instance of AbstractMessageWriter.
    `AbstractMessageWriter(SessionOutputBuffer buffer, LineFormatter formatter, HttpParams params)` Deprecated. (4.3) use `AbstractMessageWriter(SessionOutputBuffer, LineFormatter)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `reset()` Resets the writer.
    `void` | `write(T message)` Serializes out the HTTP message head.
    `protected abstract void` | `writeHeadLine(T message)` Writes out the first line of `HttpMessage`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### sessionBuffer

          protected final SessionOutputBuffer sessionBuffer

    - #### lineBuf

          protected final CharArrayBuffer lineBuf

    - #### lineFormatter

          protected final LineFormatter lineFormatter

  - ### Constructor Detail

    - #### AbstractMessageWriter

          @Deprecated
          public AbstractMessageWriter(SessionOutputBuffer buffer,
                                          LineFormatter formatter,
                                          HttpParams params)

      Deprecated. (4.3) use `AbstractMessageWriter(SessionOutputBuffer, LineFormatter)`
      Creates an instance of this class.
      Parameters:
        `buffer` - the session output buffer.
        `formatter` - the line formatter.
        `params` - HTTP parameters.

    - #### AbstractMessageWriter

          public AbstractMessageWriter(SessionOutputBuffer buffer,
                               LineFormatter formatter)

      Creates an instance of AbstractMessageWriter.
      Parameters:
        `buffer` - the session output buffer.
        `formatter` - the line formatter If `null` `BasicLineFormatter.INSTANCE` will be used.
      Since:
        4.3

  - ### Method Detail

    - #### reset

          public void reset()

      Description copied from interface: `NHttpMessageWriter`
      Resets the writer. The writer will be ready to start serializing another HTTP message.
      Specified by:
        `reset` in interface `NHttpMessageWriter<T extends HttpMessage>`

    - #### writeHeadLine

          protected abstract void writeHeadLine(T message)
                                         throws IOException

      Writes out the first line of `HttpMessage`.
      Parameters:
        `message` - HTTP message.
      Throws:
        `IOException`

    - #### write

          public void write(T message)
                     throws IOException,
                            HttpException

      Description copied from interface: `NHttpMessageWriter`
      Serializes out the HTTP message head.
      Specified by:
        `write` in interface `NHttpMessageWriter<T extends HttpMessage>`
      Parameters:
        `message` - HTTP message.
      Throws:
        `IOException` - in case of an I/O error.
        `HttpException` - in case the HTTP message is malformed or violates the HTTP protocol.

Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.