org.mule.module.xml.transformer
Class JXPathExtractor

java.lang.Object
  extended by org.mule.transformer.AbstractTransformer
      extended by org.mule.module.xml.transformer.JXPathExtractor
All Implemented Interfaces:
MuleContextAware, Initialisable, NamedObject, BaseTransformer, Transformer

public class JXPathExtractor
extends AbstractTransformer
implements MuleContextAware

The JXPathExtractor is a simple transformer that evaluates an xpath expression against the given bean and that returns the result.

By default, a single result will be returned. If multiple values are expected, set the singleResult property to false. In this case a List of values will be returned. Note the property is currently ignored for non-String/XML payloads.


Field Summary
static String OUTPUT_TYPE_NODE
           
static String OUTPUT_TYPE_VALUE
           
static String OUTPUT_TYPE_XML
           
 
Fields inherited from class org.mule.transformer.AbstractTransformer
DEFAULT_TRUNCATE_LENGTH, endpoint, logger, name, returnClass, sourceTypes
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Constructor Summary
JXPathExtractor()
           
 
Method Summary
 Object doTransform(Object src, String encoding)
          Evaluate the expression in the context of the given object and returns the result.
 String getExpression()
           
 Map getNamespaces()
           
 String getOutputType()
           
 void initialise()
          Template method where deriving classes can do any initialisation after the properties have been set on this transformer
 boolean isSingleResult()
          Should a single value be returned.
 void setExpression(String expression)
           
 void setMuleContext(MuleContext context)
           
 void setNamespaces(Map namespaceURIs)
           
 void setOutputType(String outputEncoding)
           
 void setSingleResult(boolean singleResult)
          If multiple results are expected from the expression evaluation, set this to false.
 
Methods inherited from class org.mule.transformer.AbstractTransformer
checkReturnClass, generateTransformerName, getEndpoint, getName, getReturnClass, getSourceTypes, isAcceptNull, isConsumed, isIgnoreBadInput, isSourceTypeSupported, isSourceTypeSupported, registerSourceType, setEndpoint, setIgnoreBadInput, setName, setReturnClass, toString, transform, unregisterSourceType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

OUTPUT_TYPE_NODE

public static final String OUTPUT_TYPE_NODE
See Also:
Constant Field Values

OUTPUT_TYPE_XML

public static final String OUTPUT_TYPE_XML
See Also:
Constant Field Values

OUTPUT_TYPE_VALUE

public static final String OUTPUT_TYPE_VALUE
See Also:
Constant Field Values
Constructor Detail

JXPathExtractor

public JXPathExtractor()
Method Detail

setMuleContext

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

initialise

public void initialise()
                throws InitialisationException
Template method where deriving classes can do any initialisation after the properties have been set on this transformer

Specified by:
initialise in interface Initialisable
Overrides:
initialise in class AbstractTransformer
Throws:
InitialisationException
RecoverableException - if an error occurs that can be recovered from

doTransform

public Object doTransform(Object src,
                          String encoding)
                   throws TransformerException
Evaluate the expression in the context of the given object and returns the result. If the given object is a string, it assumes it is an valid xml and parses it before evaluating the xpath expression.

Specified by:
doTransform in class AbstractTransformer
Throws:
TransformerException

getExpression

public String getExpression()
Returns:
Returns the expression.

setExpression

public void setExpression(String expression)
Parameters:
expression - The expression to set.

isSingleResult

public boolean isSingleResult()
Should a single value be returned.

Returns:
value

setSingleResult

public void setSingleResult(boolean singleResult)
If multiple results are expected from the expression evaluation, set this to false.

Parameters:
singleResult - flag

getOutputType

public String getOutputType()

setOutputType

public void setOutputType(String outputEncoding)

getNamespaces

public Map getNamespaces()

setNamespaces

public void setNamespaces(Map namespaceURIs)


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.