com.opensymphony.workflow
Interface FunctionProvider

All Known Implementing Classes:
BeanShellFunctionProvider, BSFFunctionProvider, Caller, EJBInvoker, JDBCWorkflowFactory, JMSMessage, JNDIFunctionProvider, LocalEJBFunctionProvider, MostRecentOwner, RemoteEJBFunctionProvider, ScheduleJob, SendEmail, UnscheduleJob, WebWorkExecutor, XWorkExecutor

public interface FunctionProvider

Interface to be implemented by any class that are to be called from within a workflow as a function, either as a pre-function or a post-function. The args nested elements within the function xml call will be mapped to the properties parameter.

Author:
Pat Lightbody

Method Summary
 void execute(Map transientVars, Map args, com.opensymphony.module.propertyset.PropertySet ps)
          Execute this function
 

Method Detail

execute

void execute(Map transientVars,
             Map args,
             com.opensymphony.module.propertyset.PropertySet ps)
             throws WorkflowException
Execute this function

Parameters:
transientVars - Variables that will not be persisted. These include inputs given in the Workflow.initialize(java.lang.String, int, java.util.Map) and Workflow.doAction(long, int, java.util.Map) method calls. There are a number of special variable names:
  • entry: (object type: WorkflowEntry) The workflow instance
  • context: (object type: WorkflowContext). The workflow context.
  • actionId: The Integer ID of the current action that was take (if applicable).
  • currentSteps: A Collection of the current steps in the workflow instance.
  • store: The WorkflowStore.
  • descriptor: The WorkflowDescriptor.
Also, any variable set as a Register), will also be available in the transient map, no matter what. These transient variables only last through the method call that they were invoked in, such as Workflow.initialize(java.lang.String, int, java.util.Map) and Workflow.doAction(long, int, java.util.Map).
args - The properties for this function invocation. Properties are created from arg nested elements within the xml, an arg element takes in a name attribute which is the properties key, and the CDATA text contents of the element map to the property value.
ps - The persistent variables that are associated with the current instance of the workflow. Any change made to the propertyset are persisted to the propertyset implementation's persistent store.
Throws:
WorkflowException

OpenSymphony Workflow Project Page