com.oroad.stxx.transform
Class AbstractXSLTransformer

java.lang.Object
  extended bycom.oroad.stxx.transform.AbstractSAXTransformer
      extended bycom.oroad.stxx.transform.AbstractXSLTransformer
All Implemented Interfaces:
Transformer
Direct Known Subclasses:
CachedFOPTransformer, CachedXSLTransformer

public abstract class AbstractXSLTransformer
extends AbstractSAXTransformer

This class provides common methods and variables used by transformers that convert stxx documents into SAX events.

Author:
Don Brown

Field Summary
protected  boolean autoReloadTemplates
          If stylesheets will be automatically reloaded
 
Fields inherited from class com.oroad.stxx.transform.AbstractSAXTransformer
allowURLDebug, builder, cache, context, debugXMLPath, expiryTime, log, name, resolveFromTemplatePath, rules, transFactory, writeXMLDebug
 
Fields inherited from interface com.oroad.stxx.transform.Transformer
PROPS_PREFIX
 
Constructor Summary
AbstractXSLTransformer()
           
 
Method Summary
protected  javax.xml.transform.Templates getTemplates(javax.xml.transform.sax.SAXTransformerFactory factory, java.lang.String path)
          Gets a transformer from a Templates.
protected  javax.xml.transform.Templates getTemplatesFromCache(java.lang.String path)
          Gets a Templates from cache.
 void init(java.lang.String name, StxxProperties props, javax.servlet.ServletContext context, BuilderRules rules)
          Initializes the transformer
protected  javax.xml.transform.sax.TransformerHandler[] loadHandlers(java.util.List paths, javax.servlet.ServletContext context)
          Loads the list of TransformationHandlers
protected  void putTemplates(javax.xml.transform.Templates templates, java.lang.String id, long lastmod)
          Puts a Templates in cache.
 
Methods inherited from class com.oroad.stxx.transform.AbstractSAXTransformer
getFactory, setCache, transform, writeXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

autoReloadTemplates

protected boolean autoReloadTemplates
If stylesheets will be automatically reloaded

Constructor Detail

AbstractXSLTransformer

public AbstractXSLTransformer()
Method Detail

init

public void init(java.lang.String name,
                 StxxProperties props,
                 javax.servlet.ServletContext context,
                 BuilderRules rules)
Initializes the transformer

Specified by:
init in interface Transformer
Overrides:
init in class AbstractSAXTransformer
Parameters:
name - The name of the transformer
props - The properties
context - The servlet context
rules - The builder rules

getTemplates

protected javax.xml.transform.Templates getTemplates(javax.xml.transform.sax.SAXTransformerFactory factory,
                                                     java.lang.String path)
Gets a transformer from a Templates. It first tries to get a cached Templates. If one cannot be found, it creates a new Templates, stores it in cache, and returns its transofmer.

Parameters:
factory - The SAX transformer factory
Returns:
The found templates

getTemplatesFromCache

protected javax.xml.transform.Templates getTemplatesFromCache(java.lang.String path)
Gets a Templates from cache. If one cannot be found, returns null.

Parameters:
path - The path to the template file
Returns:
The templates value

putTemplates

protected void putTemplates(javax.xml.transform.Templates templates,
                            java.lang.String id,
                            long lastmod)
Puts a Templates in cache.

Parameters:
templates - The Templates to store in cache
id - The unique identifier of the stylesheet
lastmod - The last modified timestamp

loadHandlers

protected javax.xml.transform.sax.TransformerHandler[] loadHandlers(java.util.List paths,
                                                                    javax.servlet.ServletContext context)
                                                             throws TransformerException,
                                                                    javax.xml.transform.TransformerConfigurationException
Loads the list of TransformationHandlers

Parameters:
paths - A list of XSL file paths
context - The servlet context used to resolve paths
Returns:
An array of TransformerHandlers
Throws:
TransformerException
javax.xml.transform.TransformerConfigurationException