Class ScriptMediatorFactory

  • All Implemented Interfaces:
    org.apache.synapse.config.xml.MediatorFactory

    public class ScriptMediatorFactory
    extends org.apache.synapse.config.xml.AbstractMediatorFactory
    Creates an instance of a Script mediator for inline or external script mediation for BSF scripting languages.

    *

        <script [key="entry-key"]
          [function="script-function-name"] language="javascript|groovy|ruby">
          (text | xml)?
          <include key="entry-key" />
        </script>
     

    The boolean response from the in-lined mediator is either the response from the evaluation of the script statements or if that result is not a boolean then a response of true is assumed.

    The MessageContext passed in to the script mediator has additional methods over the Synapse MessageContext to enable working with the XML in a way natural to the scripting language. For example when using JavaScript get/setPayloadXML use E4X XML objects, when using Ruby they use REXML documents.

    For external script mediation, that is when using key, function, language attributes, <include key"entry-key" /> is used to include one or more additional script files.

    • Field Summary

      • Fields inherited from class org.apache.synapse.config.xml.AbstractMediatorFactory

        ATT_DEFAULT_VALUE, ATT_DESCRIPTION, ATT_EVAL, ATT_EXPRN, ATT_IS_MANDATORY, ATT_KEY, ATT_NAME, ATT_ONERROR, ATT_REGEX, ATT_SEQUENCE, ATT_SOURCE, ATT_STATS, ATT_TARGET, ATT_VALUE, ATT_XPATH, DESCRIPTION_Q, FEATURE_Q, PROP_Q, PROPERTY_GROUP_Q, TARGET_Q
    • Constructor Detail

      • ScriptMediatorFactory

        public ScriptMediatorFactory()
    • Method Detail

      • createSpecificMediator

        public org.apache.synapse.Mediator createSpecificMediator​(org.apache.axiom.om.OMElement elem,
                                                                  Properties properties)
        Specified by:
        createSpecificMediator in class org.apache.synapse.config.xml.AbstractMediatorFactory
      • getTagQName

        public QName getTagQName()