org.apache.solr.response

## Class RawResponseWriter

- java.lang.Object
- - org.apache.solr.response.RawResponseWriter

- All Implemented Interfaces:
    BinaryQueryResponseWriter, QueryResponseWriter, NamedListInitializedPlugin

      public class RawResponseWriter
      extends Object
      implements BinaryQueryResponseWriter

  Writes a ContentStream directly to the output.

  This writer is a special case that extends and alters the QueryResponseWriter contract. If SolrQueryResponse contains a ContentStream added with the key `CONTENT` then this writer will output that stream exactly as is (with its Content-Type). if no such ContentStream has been added, then a "base" QueryResponseWriter will be used to write the response according to the usual contract. The name of the "base" writer can be specified as an initialization param for this writer, or it defaults to the "standard" writer.

  Since:
    solr 1.3

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `CONTENT` The key that should be used to add a ContentStream to the SolrQueryResponse if you intend to use this Writer.

    - ### Fields inherited from interface org.apache.solr.response.QueryResponseWriter

      `CONTENT_TYPE_TEXT_ASCII, CONTENT_TYPE_TEXT_UTF8, CONTENT_TYPE_XML_UTF8`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RawResponseWriter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected QueryResponseWriter` | `getBaseWriter(SolrQueryRequest request)`
    `String` | `getContentType(SolrQueryRequest request, SolrQueryResponse response)` Return the applicable Content Type for a request, this method must be thread safe.
    `void` | `init(NamedList n)` `init` will be called just once, immediately after creation.
    `void` | `write(OutputStream out, SolrQueryRequest request, SolrQueryResponse response)` Use it to write the response in a binary format
    `void` | `write(Writer writer, SolrQueryRequest request, SolrQueryResponse response)` Write a SolrQueryResponse, this method must be thread save.

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

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

- - ### Field Detail

    - #### CONTENT

          public static final String CONTENT

      The key that should be used to add a ContentStream to the SolrQueryResponse if you intend to use this Writer.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### RawResponseWriter

          public RawResponseWriter()

  - ### Method Detail

    - #### init

          public void init(NamedList n)

      Description copied from interface: `QueryResponseWriter`
      `init` will be called just once, immediately after creation.

      The args are user-level initialization parameters that may be specified when declaring a response writer in solrconfig.xml

      Specified by:
        `init` in interface `QueryResponseWriter`
      Specified by:
        `init` in interface `NamedListInitializedPlugin`

    - #### getBaseWriter

          protected QueryResponseWriter getBaseWriter(SolrQueryRequest request)

    - #### getContentType

          public String getContentType(SolrQueryRequest request,
                                       SolrQueryResponse response)

      Description copied from interface: `QueryResponseWriter`
      Return the applicable Content Type for a request, this method must be thread safe.

      QueryResponseWriter's must implement this method to return a valid HTTP Content-Type header for the request, that will logically correspond with the output produced by the write method.

      Specified by:
        `getContentType` in interface `QueryResponseWriter`
      Returns:
        a Content-Type string, which may not be null.

    - #### write

          public void write(Writer writer,
                            SolrQueryRequest request,
                            SolrQueryResponse response)
                     throws IOException

      Description copied from interface: `QueryResponseWriter`
      Write a SolrQueryResponse, this method must be thread save.

      Information about the request (in particular: formatting options) may be obtained from `req` but the dominant source of information should be `rsp`.

      There are no mandatory actions that write must perform. An empty write implementation would fulfill all interface obligations.

      Specified by:
        `write` in interface `QueryResponseWriter`
      Throws:
        `IOException`

    - #### write

          public void write(OutputStream out,
                            SolrQueryRequest request,
                            SolrQueryResponse response)
                     throws IOException

      Description copied from interface: `BinaryQueryResponseWriter`
      Use it to write the response in a binary format
      Specified by:
        `write` in interface `BinaryQueryResponseWriter`
      Throws:
        `IOException`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.