org.springframework.integration.scripting
Class AbstractScriptExecutingMessageProcessor<T>

java.lang.Object
  extended by org.springframework.integration.scripting.AbstractScriptExecutingMessageProcessor<T>
All Implemented Interfaces:
MessageProcessor<T>
Direct Known Subclasses:
GroovyCommandMessageProcessor, GroovyScriptExecutingMessageProcessor

public abstract class AbstractScriptExecutingMessageProcessor<T>
extends java.lang.Object
implements MessageProcessor<T>

Base MessageProcessor for scripting implementations to extend.

Since:
2.0

Constructor Summary
protected AbstractScriptExecutingMessageProcessor()
           
protected AbstractScriptExecutingMessageProcessor(ScriptVariableGenerator scriptVariableGenerator)
           
 
Method Summary
protected abstract  T executeScript(ScriptSource scriptSource, java.util.Map<java.lang.String,java.lang.Object> variables)
          Subclasses must implement this method.
protected abstract  ScriptSource getScriptSource(Message<?> message)
          Subclasses must implement this method to create a script source, optionally using the message to locate or create the script.
 T processMessage(Message<?> message)
          Executes the script and returns the result.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractScriptExecutingMessageProcessor

protected AbstractScriptExecutingMessageProcessor()

AbstractScriptExecutingMessageProcessor

protected AbstractScriptExecutingMessageProcessor(ScriptVariableGenerator scriptVariableGenerator)
Method Detail

processMessage

public final T processMessage(Message<?> message)
Executes the script and returns the result.

Specified by:
processMessage in interface MessageProcessor<T>

getScriptSource

protected abstract ScriptSource getScriptSource(Message<?> message)
Subclasses must implement this method to create a script source, optionally using the message to locate or create the script.

Parameters:
message - the message being processed
Returns:
a ScriptSource to use to create a script

executeScript

protected abstract T executeScript(ScriptSource scriptSource,
                                   java.util.Map<java.lang.String,java.lang.Object> variables)
                            throws java.lang.Exception
Subclasses must implement this method. In doing so, the execution context for the script should be populated with the provided script variables.

Throws:
java.lang.Exception