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 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
Constructors Constructor Description XSLTResponseWriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
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: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 interfaceNamedListInitializedPlugin
- Specified by:
init
in interfaceQueryResponseWriter
-
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 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: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 bersp
.There are no mandatory actions that write must perform. An empty write implementation would fulfill all interface obligations.
- Specified by:
write
in 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
-
-