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.cocoon.caching.CacheableProcessingComponent, org.apache.avalon.framework.component.Component, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.activity.Disposable, org.apache.cocoon.generation.Generator, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.parameters.Parameterizable, org.apache.avalon.excalibur.pool.Poolable, org.apache.avalon.excalibur.pool.Recyclable, org.apache.avalon.framework.service.Serviceable, 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
Field Summary |
static java.lang.String |
DRIVER
|
Fields inherited from interface org.apache.cocoon.generation.Generator |
ROLE |
Method Summary |
void |
configure(org.apache.avalon.framework.configuration.Configuration config)
|
void |
generate()
|
java.io.Serializable |
getKey()
|
org.apache.excalibur.source.SourceValidity |
getValidity()
|
void |
parameterize(org.apache.avalon.framework.parameters.Parameters params)
|
void |
recycle()
|
void |
setup(org.apache.cocoon.environment.SourceResolver resolver,
java.util.Map objectModel,
java.lang.String source,
org.apache.avalon.framework.parameters.Parameters parameters)
|
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 class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.cocoon.xml.XMLProducer |
setConsumer |
DRIVER
public static final java.lang.String DRIVER
- See Also:
- Constant Field Values
XQueryGenerator
public XQueryGenerator()
setup
public void setup(org.apache.cocoon.environment.SourceResolver resolver,
java.util.Map objectModel,
java.lang.String source,
org.apache.avalon.framework.parameters.Parameters parameters)
throws org.apache.cocoon.ProcessingException,
org.xml.sax.SAXException,
java.io.IOException
- Specified by:
setup
in interface org.apache.cocoon.sitemap.SitemapModelComponent
- Throws:
org.apache.cocoon.ProcessingException
org.xml.sax.SAXException
java.io.IOException
recycle
public void recycle()
- Specified by:
recycle
in interface org.apache.avalon.excalibur.pool.Recyclable
generate
public void generate()
throws java.io.IOException,
org.xml.sax.SAXException,
org.apache.cocoon.ProcessingException
- Specified by:
generate
in interface org.apache.cocoon.generation.Generator
- Throws:
java.io.IOException
org.xml.sax.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 java.io.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
Copyright (C) Wolfgang Meier. All rights reserved.