Save This Page
Home » cocoon-2.1.11-src » org.apache.cocoon.components.modules » input » [javadoc | source]
org.apache.cocoon.components.modules.input
abstract public class: AbstractJXPathModule [javadoc | source]
java.lang.Object
   org.apache.avalon.framework.logger.AbstractLogEnabled
      org.apache.cocoon.components.modules.input.AbstractInputModule
         org.apache.cocoon.components.modules.input.AbstractJXPathModule

All Implemented Interfaces:
    org.apache.avalon.framework.activity.Disposable, InputModule, org.apache.avalon.framework.configuration.Configurable

Direct Known Subclasses:
    FlowAttributeModule, SessionModule, PropertiesFileModule, RequestModule, SystemPropertyModule, XMLFileModule, FlowContinuationModule

JXPathModule allows to access properties of any object in generic way. JXPath provides APIs for the traversal of graphs of JavaBeans, DOM and other types of objects using the XPath syntax.

Note: JXPathMetaModule is based on this class and duplicates the code since multiple inheritance is not possible. Please keep both classes in sync.

Configuration

<lenient>false</lenient> When set to true, non-existing attributes return null; when set to false, an exception is thrown. Default is true.
<parameter>foo</parameter> When set overrides attribute name passed to module.
<function name="java.lang.String" prefix="str"/> Imports the class "String" as extension class to the JXPathContext using the prefix "str". Thus "str:length(xpath)" would apply the method "length" to the string object obtained from the xpath expression. Please note that the class needs to be fully qualified.
<package name="java.util" prefix="util"/> Imports all classes in the package "java.util" as extension classes to the JXPathContext using the prefix "util". Thus "util:Date.new()" would create a new java.util.Date object.
<namespace uri="uri:foo" prefix="bar"/> Registers the namespace identified by URI uri:foo with the JXPathContext using the prefix bar. Thus expressions can query XML with nodes in this namespace using registered prefix.
Field Summary
protected  JXPathHelperConfiguration configuration    Contains all globally registered extension classes and packages. Thus the lookup and loading of globally registered extensions is done only once. 
protected  String parameter    Overrides attribute name 
Fields inherited from org.apache.cocoon.components.modules.input.AbstractInputModule:
returnNames,  settings
Method from org.apache.cocoon.components.modules.input.AbstractJXPathModule Summary:
configure,   getAttribute,   getAttributeNames,   getAttributeValues,   getContextObject
Methods from org.apache.cocoon.components.modules.input.AbstractInputModule:
configure,   dispose,   getAttribute,   getAttributeNames,   getAttributeValues
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.cocoon.components.modules.input.AbstractJXPathModule Detail:
 public  void configure(Configuration config) throws ConfigurationException 
    Configure component. Preprocess list of packages and functions to add to JXPath context later.
 public Object getAttribute(String name,
    Configuration modeConf,
    Map objectModel) throws ConfigurationException 
 public Iterator getAttributeNames(Configuration modeConf,
    Map objectModel) throws ConfigurationException 
 public Object[] getAttributeValues(String name,
    Configuration modeConf,
    Map objectModel) throws ConfigurationException 
 abstract protected Object getContextObject(Configuration modeConf,
    Map objectModel) throws ConfigurationException
    Returns the object which should be used as JXPath context. Descendants should override this method to return a specific object that is requried by the implementing class. Examples are: request, session and application context objects.