org.apache.xalan.xsltc.trax

## Class SmartTransformerFactoryImpl

- java.lang.Object
- - javax.xml.transform.TransformerFactory
  - - javax.xml.transform.sax.SAXTransformerFactory
    - - org.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

    Constructors
    Constructor and Description
    `SmartTransformerFactoryImpl()` implementation of the SmartTransformerFactory.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Source` | `getAssociatedStylesheet(Source source, java.lang.String media, java.lang.String title, java.lang.String charset)` Get the stylesheet specification(s) associated with the XML `Source` document via the xml-stylesheet processing instruction 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` | `setFeature(java.lang.String name, boolean value)` Set a feature for this `SmartTransformerFactory` and `Transformer`s or `Template`s created by this factory.
    `void` | `setURIResolver(URIResolver resolver)` Set an object that is used by default during the transformation to resolve URIs used in document(), 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. An `IllegalArgumentException` is thrown if the `ErrorListener` listener is `null`.
      Specified by:
        `setErrorListener` in class `TransformerFactory`
      Parameters:
        `listener` - The new error listener.
      Throws:
        `java.lang.IllegalArgumentException`

    - #### 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. An `IllegalArgumentException` is thrown if the underlying implementation doesn't recognize the attribute.
      Specified by:
        `getAttribute` in class `TransformerFactory`
      Parameters:
        `name` - The name of the attribute.
      Returns:
        value The value of the attribute.
      Throws:
        `java.lang.IllegalArgumentException`

    - #### 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. An `IllegalArgumentException` is thrown if the underlying implementation doesn't recognize the attribute.
      Specified by:
        `setAttribute` in class `TransformerFactory`
      Parameters:
        `name` - The name of the attribute.
        `value` - The value of the attribute.
      Throws:
        `java.lang.IllegalArgumentException`

    - #### setFeature

          public void setFeature(java.lang.String name,
                        boolean value)
                          throws TransformerConfigurationException

      Set a feature for this `SmartTransformerFactory` and `Transformer`s or `Template`s created by this factory.

      Feature names are fully qualified `URI`s. Implementations may define their own features. An `TransformerConfigurationException` is thrown if this `TransformerFactory` or the `Transformer`s or `Template`s it creates cannot support the feature. It is possible for an `TransformerFactory` to expose a feature value but be unable to change its state.

      See `TransformerFactory` for full documentation of specific features.

      Specified by:
        `setFeature` in class `TransformerFactory`
      Parameters:
        `name` - Feature name.
        `value` - Is feature state `true` or `false`.
      Throws:
        `TransformerConfigurationException` - if this `TransformerFactory` or the `Transformer`s or `Template`s it creates cannot support this feature.
        `java.lang.NullPointerException` - If the `name` parameter is null.

    - #### 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 document(), 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 with the XML `Source` document via the xml-stylesheet processing instruction 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` - An `Exception` is thrown if an error occurings during parsing of the `source`.
      See Also:
        Associating Style Sheets with XML documents Version 1.0

    - #### 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` - Thrown if it is not possible to create a `Transformer` instance.

    - #### 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` - Thrown if there are errors when parsing the `Source` or it is not possible to create a `Transformer` instance.
      See Also:
        XSL Transformations (XSLT) Version 1.0

    - #### 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 © 2014 Apache XML Project. All Rights Reserved.