Interface SynapseXpathFunctionContextProvider


  • public interface SynapseXpathFunctionContextProvider

    This XPath Function Context provider Interface must be implemented when resolving custom XPath Function contexts .Any xpath function that can't be resolved by SynapseXPathFunctionContext will be delegated to this interface. Users should implement this API as well as jaxen based Function API . Extensions can be registered in synapse.properties under synapse.xpath.func.extensions

    See Also:
    Function, SynapseXPathFunctionContext
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.jaxen.Function getInitializedExtFunction​(MessageContext msgCtxt)
      This method should implement instatntiation code for custom xpath function for the registered QNames given by #getResolvingQName().Note that this extension provider is responsible for initalizing custom xpath function and returning a fresh function instance to Synapse.
      String getResolvingQName()
      Should Implement this API to return supported custom expression
    • Method Detail

      • getInitializedExtFunction

        org.jaxen.Function getInitializedExtFunction​(MessageContext msgCtxt)
        This method should implement instatntiation code for custom xpath function for the registered QNames given by #getResolvingQName().Note that this extension provider is responsible for initalizing custom xpath function and returning a fresh function instance to Synapse. Callers should be responsible for invoking the function explicitly.
        Parameters:
        msgCtxt - Synapse Message Context
        Returns:
        extension Function constructed with message
        See Also:
        Function.call(org.jaxen.Context, java.util.List)
      • getResolvingQName

        String getResolvingQName()
        Should Implement this API to return supported custom expression
        Returns:
        This should return the supported qualified name (localname + prefix + namespace URI combination ) for this extension