|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.waveset.util.AbstractXmlObject
com.waveset.object.WorkflowComponent
com.waveset.object.WFProcess
A class that represents a workflow process definition.
Nested Class Summary | |
static class |
WFProcess.Action
Actions are descriptions of an operation that is performed within an Activity. |
static class |
WFProcess.ActionResult
A class used to define the effect an Action will have on the WavesetResult object maintained for this process. |
static class |
WFProcess.Activity
An Activity represents one "state" in the process. |
static class |
WFProcess.Argument
A class representing an argument to an Action. |
static class |
WFProcess.Editor
State related to the workflow process editor. |
static class |
WFProcess.Iteration
A class used to define iteration parameters for an Action. |
static class |
WFProcess.Return
A class used to represent a return value from an Action. |
static class |
WFProcess.Transition
A class used to represent a transition from one activity to the another. |
Field Summary | |
static java.lang.String |
ATT_AUDIT
|
static java.lang.String |
ATT_MAX_STEPS
|
static java.lang.String |
ATT_NAME
|
static java.lang.String |
ATT_TITLE
|
static java.lang.String |
ATT_TRACE
|
static java.lang.String |
code_id
|
static java.lang.String |
EL_COMMENTS
|
static java.lang.String |
EL_REPORT_TITLE
|
static java.lang.String |
EL_STATUS_EXPRESSION
|
static java.lang.String |
ELEMENT
Our XML element. |
static java.lang.String |
END_ACTIVITY_NAME
The wired in name of the end node. |
static java.lang.String |
START_ACTIVITY_NAME
The wired in name of the start node. |
static java.lang.String |
VAR_ACTION_ERROR
A variable in the scope of the Action that will be set to "true" if the previously executed action returned a result containing an error or threw an exception. |
static java.lang.String |
VAR_ACTION_RESULT
A variable in the scope of the Action that will be set to the WavesetResult object returned by the last action. |
static java.lang.String |
VAR_ACTION_SUPPRESSED
A variable in the scope of the Action that will be set to the string "true" if the action was suppressed due to a |
static java.lang.String |
VAR_ACTION_TIMEOUT
A variable in the scope of the Action that will be set to "true" if the previously executed action timed out. |
static java.lang.String |
VAR_APPLICATION
A variable containing the name of the "application" that launched the workflow task. |
static java.lang.String |
VAR_CASE_OWNER
A variable in the scope of the root WFProcess that will contain the name of the administrator that launched the workflow task. |
static java.lang.String |
VAR_CASE_RESULT
A variable in the scope of the root WFProcess/WFCase that will contain the WavesetResult of the TaskInstance. |
static java.lang.String |
VAR_CASE_TERMINATED
A variable to indicate that the we've been requested to be terminated. |
static java.lang.String |
VAR_CONTEXT
A variable in the scope of the root WFProcess/WFCase that will contain a WorkflowContext object (the implementation of which happens to be this WorkflowExecutor). |
static java.lang.String |
VAR_TRACE
A built-in variable that causes trace message to be accumulated. |
static java.lang.String |
VAR_TRANSACTION_SIGNATURE
A SignedData object which comes back from the manual action form. |
static java.lang.String |
WF_AUDIT
A variable to determine if auditing should be performed |
static java.lang.String |
WF_AUDIT_ATTR_ACTIVITY
|
static java.lang.String |
WF_AUDIT_ATTR_COND
|
static java.lang.String |
WF_AUDIT_ATTR_INSTANCEID
|
static java.lang.String |
WF_AUDIT_ATTR_MATCH
|
static java.lang.String |
WF_AUDIT_ATTR_ORGANIZATION
|
static java.lang.String |
WF_AUDIT_ATTR_PROCESS
|
static java.lang.String |
WF_AUDIT_ATTR_WORKFLOW
|
static java.lang.String |
WF_AUDIT_ATTRIBUTES
A variable that holds the attributes the workflow should store for audit events |
static java.lang.String |
WF_AUDIT_OBJECT_TYPE
|
Constructor Summary | |
WFProcess()
Build an empty process object. |
|
WFProcess(org.w3c.dom.Element e)
Build a process object from its XML representation. |
Method Summary | |
WFProcess.Activity[] |
getActivities()
Get the list of activity definitions. |
WFProcess.Activity |
getActivity(int id)
Get an activity with a given id. |
WFProcess.Activity |
getActivity(java.lang.String name)
Find an activity by name. |
int[] |
getActivityFeeds(int id)
Calculate a "feed list" of activities that transition into another activity. |
WSAttribute |
getAttributeValues(java.lang.String attrName)
Add any attribute values
that this object may have for the specified attribute. |
java.lang.String |
getComments()
|
WFProcess.Activity |
getEffectiveStartActivity()
Locate the effective starting activity for a process. |
java.lang.String |
getElementName()
Get our XML element name. |
int |
getMaxSteps()
|
java.lang.Object |
getOwner()
|
WFProcess |
getParent()
Get the parent process (null if this is the root process). |
WFProcess.Activity |
getStartActivity()
Get the activity named "start". |
ExNode |
getStatusExpression()
Get the status expression |
WFProcess |
getSubProcess(java.lang.String name)
Get a subprocess definition with a given name. |
WFProcess[] |
getSubProcesses()
Get the list of subprocess definitions. |
java.lang.String |
getTitle()
Get the process report title. |
ExNode |
getTitleExpression()
Get the process title expression. |
java.lang.String |
getTrace()
|
WFProcess.Transition[] |
getTransitions()
|
Variable |
getVariable(java.lang.String name)
Get the declaration of a variable by name. |
Variable[] |
getVariables()
Get the list of process variables. |
boolean |
isAudit()
|
void |
listQueryableAttributes(java.util.List qattrs)
Add any defined attributes
that this type of PersistentObject exposes as queryable attributes
(regardless of whether this object has a value for each). |
void |
listSummaryAttributes(java.util.List sattrs)
Add any defined attributes
that this type of PersistentObject exposes as summary attributes
(regardless of whether this object has a value for each). |
void |
parseXml(org.w3c.dom.Element e)
Parse the XML representation of the process definition. |
void |
setActivities(WFProcess.Activity[] acts)
|
void |
setAudit(boolean b)
|
void |
setComments(java.lang.String s)
|
void |
setMaxSteps(int maxSteps)
Sets maximum number of steps to be taken. |
void |
setOwner(java.lang.Object o)
Allows the extension to keep a back pointer to its container. |
void |
setParent(WFProcess p)
Set the parent process (if this is a subprocess). |
void |
setStatusExpression(ExNode node)
|
void |
setSubProcesses(WFProcess[] processes)
|
void |
setTitle(java.lang.String s)
|
void |
setTitleExpression(ExNode node)
|
void |
setTrace(java.lang.String destination)
Set the trace option. |
void |
setTransitions(WFProcess.Transition[] trans)
|
void |
setVariables(Variable[] vars)
|
java.lang.String |
toString()
|
void |
toXml(java.lang.StringBuffer b,
int indent)
Emit the XML representation of the process definition. |
Methods inherited from class com.waveset.object.WorkflowComponent |
addCommonAttributes, getLocation, getName, getParentComponent, parseCommonAttributes, setLocation, setName, setParentComponent |
Methods inherited from class com.waveset.util.AbstractXmlObject |
addXmlHeader, cloneObject, dump, dumpFile, getReference, println, setTrace, toIdentityString, toVerboseString, toVerboseString, toXml, toXml, toXml |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final java.lang.String code_id
public static final java.lang.String VAR_TRACE
public static final java.lang.String VAR_APPLICATION
public static final java.lang.String VAR_CASE_OWNER
public static final java.lang.String VAR_ACTION_TIMEOUT
As a convenience, this variable will also be set in the scope of the containing Activity so you can test it in a transition condition without having to declare an Activity Variable and use an Action Return. Note though that the Activity binding will be reset after every action, so if the Activity has more than one Action and you don't want to test the status of the last action, you will have to save this in an Activity Varaible.
public static final java.lang.String VAR_ACTION_ERROR
As a convenience, this variable will also be set in the scope of the containing Activity so you can test it in a transition condition without having to declare an Activity Variable and use an Action Return. Note though that the Activity binding will be reset after every action, so if the Activity has more than one Action and you don't want to test the status of the last action, you will have to save this in an Activity Varaible.
public static final java.lang.String VAR_ACTION_RESULT
Unlike some other WF_ACTION_ variables, we don't also bind this in the scope of the containing Activity. This variable is seldom used, and we don't need to clutter up the TaskInstance and trace with a duplicated result object. If you want this outside of the Action, declare an Activity Variable and use an Action Return.
public static final java.lang.String VAR_ACTION_SUPPRESSED
As a convenience, this variable will also be set in the scope of the containing Activity so you can test it in a transition condition without having to declare an Activity Variable and use an Action Return. Note though that the Activity binding will be reset after every action, so if the Activity has more than one Action and you don't want to test the status of the last action, you will have to save this in an Activity Varaible.
public static final java.lang.String VAR_CONTEXT
This can be used in Actions implemented in XPRESS or Javascript in order to get ahold of the WorkflowContext. For Actions implemented as WorkflowApplication classes, the context is passed in.
This is actually not stored as a variable, we simply recognize it in ExpressionState.resolveReference. It cannot be set.
public static final java.lang.String VAR_CASE_RESULT
This can be used in Actions implemented in XPRESS or Javascript in order to get ahold of the result. For Actions implemented as WorkflowApplication classes, they can obtain the result through the WorkflowContext. Since the entire WorkflowContext is exposed through the WF_CONTEXT variable, this isn't absolutely necessary, but it's a convenience.
This is actually not stored as a variable, we simply recognize it in ExpressionState.resolveReference. It cannot be set.
public static final java.lang.String VAR_CASE_TERMINATED
public static final java.lang.String WF_AUDIT_ATTRIBUTES
public static final java.lang.String WF_AUDIT
public static final java.lang.String WF_AUDIT_OBJECT_TYPE
public static final java.lang.String WF_AUDIT_ATTR_WORKFLOW
public static final java.lang.String WF_AUDIT_ATTR_INSTANCEID
public static final java.lang.String WF_AUDIT_ATTR_PROCESS
public static final java.lang.String WF_AUDIT_ATTR_ACTIVITY
public static final java.lang.String WF_AUDIT_ATTR_MATCH
public static final java.lang.String WF_AUDIT_ATTR_COND
public static final java.lang.String WF_AUDIT_ATTR_ORGANIZATION
public static final java.lang.String VAR_TRANSACTION_SIGNATURE
public static final java.lang.String ELEMENT
public static final java.lang.String START_ACTIVITY_NAME
public static final java.lang.String END_ACTIVITY_NAME
public static final java.lang.String ATT_NAME
public static final java.lang.String ATT_TITLE
public static final java.lang.String ATT_TRACE
public static final java.lang.String EL_REPORT_TITLE
public static final java.lang.String EL_COMMENTS
public static final java.lang.String ATT_MAX_STEPS
public static final java.lang.String ATT_AUDIT
public static final java.lang.String EL_STATUS_EXPRESSION
Constructor Detail |
public WFProcess()
public WFProcess(org.w3c.dom.Element e) throws WavesetException
Method Detail |
public java.lang.String toString()
public void setOwner(java.lang.Object o)
Extension
setOwner
in interface Extension
public java.lang.Object getOwner()
getOwner
in interface Extension
public void listQueryableAttributes(java.util.List qattrs)
defined attributes
that this type of PersistentObject exposes as queryable attributes
(regardless of whether this object has a value for each).
listQueryableAttributes
in interface Extension
public void listSummaryAttributes(java.util.List sattrs)
defined attributes
that this type of PersistentObject exposes as summary attributes
(regardless of whether this object has a value for each).
listSummaryAttributes
in interface Extension
public WSAttribute getAttributeValues(java.lang.String attrName)
attribute values
that this object may have for the specified attribute.
getAttributeValues
in interface Extension
attribute values
that the extension may have for the specified attribute.public java.lang.String getElementName()
getElementName
in interface XmlObject
getElementName
in class AbstractXmlObject
public void setMaxSteps(int maxSteps)
public int getMaxSteps()
public void setAudit(boolean b)
public boolean isAudit()
public void setTrace(java.lang.String destination)
public java.lang.String getTrace()
public java.lang.String getTitle()
public void setTitle(java.lang.String s)
public ExNode getTitleExpression()
public void setTitleExpression(ExNode node)
public ExNode getStatusExpression()
public void setStatusExpression(ExNode node)
public WFProcess getParent()
public void setParent(WFProcess p)
public void setComments(java.lang.String s)
public java.lang.String getComments()
public WFProcess.Transition[] getTransitions()
public void setTransitions(WFProcess.Transition[] trans)
public Variable[] getVariables()
public void setVariables(Variable[] vars)
public WFProcess.Activity[] getActivities()
public void setActivities(WFProcess.Activity[] acts)
public WFProcess[] getSubProcesses()
public void setSubProcesses(WFProcess[] processes)
public WFProcess.Activity getActivity(int id)
public WFProcess.Activity getActivity(java.lang.String name)
public WFProcess.Activity getStartActivity()
public int[] getActivityFeeds(int id)
// * This isn't terribly effecient, but it shouldn't be called that often.
public WFProcess getSubProcess(java.lang.String name)
We can't easily prevent these from being nested, but I don't want to maintain name scopes here. Always search the entire tree of process definitions.
public Variable getVariable(java.lang.String name)
We're not expecting to have many of these, so we'll just do a linear search.
public WFProcess.Activity getEffectiveStartActivity() throws WavesetException
WavesetException
public void toXml(java.lang.StringBuffer b, int indent)
toXml
in interface XmlObject
toXml
in class AbstractXmlObject
public void parseXml(org.w3c.dom.Element e) throws WavesetException
WavesetException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |