org.apache.cocoon.components.modules.input
Class XMLFileModule
java.lang.Object
org.apache.cocoon.util.AbstractLogEnabled
org.apache.cocoon.components.modules.input.AbstractInputModule
org.apache.cocoon.components.modules.input.AbstractJXPathModule
org.apache.cocoon.components.modules.input.XMLFileModule
- All Implemented Interfaces:
- Configurable, Disposable, org.apache.cocoon.components.modules.input.InputModule, Serviceable, ThreadSafe
- public class XMLFileModule
- extends org.apache.cocoon.components.modules.input.AbstractJXPathModule
- implements Serviceable, ThreadSafe
[
]
[
]
This module provides an Input Module interface to any XML document, by using
XPath expressions as attribute keys.
The XML can be obtained from any Cocoon Source
(e.g.,
cocoon:/...
, context://..
, and regular URLs).
Sources can be held in memory for better performance and reloaded if
changed.
Caching and reloading can be turned on / off (default: caching on,
reloading off) through <reloadable>false</reloadable>
and <cacheable>false</cacheable>
. The file
(source) to use is specified through <file
src="protocol:path/to/file.xml" reloadable="true"
cacheable="true"/>
optionally overriding defaults for
caching and/or reloading.
In addition, xpath expressions are cached for higher performance.
Thus, if an expression has been evaluated for a file, the result
is cached and will be reused, the expression is not evaluated
a second time. This can be turned off using the cache-expressions
configuration option.
- Version:
- $Id: XMLFileModule.html 1304280 2012-03-23 11:18:01Z ilgrosso $
Fields inherited from class org.apache.cocoon.components.modules.input.AbstractJXPathModule |
configuration, parameter |
Fields inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule |
settings |
Fields inherited from interface org.apache.cocoon.components.modules.input.InputModule |
ROLE |
Methods inherited from class org.apache.cocoon.components.modules.input.AbstractJXPathModule |
getAttributeNames |
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled |
getLogger, setLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XMLFileModule
public XMLFileModule()
service
public void service(ServiceManager manager)
throws ServiceException
- Specified by:
service
in interface Serviceable
- Throws:
ServiceException
configure
public void configure(Configuration config)
throws ConfigurationException
- Static (cocoon.xconf) configuration.
Configuration is expected to be of the form:
<...>
<reloadable>true|false</reloadable>
<cacheable>true|false</cacheable>
<file src="src1" reloadable="true|false" cacheable="true|false"/>
<file src="src2" reloadable="true|false" cacheable="true|false"/>
...
</...>
Each <file/> element pre-loads an XML DOM for querying. Typically only one
<file> is specified, and its src is used as a default if not
overridden in the
getContextObject(Configuration, Map)
- Specified by:
configure
in interface Configurable
- Parameters:
config
- a Configuration
value, as described above.
- Throws:
ConfigurationException
- if an error occurs
dispose
public void dispose()
- Dispose this component
- Specified by:
dispose
in interface Disposable
getContextObject
protected Object getContextObject(Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Get the DOM object that JXPath will operate on when evaluating
attributes. This DOM is loaded from a Source, specified in the
modeConf, or (if modeConf is null) from the
configure(Configuration)
.
- Parameters:
modeConf
- The dynamic configuration for the current operation. May
be null
, in which case static (cocoon.xconf) configuration
is used. Configuration is expected to have a <file> child node, and
be of the form:
<...>
<file src="..." reloadable="true|false"/>
</...>objectModel
- Object Model for the current module operation.
- Throws:
ConfigurationException
getAttribute
public Object getAttribute(String name,
Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Specified by:
getAttribute
in interface org.apache.cocoon.components.modules.input.InputModule
- Throws:
ConfigurationException
getAttributeValues
public Object[] getAttributeValues(String name,
Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Specified by:
getAttributeValues
in interface org.apache.cocoon.components.modules.input.InputModule
- Throws:
ConfigurationException
flushCache
protected void flushCache()
Copyright © 1999-2008 The Apache Software Foundation. All Rights Reserved.