org.apache.servicemix.eip.patterns
Class XPathSplitter

java.lang.Object
  extended by org.apache.servicemix.common.endpoints.AbstractEndpoint
      extended by org.apache.servicemix.common.endpoints.SimpleEndpoint
          extended by org.apache.servicemix.common.endpoints.ProviderEndpoint
              extended by org.apache.servicemix.eip.EIPEndpoint
                  extended by org.apache.servicemix.eip.support.AbstractSplitter
                      extended by org.apache.servicemix.eip.patterns.XPathSplitter
All Implemented Interfaces:
Endpoint

public class XPathSplitter
extends AbstractSplitter

The XPathSplitter component implements the Splitter pattern using an xpath expression to split the incoming xml.

Version:
$Revision: 376451 $
Author:
gnodet

Field Summary
 
Fields inherited from class org.apache.servicemix.eip.support.AbstractSplitter
SPLITTER_CORRID, SPLITTER_COUNT, SPLITTER_INDEX
 
Fields inherited from class org.apache.servicemix.eip.EIPEndpoint
lockManager, store, storeFactory, timerManager, wsdlExchangeTarget, wsdlResource
 
Fields inherited from class org.apache.servicemix.common.endpoints.AbstractEndpoint
definition, description, endpoint, interfaceName, service, serviceUnit
 
Constructor Summary
XPathSplitter()
           
 
Method Summary
 javax.xml.xpath.XPathFactory getFactory()
           
 javax.xml.xpath.XPathFunctionResolver getFunctionResolver()
           
 javax.xml.namespace.NamespaceContext getNamespaceContext()
           
 org.apache.servicemix.jbi.jaxp.SourceTransformer getTransformer()
           
 org.apache.servicemix.expression.MessageVariableResolver getVariableResolver()
           
 java.lang.String getXPath()
           
 void setFactory(javax.xml.xpath.XPathFactory factory)
          The XPath factory.
 void setFunctionResolver(javax.xml.xpath.XPathFunctionResolver functionResolver)
          The function resolver.
 void setNamespaceContext(javax.xml.namespace.NamespaceContext namespaceContext)
          The namespace context to use when evaluating the xpath expression
 void setTransformer(org.apache.servicemix.jbi.jaxp.SourceTransformer transformer)
           
 void setVariableResolver(org.apache.servicemix.expression.MessageVariableResolver variableResolver)
          The variable resolver.
 void setXPath(java.lang.String xpath)
          The xpath expression used to split the input message.
protected  javax.xml.transform.Source[] split(javax.xml.transform.Source main)
           
 void validate()
           
 
Methods inherited from class org.apache.servicemix.eip.support.AbstractSplitter
createPart, createParts, getTarget, isForwardAttachments, isForwardProperties, isReportErrors, isSynchronous, processAsync, processSync, setForwardAttachments, setForwardProperties, setReportErrors, setSynchronous, setTarget, start
 
Methods inherited from class org.apache.servicemix.eip.EIPEndpoint
chooseFirstEndpointWithDescriptor, copyAttachments, copyProperties, getDefinition, getDefinitionFromDescription, getDefinitionFromWsdlExchangeTarget, getDefinitionFromWsdlResource, getDescription, getDescriptionForExchangeTarget, getEndpointsForExchangeTarget, getLockManager, getStore, getStoreFactory, getTimerManager, getWsdlExchangeTarget, getWsdlResource, process, setLockManager, setStore, setStoreFactory, setTimerManager, setWsdlExchangeTarget, setWsdlResource, stop
 
Methods inherited from class org.apache.servicemix.common.endpoints.ProviderEndpoint
activate, deactivate, getRole, processInOnly, processInOut
 
Methods inherited from class org.apache.servicemix.common.endpoints.SimpleEndpoint
done, fail, getChannel, getContext, getExchangeFactory, send, sendSync
 
Methods inherited from class org.apache.servicemix.common.endpoints.AbstractEndpoint
getEndpoint, getInterfaceName, getKey, getService, getServiceUnit, isExchangeOkay, prepareExchange, setDefinition, setDescription, setEndpoint, setInterfaceName, setService, setServiceUnit, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XPathSplitter

public XPathSplitter()
Method Detail

validate

public void validate()
              throws javax.jbi.management.DeploymentException
Specified by:
validate in interface Endpoint
Overrides:
validate in class AbstractSplitter
Throws:
javax.jbi.management.DeploymentException

split

protected javax.xml.transform.Source[] split(javax.xml.transform.Source main)
                                      throws java.lang.Exception
Specified by:
split in class AbstractSplitter
Throws:
java.lang.Exception

getFactory

public javax.xml.xpath.XPathFactory getFactory()

getFunctionResolver

public javax.xml.xpath.XPathFunctionResolver getFunctionResolver()

getNamespaceContext

public javax.xml.namespace.NamespaceContext getNamespaceContext()

getTransformer

public org.apache.servicemix.jbi.jaxp.SourceTransformer getTransformer()

getVariableResolver

public org.apache.servicemix.expression.MessageVariableResolver getVariableResolver()

getXPath

public java.lang.String getXPath()

setFactory

public void setFactory(javax.xml.xpath.XPathFactory factory)
The XPath factory. If no factory is explicitely configured, a defaut one will be created using XPathFactory.newInstance().


setFunctionResolver

public void setFunctionResolver(javax.xml.xpath.XPathFunctionResolver functionResolver)
The function resolver.


setNamespaceContext

public void setNamespaceContext(javax.xml.namespace.NamespaceContext namespaceContext)
The namespace context to use when evaluating the xpath expression


setTransformer

public void setTransformer(org.apache.servicemix.jbi.jaxp.SourceTransformer transformer)

setVariableResolver

public void setVariableResolver(org.apache.servicemix.expression.MessageVariableResolver variableResolver)
The variable resolver. The default one will enable the use of properties on the message, exchange, as well as making system properties and environment properties available.


setXPath

public void setXPath(java.lang.String xpath)
The xpath expression used to split the input message.



Copyright © 2005-2011 FuseSource. All Rights Reserved.