## 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
`protected CharArrayBuffer` `lineBuf`
`protected LineFormatter` `lineFormatter`
`protected SessionOutputBuffer` `sessionBuffer`

Constructor Summary
`AbstractMessageWriter(SessionOutputBuffer buffer, LineFormatter formatter, HttpParams params)` Creates an instance of this class.

Method Summary
`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

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

  Creates an instance of this class.

  Parameters:
    `buffer` - the session output buffer.
    `formatter` - the line formatter.
    `params` - HTTP parameters.

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:
    `HttpException` - in case of HTTP protocol violation
    `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.