Package org.apache.solr.response
Class XSLTResponseWriter
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description static StringCONTEXT_TRANSFORMER_KEYstatic StringDEFAULT_CONTENT_TYPEstatic intXSLT_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
Constructors Constructor Description XSLTResponseWriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetContentType(SolrQueryRequest request, SolrQueryResponse response)Return the applicable Content Type for a request, this method must be thread safe.protected TransformergetTransformer(SolrQueryRequest request)Get Transformer from request context, or from TransformerProvider.voidinit(NamedList n)initwill be called just once, immediately after creation.voidwrite(Writer writer, SolrQueryRequest request, SolrQueryResponse response)Write a SolrQueryResponse, this method must be thread save.
-
-
-
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
-
-
Method Detail
-
init
public void init(NamedList n)
Description copied from interface:QueryResponseWriterinitwill 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:
initin interfaceNamedListInitializedPlugin- Specified by:
initin interfaceQueryResponseWriter
-
getContentType
public String getContentType(SolrQueryRequest request, SolrQueryResponse response)
Description copied from interface:QueryResponseWriterReturn 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:
getContentTypein interfaceQueryResponseWriter- 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:QueryResponseWriterWrite a SolrQueryResponse, this method must be thread save.Information about the request (in particular: formatting options) may be obtained from
reqbut the dominant source of information should bersp.There are no mandatory actions that write must perform. An empty write implementation would fulfill all interface obligations.
- Specified by:
writein interfaceQueryResponseWriter- 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
-
-