org.apache.lucene.xmlparser
Class QueryTemplateManager

java.lang.Object
  extended by org.apache.lucene.xmlparser.QueryTemplateManager

public class QueryTemplateManager
extends Object

Provides utilities for turning query form input (such as from a web page or Swing gui) into Lucene XML queries by using XSL templates. This approach offers a convenient way of externalizing and changing how user input is turned into Lucene queries. Database applications often adopt similar practices by externalizing SQL in template files that can be easily changed/optimized by a DBA. The static methods can be used on their own or by creating an instance of this class you can store and re-use compiled stylesheets for fast use (e.g. in a server environment)


Constructor Summary
QueryTemplateManager()
           
QueryTemplateManager(InputStream xslIs)
           
 
Method Summary
 void addDefaultQueryTemplate(InputStream xslIs)
           
 void addQueryTemplate(String name, InputStream xslIs)
           
 Document getQueryAsDOM(Properties formProperties)
           
static Document getQueryAsDOM(Properties formProperties, InputStream xslIs)
          Slow means of constructing query - parses stylesheet from input stream
 Document getQueryAsDOM(Properties formProperties, String queryTemplateName)
           
static Document getQueryAsDOM(Properties formProperties, Templates template)
          Fast means of constructing query using a cached,precompiled stylesheet
 String getQueryAsXmlString(Properties formProperties)
           
static String getQueryAsXmlString(Properties formProperties, InputStream xslIs)
          Slow means of constructing query parsing a stylesheet from an input stream
 String getQueryAsXmlString(Properties formProperties, String queryTemplateName)
           
static String getQueryAsXmlString(Properties formProperties, Templates template)
          Fast means of constructing query using a precompiled stylesheet
static Templates getTemplates(InputStream xslIs)
          Parses a query stylesheet for repeated use
static void transformCriteria(Properties formProperties, InputStream xslIs, Result result)
          Slower transformation using an uncompiled stylesheet (suitable for development environment)
static void transformCriteria(Properties formProperties, Templates template, Result result)
          Fast transformation using a pre-compiled stylesheet (suitable for production environments)
static void transformCriteria(Properties formProperties, Transformer transformer, Result result)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryTemplateManager

public QueryTemplateManager()

QueryTemplateManager

public QueryTemplateManager(InputStream xslIs)
                     throws TransformerConfigurationException,
                            ParserConfigurationException,
                            SAXException,
                            IOException
Throws:
TransformerConfigurationException
ParserConfigurationException
SAXException
IOException
Method Detail

addDefaultQueryTemplate

public void addDefaultQueryTemplate(InputStream xslIs)
                             throws TransformerConfigurationException,
                                    ParserConfigurationException,
                                    SAXException,
                                    IOException
Throws:
TransformerConfigurationException
ParserConfigurationException
SAXException
IOException

addQueryTemplate

public void addQueryTemplate(String name,
                             InputStream xslIs)
                      throws TransformerConfigurationException,
                             ParserConfigurationException,
                             SAXException,
                             IOException
Throws:
TransformerConfigurationException
ParserConfigurationException
SAXException
IOException

getQueryAsXmlString

public String getQueryAsXmlString(Properties formProperties,
                                  String queryTemplateName)
                           throws SAXException,
                                  IOException,
                                  ParserConfigurationException,
                                  TransformerException
Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

getQueryAsDOM

public Document getQueryAsDOM(Properties formProperties,
                              String queryTemplateName)
                       throws SAXException,
                              IOException,
                              ParserConfigurationException,
                              TransformerException
Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

getQueryAsXmlString

public String getQueryAsXmlString(Properties formProperties)
                           throws SAXException,
                                  IOException,
                                  ParserConfigurationException,
                                  TransformerException
Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

getQueryAsDOM

public Document getQueryAsDOM(Properties formProperties)
                       throws SAXException,
                              IOException,
                              ParserConfigurationException,
                              TransformerException
Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

getQueryAsXmlString

public static String getQueryAsXmlString(Properties formProperties,
                                         Templates template)
                                  throws SAXException,
                                         IOException,
                                         ParserConfigurationException,
                                         TransformerException
Fast means of constructing query using a precompiled stylesheet

Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

getQueryAsXmlString

public static String getQueryAsXmlString(Properties formProperties,
                                         InputStream xslIs)
                                  throws SAXException,
                                         IOException,
                                         ParserConfigurationException,
                                         TransformerException
Slow means of constructing query parsing a stylesheet from an input stream

Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

getQueryAsDOM

public static Document getQueryAsDOM(Properties formProperties,
                                     Templates template)
                              throws SAXException,
                                     IOException,
                                     ParserConfigurationException,
                                     TransformerException
Fast means of constructing query using a cached,precompiled stylesheet

Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

getQueryAsDOM

public static Document getQueryAsDOM(Properties formProperties,
                                     InputStream xslIs)
                              throws SAXException,
                                     IOException,
                                     ParserConfigurationException,
                                     TransformerException
Slow means of constructing query - parses stylesheet from input stream

Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

transformCriteria

public static void transformCriteria(Properties formProperties,
                                     InputStream xslIs,
                                     Result result)
                              throws SAXException,
                                     IOException,
                                     ParserConfigurationException,
                                     TransformerException
Slower transformation using an uncompiled stylesheet (suitable for development environment)

Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

transformCriteria

public static void transformCriteria(Properties formProperties,
                                     Templates template,
                                     Result result)
                              throws SAXException,
                                     IOException,
                                     ParserConfigurationException,
                                     TransformerException
Fast transformation using a pre-compiled stylesheet (suitable for production environments)

Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

transformCriteria

public static void transformCriteria(Properties formProperties,
                                     Transformer transformer,
                                     Result result)
                              throws SAXException,
                                     IOException,
                                     ParserConfigurationException,
                                     TransformerException
Throws:
SAXException
IOException
ParserConfigurationException
TransformerException

getTemplates

public static Templates getTemplates(InputStream xslIs)
                              throws ParserConfigurationException,
                                     SAXException,
                                     IOException,
                                     TransformerConfigurationException
Parses a query stylesheet for repeated use

Throws:
ParserConfigurationException
SAXException
IOException
TransformerConfigurationException