org.apache.xalan.xsltc.trax
Class SmartTransformerFactoryImpl

java.lang.Object
  extended byjavax.xml.transform.TransformerFactory
      extended byjavax.xml.transform.sax.SAXTransformerFactory
          extended byorg.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl

public class SmartTransformerFactoryImpl
extends SAXTransformerFactory

Implementation of a transformer factory that uses an XSLTC transformer factory for the creation of Templates objects and uses the Xalan processor transformer factory for the creation of Transformer objects.

Author:
G. Todd Miller

Field Summary
 
Fields inherited from class javax.xml.transform.sax.SAXTransformerFactory
FEATURE, FEATURE_XMLFILTER
 
Constructor Summary
SmartTransformerFactoryImpl()
          implementation of the SmartTransformerFactory.
 
Method Summary
 Source getAssociatedStylesheet(Source source, java.lang.String media, java.lang.String title, java.lang.String charset)
          Get the stylesheet specification(s) associated via the xml-stylesheet processing instruction (see http://www.w3.org/TR/xml-stylesheet/) with the document document specified in the source parameter, and that match the given criteria.
 java.lang.Object getAttribute(java.lang.String name)
          Allows the user to retrieve specific attributes on the underlying implementation.
 ErrorListener getErrorListener()
          Get the error event handler for the TransformerFactory.
 boolean getFeature(java.lang.String name)
          javax.xml.transform.sax.TransformerFactory implementation.
 URIResolver getURIResolver()
          Get the object that is used by default during the transformation to resolve URIs used in document(), xsl:import, or xsl:include.
 Templates newTemplates(Source source)
          Create a Templates object that from the input stylesheet Uses the org.apache.xalan.xsltc.trax.TransformerFactory.
 TemplatesHandler newTemplatesHandler()
          Get a TemplatesHandler object that can process SAX ContentHandler events into a Templates object.
 Transformer newTransformer()
          Create a Transformer object that copies the input document to the result.
 Transformer newTransformer(Source source)
          Create a Transformer object that from the input stylesheet Uses the org.apache.xalan.processor.TransformerFactory.
 TransformerHandler newTransformerHandler()
          Get a TransformerHandler object that can process SAX ContentHandler events based on a copy transformer.
 TransformerHandler newTransformerHandler(Source src)
          Get a TransformerHandler object that can process SAX ContentHandler events based on a transformer specified by the stylesheet Source.
 TransformerHandler newTransformerHandler(Templates templates)
          Get a TransformerHandler object that can process SAX ContentHandler events based on a transformer specified by the stylesheet Source.
 XMLFilter newXMLFilter(Source src)
          Create an XMLFilter that uses the given source as the transformation instructions.
 XMLFilter newXMLFilter(Templates templates)
          Create an XMLFilter, based on the Templates argument..
 void setAttribute(java.lang.String name, java.lang.Object value)
          Allows the user to set specific attributes on the underlying implementation.
 void setErrorListener(ErrorListener listener)
          Set the error event listener for the TransformerFactory, which is used for the processing of transformation instructions, and not for the transformation itself.
 void setURIResolver(URIResolver resolver)
          Set an object that is used by default during the transformation to resolve URIs used in xsl:import, or xsl:include.
 
Methods inherited from class javax.xml.transform.TransformerFactory
newInstance
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmartTransformerFactoryImpl

public SmartTransformerFactoryImpl()
implementation of the SmartTransformerFactory. This factory uses org.apache.xalan.xsltc.trax.TransformerFactory to return Templates objects; and uses org.apache.xalan.processor.TransformerFactory to return Transformer objects.

Method Detail

setErrorListener

public void setErrorListener(ErrorListener listener)
                      throws java.lang.IllegalArgumentException
Description copied from class: TransformerFactory
Set the error event listener for the TransformerFactory, which is used for the processing of transformation instructions, and not for the transformation itself.

Specified by:
setErrorListener in class TransformerFactory
Parameters:
listener - The new error listener.
Throws:
java.lang.IllegalArgumentException - if listener is null.

getErrorListener

public ErrorListener getErrorListener()
Description copied from class: TransformerFactory
Get the error event handler for the TransformerFactory.

Specified by:
getErrorListener in class TransformerFactory
Returns:
The current error handler, which should never be null.

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
                              throws java.lang.IllegalArgumentException
Description copied from class: TransformerFactory
Allows the user to retrieve specific attributes on the underlying implementation.

Specified by:
getAttribute in class TransformerFactory
Parameters:
name - The name of the attribute.
Returns:
value The value of the attribute.
Throws:
java.lang.IllegalArgumentException - thrown if the underlying implementation doesn't recognize the attribute.

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
                  throws java.lang.IllegalArgumentException
Description copied from class: TransformerFactory
Allows the user to set specific attributes on the underlying implementation. An attribute in this context is defined to be an option that the implementation provides.

Specified by:
setAttribute in class TransformerFactory
Parameters:
name - The name of the attribute.
value - The value of the attribute.
Throws:
java.lang.IllegalArgumentException - thrown if the underlying implementation doesn't recognize the attribute.

getFeature

public boolean getFeature(java.lang.String name)
javax.xml.transform.sax.TransformerFactory implementation. Look up the value of a feature (to see if it is supported). This method must be updated as the various methods and features of this class are implemented.

Specified by:
getFeature in class TransformerFactory
Parameters:
name - The feature name
Returns:
'true' if feature is supported, 'false' if not

getURIResolver

public URIResolver getURIResolver()
Description copied from class: TransformerFactory
Get the object that is used by default during the transformation to resolve URIs used in document(), xsl:import, or xsl:include.

Specified by:
getURIResolver in class TransformerFactory
Returns:
The URIResolver that was set with setURIResolver.

setURIResolver

public void setURIResolver(URIResolver resolver)
Description copied from class: TransformerFactory
Set an object that is used by default during the transformation to resolve URIs used in xsl:import, or xsl:include.

Specified by:
setURIResolver in class TransformerFactory
Parameters:
resolver - An object that implements the URIResolver interface, or null.

getAssociatedStylesheet

public Source getAssociatedStylesheet(Source source,
                                      java.lang.String media,
                                      java.lang.String title,
                                      java.lang.String charset)
                               throws TransformerConfigurationException
Description copied from class: TransformerFactory
Get the stylesheet specification(s) associated via the xml-stylesheet processing instruction (see http://www.w3.org/TR/xml-stylesheet/) with the document document specified in the source parameter, and that match the given criteria. Note that it is possible to return several stylesheets, in which case they are applied as if they were a list of imports or cascades in a single stylesheet.

Specified by:
getAssociatedStylesheet in class TransformerFactory
Parameters:
source - The XML source document.
media - The media attribute to be matched. May be null, in which case the prefered templates will be used (i.e. alternate = no).
title - The value of the title attribute to match. May be null.
charset - The value of the charset attribute to match. May be null.
Returns:
A Source object suitable for passing to the TransformerFactory.
Throws:
TransformerConfigurationException

newTransformer

public Transformer newTransformer()
                           throws TransformerConfigurationException
Create a Transformer object that copies the input document to the result. Uses the org.apache.xalan.processor.TransformerFactory.

Specified by:
newTransformer in class TransformerFactory
Returns:
A Transformer object.
Throws:
TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and fails.

newTransformer

public Transformer newTransformer(Source source)
                           throws TransformerConfigurationException
Create a Transformer object that from the input stylesheet Uses the org.apache.xalan.processor.TransformerFactory.

Specified by:
newTransformer in class TransformerFactory
Parameters:
source - the stylesheet.
Returns:
A Transformer object.
Throws:
TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and fails.

newTemplates

public Templates newTemplates(Source source)
                       throws TransformerConfigurationException
Create a Templates object that from the input stylesheet Uses the org.apache.xalan.xsltc.trax.TransformerFactory.

Specified by:
newTemplates in class TransformerFactory
Parameters:
source - the stylesheet.
Returns:
A Templates object.
Throws:
TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and fails.

newTemplatesHandler

public TemplatesHandler newTemplatesHandler()
                                     throws TransformerConfigurationException
Get a TemplatesHandler object that can process SAX ContentHandler events into a Templates object. Uses the org.apache.xalan.xsltc.trax.TransformerFactory.

Specified by:
newTemplatesHandler in class SAXTransformerFactory
Returns:
A non-null reference to a TransformerHandler, that may be used as a ContentHandler for SAX parse events.
Throws:
TransformerConfigurationException - If for some reason the TemplatesHandler cannot be created.

newTransformerHandler

public TransformerHandler newTransformerHandler()
                                         throws TransformerConfigurationException
Get a TransformerHandler object that can process SAX ContentHandler events based on a copy transformer. Uses org.apache.xalan.processor.TransformerFactory.

Specified by:
newTransformerHandler in class SAXTransformerFactory
Returns:
A non-null reference to a TransformerHandler, that may be used as a ContentHandler for SAX parse events.
Throws:
TransformerConfigurationException - If for some reason the TransformerHandler cannot be created.

newTransformerHandler

public TransformerHandler newTransformerHandler(Source src)
                                         throws TransformerConfigurationException
Get a TransformerHandler object that can process SAX ContentHandler events based on a transformer specified by the stylesheet Source. Uses org.apache.xalan.processor.TransformerFactory.

Specified by:
newTransformerHandler in class SAXTransformerFactory
Parameters:
src - The Source of the transformation instructions.
Returns:
TransformerHandler ready to transform SAX events.
Throws:
TransformerConfigurationException - If for some reason the TransformerHandler can not be created.

newTransformerHandler

public TransformerHandler newTransformerHandler(Templates templates)
                                         throws TransformerConfigurationException
Get a TransformerHandler object that can process SAX ContentHandler events based on a transformer specified by the stylesheet Source. Uses org.apache.xalan.xsltc.trax.TransformerFactory.

Specified by:
newTransformerHandler in class SAXTransformerFactory
Parameters:
templates - The compiled transformation instructions.
Returns:
TransformerHandler ready to transform SAX events.
Throws:
TransformerConfigurationException - If for some reason the TransformerHandler can not be created.

newXMLFilter

public XMLFilter newXMLFilter(Source src)
                       throws TransformerConfigurationException
Create an XMLFilter that uses the given source as the transformation instructions. Uses org.apache.xalan.xsltc.trax.TransformerFactory.

Specified by:
newXMLFilter in class SAXTransformerFactory
Parameters:
src - The Source of the transformation instructions.
Returns:
An XMLFilter object, or null if this feature is not supported.
Throws:
TransformerConfigurationException - If for some reason the TemplatesHandler cannot be created.

newXMLFilter

public XMLFilter newXMLFilter(Templates templates)
                       throws TransformerConfigurationException
Description copied from class: SAXTransformerFactory
Create an XMLFilter, based on the Templates argument..

Specified by:
newXMLFilter in class SAXTransformerFactory
Parameters:
templates - The compiled transformation instructions.
Returns:
An XMLFilter object, or null if this feature is not supported.
Throws:
TransformerConfigurationException - If for some reason the TemplatesHandler cannot be created.


Copyright ? 2004 Apache XML Project. All Rights Reserved.