org.exist.cocoon
Class XQueryGenerator
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.xml.AbstractXMLProducer
org.apache.cocoon.generation.AbstractGenerator
org.apache.cocoon.generation.ServiceableGenerator
org.exist.cocoon.XQueryGenerator
- All Implemented Interfaces:
- org.apache.avalon.excalibur.pool.Poolable, org.apache.avalon.excalibur.pool.Recyclable, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.component.Component, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.parameters.Parameterizable, org.apache.avalon.framework.service.Serviceable, org.apache.cocoon.caching.CacheableProcessingComponent, org.apache.cocoon.generation.Generator, org.apache.cocoon.sitemap.SitemapModelComponent, org.apache.cocoon.xml.XMLProducer
public class XQueryGenerator
- extends org.apache.cocoon.generation.ServiceableGenerator
- implements org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.parameters.Parameterizable, org.apache.cocoon.caching.CacheableProcessingComponent
A generator for Cocoon which reads an XQuery script, executes it and passes
the results into the Cocoon pipeline.
The following optional attributes are accepted on the component declaration as default eXist settings:
collection: identifies the XML:DB root collection used to process
the request
user
password
authen: if set to session, then use the user and password from the session. Otherwise use the parameter values.
create-session: if set to "true", indicates that an
HTTP session should be created upon the first invocation.
expand-xincludes
cache-validity: if specified, the XQuery content is
cached until the specified delay expressed in milliseconds is elapsed
or until the XQuery file is modified. The identity of the cached content is
computed using the XQuery file URI and the list of all parameters passed to
the XQuery.
The component also accept default parameters that will be declared as implicit variables in the XQuery.
See below an example declaration of the XQueryGenerator component with default eXist settings, and an extra user-defined parameter:
These settings and parameters can be overriden on a per-pipeline basis with sitemap parameters, see below with default values and the extra user-defined parameter:
<map:parameter name="collection" value="xmldb:exist:///db"/>
<map:parameter name="user" value="guest"/>
<map:parameter name="password" value="guest"/>
<map:parameter name="create-session" value="false"/>
<map:parameter name="expand-xincludes" value="false"/>
<map:parameter name="cache-validity" value="-1quot;/>
<map:parameter name="myProjectURI" value="/db/myproject"/>
The last sitemap parameter overrides the value of the XQuery variable defined in the component parameters,
whereas others override the default eXist settings defined on the component attributes.
- Author:
- wolf
Fields inherited from interface org.apache.cocoon.generation.Generator |
ROLE |
Methods inherited from class org.apache.cocoon.generation.ServiceableGenerator |
dispose, service |
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer |
setConsumer, setContentHandler, setLexicalHandler |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
enableLogging |
Methods inherited from interface org.apache.cocoon.xml.XMLProducer |
setConsumer |
DRIVER
public static final String DRIVER
- See Also:
- Constant Field Values
XQueryGenerator
public XQueryGenerator()
setup
public void setup(org.apache.cocoon.environment.SourceResolver resolver,
Map objectModel,
String source,
org.apache.avalon.framework.parameters.Parameters parameters)
throws org.apache.cocoon.ProcessingException,
SAXException,
IOException
- Specified by:
setup
in interface org.apache.cocoon.sitemap.SitemapModelComponent
- Overrides:
setup
in class org.apache.cocoon.generation.AbstractGenerator
- Throws:
org.apache.cocoon.ProcessingException
SAXException
IOException
recycle
public void recycle()
- Specified by:
recycle
in interface org.apache.avalon.excalibur.pool.Recyclable
- Overrides:
recycle
in class org.apache.cocoon.generation.AbstractGenerator
generate
public void generate()
throws IOException,
SAXException,
org.apache.cocoon.ProcessingException
- Specified by:
generate
in interface org.apache.cocoon.generation.Generator
- Throws:
IOException
SAXException
org.apache.cocoon.ProcessingException
- See Also:
Generator.generate()
configure
public void configure(org.apache.avalon.framework.configuration.Configuration config)
throws org.apache.avalon.framework.configuration.ConfigurationException
- Specified by:
configure
in interface org.apache.avalon.framework.configuration.Configurable
- Throws:
org.apache.avalon.framework.configuration.ConfigurationException
- See Also:
Configurable.configure(org.apache.avalon.framework.configuration.Configuration)
parameterize
public void parameterize(org.apache.avalon.framework.parameters.Parameters params)
throws org.apache.avalon.framework.parameters.ParameterException
- Specified by:
parameterize
in interface org.apache.avalon.framework.parameters.Parameterizable
- Throws:
org.apache.avalon.framework.parameters.ParameterException
- See Also:
Parameterizable.parameterize(org.apache.avalon.framework.parameters.Parameters)
getKey
public Serializable getKey()
- Specified by:
getKey
in interface org.apache.cocoon.caching.CacheableProcessingComponent
getValidity
public org.apache.excalibur.source.SourceValidity getValidity()
- Specified by:
getValidity
in interface org.apache.cocoon.caching.CacheableProcessingComponent
getDriverName
public String getDriverName()
Copyright (C) Wolfgang Meier. All rights reserved.