org.apache.solr.response
Class RawResponseWriter

java.lang.Object
  extended by 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 it's 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
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
RawResponseWriter()
           
 
Method Summary
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 reponse 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: formating 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 reponse in a binary format

Specified by:
write in interface BinaryQueryResponseWriter
Throws:
IOException


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