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 and 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 and Description
    `XSLTResponseWriter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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.

    - ### 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: 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`

    - #### 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-2016 Apache Software Foundation. All Rights Reserved.