org.apache.synapse.mediators.bsf
Class ScriptMediator

java.lang.Object
  extended by org.apache.synapse.mediators.AbstractMediator
      extended by org.apache.synapse.mediators.bsf.ScriptMediator
All Implemented Interfaces:
AspectConfigurable, Mediator, SynapseArtifact

public class ScriptMediator
extends AbstractMediator

A Synapse mediator that calls a function in any scripting language supported by the BSF. The ScriptMediator supports scripts specified in-line or those loaded through a registry

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

The function is an optional attribute defining the name of the script function to call, if not specified it defaults to a function named 'mediate'. The function takes a single parameter which is the Synapse MessageContext. The function may return a boolean, if it does not then true is assumed.


Field Summary
protected  javax.script.ScriptEngine scriptEngine
          The BSF engine created to process each message through the script
 
Fields inherited from class org.apache.synapse.mediators.AbstractMediator
log, trace, traceState
 
Constructor Summary
ScriptMediator(String language, Map<Value,Object> includeKeysMap, Value key, String function)
          Create a script mediator for the given language and given script entry key and function
ScriptMediator(String language, String scriptSourceCode)
          Create a script mediator for the given language and given script source
 
Method Summary
 String getFunction()
           
 Map<Value,Object> getIncludeMap()
           
 Value getKey()
           
 String getLanguage()
           
 String getScriptSrc()
           
protected  void initInlineScript()
          Initialise the Mediator for the inline script
protected  void initScriptEngine()
           
 boolean mediate(MessageContext synCtx)
          Perform Script mediation
protected  void prepareExternalScript(MessageContext synCtx)
          Prepares the mediator for the invocation of an external script
 
Methods inherited from class org.apache.synapse.mediators.AbstractMediator
auditLog, auditWarn, configure, disableStatistics, enableStatistics, getAspectConfiguration, getDescription, getLog, getTraceState, getType, handleException, handleException, isStatisticsEnable, isTraceOn, isTraceOrDebugOn, setDescription, setEffectiveTraceState, setTraceState, shouldTrace, traceOrDebug, traceOrDebugWarn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scriptEngine

protected javax.script.ScriptEngine scriptEngine
The BSF engine created to process each message through the script

Constructor Detail

ScriptMediator

public ScriptMediator(String language,
                      String scriptSourceCode)
Create a script mediator for the given language and given script source

Parameters:
language - the BSF language
scriptSourceCode - the source code of the script

ScriptMediator

public ScriptMediator(String language,
                      Map<Value,Object> includeKeysMap,
                      Value key,
                      String function)
Create a script mediator for the given language and given script entry key and function

Parameters:
language - the BSF language
includeKeysMap - Include script keys
key - the registry entry key to load the script
function - the function to be invoked
Method Detail

mediate

public boolean mediate(MessageContext synCtx)
Perform Script mediation

Parameters:
synCtx - the Synapse message context
Returns:
the boolean result from the script invocation

initInlineScript

protected void initInlineScript()
Initialise the Mediator for the inline script


prepareExternalScript

protected void prepareExternalScript(MessageContext synCtx)
                              throws javax.script.ScriptException
Prepares the mediator for the invocation of an external script

Parameters:
synCtx - MessageContext script
Throws:
javax.script.ScriptException - For any errors , when compile the script

initScriptEngine

protected void initScriptEngine()

getLanguage

public String getLanguage()

getKey

public Value getKey()

getFunction

public String getFunction()

getScriptSrc

public String getScriptSrc()

getIncludeMap

public Map<Value,Object> getIncludeMap()


Copyright © 2005-2012 Apache Software Foundation. All Rights Reserved.