org.apache.solr.response
Class XSLTResponseWriter

java.lang.Object
  extended by org.apache.solr.response.XSLTResponseWriter
All Implemented Interfaces:
QueryResponseWriter, NamedListInitializedPlugin

public class XSLTResponseWriter
extends Object
implements QueryResponseWriter

QueryResponseWriter which captures the output of the XMLWriter (in memory for now, not optimal performancewise), and applies an XSLT transform to it.


Field Summary
static String CONTEXT_TRANSFORMER_KEY
           
static String DEFAULT_CONTENT_TYPE
           
static int XSLT_CACHE_DEFAULT
           
 
Fields inherited from interface org.apache.solr.response.QueryResponseWriter
CONTENT_TYPE_TEXT_ASCII, CONTENT_TYPE_TEXT_UTF8, CONTENT_TYPE_XML_UTF8
 
Constructor Summary
XSLTResponseWriter()
           
 
Method Summary
 String getContentType(SolrQueryRequest request, SolrQueryResponse response)
          Return the applicable Content Type for a request, this method must be thread safe.
protected  Transformer getTransformer(SolrQueryRequest request)
          Get Transformer from request context, or from TransformerProvider.
 void init(NamedList n)
          init will be called just once, immediately after creation.
 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

DEFAULT_CONTENT_TYPE

public static final String DEFAULT_CONTENT_TYPE
See Also:
Constant Field Values

CONTEXT_TRANSFORMER_KEY

public static final String CONTEXT_TRANSFORMER_KEY
See Also:
Constant Field Values

XSLT_CACHE_DEFAULT

public static final int XSLT_CACHE_DEFAULT
See Also:
Constant Field Values
Constructor Detail

XSLTResponseWriter

public XSLTResponseWriter()
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

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

getTransformer

protected Transformer getTransformer(SolrQueryRequest request)
                              throws IOException
Get Transformer from request context, or from TransformerProvider. This allows either getContentType(...) or write(...) to instantiate the Transformer, depending on which one is called first, then the other one reuses the same Transformer

Throws:
IOException


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