KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensymphony > workflow > FunctionProviderRemote


1 /*
2  * Copyright (c) 2002-2003 by OpenSymphony
3  * All rights reserved.
4  */

5 package com.opensymphony.workflow;
6
7 import com.opensymphony.module.propertyset.PropertySet;
8
9 import java.rmi.Remote JavaDoc;
10 import java.rmi.RemoteException JavaDoc;
11
12 import java.util.Map JavaDoc;
13
14
15 /**
16  * Remote interface to be implemented by any class that are to be called from within a workflow as a function,
17  * either as a pre-function or a post-function. The args nested elements within the function xml call
18  * will be mapped to the properties parameter.
19  *
20  * @author <a HREF="mailto:plightbo@hotmail.com">Pat Lightbody</a>
21  * @version $Revision: 1.4 $
22  */

23 public interface FunctionProviderRemote extends Remote JavaDoc {
24     //~ Methods ////////////////////////////////////////////////////////////////
25

26     /**
27      * Execute this function
28      * @param transientVars Variables that will not be persisted. These include inputs
29      * given in the {@link Workflow#initialize} and {@link Workflow#doAction} method calls.
30      * There are two special variable names: <b>entry</b> (object type:
31      * {@link com.opensymphony.workflow.spi.WorkflowEntry}) and <b>context</b>
32      * (object type: {@link com.opensymphony.workflow.WorkflowContext}).
33      * Also, any variable set as a {@link com.opensymphony.workflow.Register}), will also be
34      * available in the transient map, no matter what. These transient variables only last through
35      * the method call that they were invoked in, such as {@link Workflow#initialize}
36      * and {@link Workflow#doAction}.
37      * @param args The properties for this function invocation. Properties are created
38      * from arg nested elements within the xml, an arg element takes in a name attribute
39      * which is the properties key, and the CDATA text contents of the element map to
40      * the property value.
41      * @param ps The persistent variables that are associated with the current
42      * instance of the workflow. Any change made to the propertyset are persisted to
43      * the propertyset implementation's persistent store.
44      */

45     public void execute(Map JavaDoc transientVars, Map JavaDoc args, PropertySet ps) throws RemoteException JavaDoc;
46 }
47
Popular Tags