org.apache.cocoon.template
Class JXTemplateGenerator

java.lang.Object
  extended byorg.apache.avalon.framework.logger.AbstractLogEnabled
      extended byorg.apache.cocoon.xml.AbstractXMLProducer
          extended byorg.apache.cocoon.generation.AbstractGenerator
              extended byorg.apache.cocoon.generation.ServiceableGenerator
                  extended byorg.apache.cocoon.template.JXTemplateGenerator
All Implemented Interfaces:
CacheableProcessingComponent, Disposable, Generator, LogEnabled, Poolable, Recyclable, Serviceable, SitemapModelComponent, XMLProducer
Direct Known Subclasses:
EventAwareGenerator, JXTemplateGenerator

public class JXTemplateGenerator
extends ServiceableGenerator
implements CacheableProcessingComponent

Version:
SVN $Id: JXTemplateGenerator.java 169169 2005-05-08 21:23:28Z lgawron $
Cocoon.sitemap.component.documentation:
Provides a generic page template with embedded JSTL and XPath expression substitution to access data sent by Cocoon Flowscripts.
Cocoon.sitemap.component.label:
content
Cocoon.sitemap.component.logger:
sitemap.generator.jx
Cocoon.sitemap.component.name:
jx
Cocoon.sitemap.component.pooling.max:
16

Field Summary
static String CACHE_KEY
           
static String NS
          The namespace used by this generator
static String VALIDITY
           
 
Fields inherited from class org.apache.cocoon.generation.ServiceableGenerator
manager
 
Fields inherited from class org.apache.cocoon.generation.AbstractGenerator
objectModel, parameters, resolver, source
 
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer
 
Fields inherited from interface org.apache.cocoon.generation.Generator
ROLE
 
Constructor Summary
JXTemplateGenerator()
           
 
Method Summary
 void dispose()
          Release all resources.
 void generate()
          Generate the XML and stream it into the pipeline
 XMLConsumer getConsumer()
           
 Serializable getKey()
          Generate the unique key for the resource being rendered.
 SourceValidity getValidity()
          Generate the validity object.
 void performGeneration(Event startEvent, Event endEvent)
           
 void recycle()
          Recycle the generator by removing references
 void service(ServiceManager manager)
          Set the current ServiceManager instance used by this Serviceable.
 void setup(SourceResolver resolver, Map objectModel, String src, Parameters parameters)
          Set the SourceResolver, object model Map, the source and sitemap Parameters used to process the request.
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.cocoon.xml.XMLProducer
setConsumer
 

Field Detail

NS

public static final String NS
The namespace used by this generator

See Also:
Constant Field Values

CACHE_KEY

public static final String CACHE_KEY
See Also:
Constant Field Values

VALIDITY

public static final String VALIDITY
See Also:
Constant Field Values
Constructor Detail

JXTemplateGenerator

public JXTemplateGenerator()
Method Detail

getConsumer

public XMLConsumer getConsumer()

service

public void service(ServiceManager manager)
             throws ServiceException
Description copied from class: ServiceableGenerator
Set the current ServiceManager instance used by this Serviceable.

Specified by:
service in interface Serviceable
Overrides:
service in class ServiceableGenerator
Throws:
ServiceException

dispose

public void dispose()
Description copied from class: ServiceableGenerator
Release all resources.

Specified by:
dispose in interface Disposable
Overrides:
dispose in class ServiceableGenerator

recycle

public void recycle()
Description copied from class: AbstractGenerator
Recycle the generator by removing references

Specified by:
recycle in interface Recyclable
Overrides:
recycle in class AbstractGenerator

setup

public void setup(SourceResolver resolver,
                  Map objectModel,
                  String src,
                  Parameters parameters)
           throws ProcessingException,
                  SAXException,
                  IOException
Description copied from class: AbstractGenerator
Set the SourceResolver, object model Map, the source and sitemap Parameters used to process the request.

Specified by:
setup in interface SitemapModelComponent
Overrides:
setup in class AbstractGenerator
Throws:
ProcessingException
SAXException
IOException

generate

public void generate()
              throws IOException,
                     SAXException,
                     ProcessingException
Description copied from interface: Generator
Generate the XML and stream it into the pipeline

Specified by:
generate in interface Generator
Throws:
IOException
SAXException
ProcessingException

performGeneration

public void performGeneration(Event startEvent,
                              Event endEvent)
                       throws SAXException
Throws:
SAXException

getKey

public Serializable getKey()
Description copied from interface: CacheableProcessingComponent
Generate the unique key for the resource being rendered.

The cache key is the single most important part of the caching implementation. If you don't get it right, you can introduce more load on the caching engine than is necessary. It is important that the cache key has the following attributes:

Thankfully there is a perfectly suitable object that satisfies these obligations from Java's core: java.lang.String. You can also use your own specific key objects provided they respect the above contracts.

Important:If the cache key is null then your component will not be cached at all. You can use this to your advantage to cache some things but not others.

Specified by:
getKey in interface CacheableProcessingComponent
Returns:
The generated key or null if the component is currently not cacheable.

getValidity

public SourceValidity getValidity()
Description copied from interface: CacheableProcessingComponent
Generate the validity object. This method is invoked after the getKey() method.

The caching contracts use the Excalibur SourceValidity interface to determine whether a resource is valid or not. The validity can be a compound check that incorporates time since creation, parameter values, etc. As long as the sitemap can determine whether the cached resource is valid or not. More information is available on the Apache Excalibur site. Alternatively you can use the built in CacheValidity objects in the org.apache.cocoon.caching package and then use the CacheValidityToSourceValidity adaptor object.

Specified by:
getValidity in interface CacheableProcessingComponent
Returns:
The generated validity object or null if the component is currently not cacheable.


Copyright ? 1999-2005 The Apache Software Foundation. All Rights Reserved.