org.mule.module.xml.expression
Class AbstractXPathExpressionEvaluator

java.lang.Object
  extended by org.mule.module.xml.expression.AbstractXPathExpressionEvaluator
All Implemented Interfaces:
MuleContextAware, ExpressionEvaluator, Disposable, Initialisable, NamedObject
Direct Known Subclasses:
BeanPayloadExpressionEvaluator, XPathExpressionEvaluator

public abstract class AbstractXPathExpressionEvaluator
extends Object
implements ExpressionEvaluator, Initialisable, Disposable, MuleContextAware

Provides a base class for XPath property extractors. The XPath engine used is jaxen (http://jaxen.org) which supports XPath queries on other object models such as JavaBeans as well as Xml


Field Summary
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
AbstractXPathExpressionEvaluator()
           
 
Method Summary
protected  void addNamespaces(NamespaceManager manager, org.jaxen.XPath xpath)
           
protected abstract  org.jaxen.XPath createXPath(String expression, Object object)
           
 void dispose()
          A lifecycle method where implementor should free up any resources.
 Object evaluate(String expression, MuleMessage message)
          
protected abstract  Object extractResultFromNode(Object result)
           
protected  List<?> extractResultsFromNodes(List<?> results)
           
 MuleContext getMuleContext()
           
 NamespaceManager getNamespaceManager()
           
protected  Object getPayloadForXPath(MuleMessage message)
           
protected  org.jaxen.XPath getXPath(String expression, Object object)
           
protected  String getXPathClassName(Object object)
           
 void initialise()
           
 void inject()
           
 void setMuleContext(MuleContext context)
           
 void setNamespaceManager(NamespaceManager namespaceManager)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mule.api.NamedObject
getName
 

Constructor Detail

AbstractXPathExpressionEvaluator

public AbstractXPathExpressionEvaluator()
Method Detail

setMuleContext

public void setMuleContext(MuleContext context)
Specified by:
setMuleContext in interface MuleContextAware

initialise

public void initialise()
                throws InitialisationException
Specified by:
initialise in interface Initialisable
Throws:
InitialisationException

inject

public void inject()
            throws Exception
Throws:
Exception

evaluate

public Object evaluate(String expression,
                       MuleMessage message)

Specified by:
evaluate in interface ExpressionEvaluator

getPayloadForXPath

protected Object getPayloadForXPath(MuleMessage message)
                             throws TransformerException
Throws:
TransformerException

addNamespaces

protected void addNamespaces(NamespaceManager manager,
                             org.jaxen.XPath xpath)

getXPath

protected org.jaxen.XPath getXPath(String expression,
                                   Object object)
                            throws org.jaxen.JaxenException
Throws:
org.jaxen.JaxenException

getXPathClassName

protected String getXPathClassName(Object object)

createXPath

protected abstract org.jaxen.XPath createXPath(String expression,
                                               Object object)
                                        throws org.jaxen.JaxenException
Throws:
org.jaxen.JaxenException

extractResultsFromNodes

protected List<?> extractResultsFromNodes(List<?> results)

dispose

public void dispose()
A lifecycle method where implementor should free up any resources. If an exception is thrown it should just be logged and processing should continue. This method should not throw Runtime exceptions.

Specified by:
dispose in interface Disposable

getNamespaceManager

public NamespaceManager getNamespaceManager()

setNamespaceManager

public void setNamespaceManager(NamespaceManager namespaceManager)

getMuleContext

public MuleContext getMuleContext()

extractResultFromNode

protected abstract Object extractResultFromNode(Object result)


Copyright © 2003-2013 MuleSoft, Inc.. All Rights Reserved.