Package org.apache.synapse.mediators.bsf

## Class ScriptMediatorFactory

- java.lang.Object
- - org.apache.synapse.config.xml.AbstractMediatorFactory
  - - org.apache.synapse.mediators.bsf.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, VARIABLE_Q`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ScriptMediatorFactory()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.apache.synapse.Mediator` | `createSpecificMediator​(org.apache.axiom.om.OMElement elem, Properties properties)` |
    `QName` | `getTagQName()` |

    - ### Methods inherited from class org.apache.synapse.config.xml.AbstractMediatorFactory

      `addAllCommentChildrenToList, collectNameValuePairs, createMediator, handleException, handleException, processAuditStatus, processTraceState`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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()