com.opensymphony.workflow
Interface Condition

All Known Implementing Classes:
AllowOwnerOfStepCondition, AllowOwnerOnlyCondition, BeanShellCondition, BSFCondition, DenyOwnerCondition, IsUserOwnerCondition, JNDICondition, LocalEJBCondition, OSUserGroupCondition, RemoteEJBCondition, StatusCondition

public interface Condition

Interface that must be implemented to define a java-based condition in your workflow definition.

Author:
Patrick Lightbody

Method Summary
 boolean passesCondition(Map transientVars, Map args, com.opensymphony.module.propertyset.PropertySet ps)
          Determines if a condition should signal pass or fail.
 

Method Detail

passesCondition

boolean passesCondition(Map transientVars,
                        Map args,
                        com.opensymphony.module.propertyset.PropertySet ps)
                        throws WorkflowException
Determines if a condition should signal pass or fail.

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. There is a magic property of 'stepId'; if specified with a value of -1, then the value is replaced with the current step's ID before the condition is called.
ps - The persistent variables that are associated with the current instance of the workflow. Any change made to this will be seen on the next function call in the workflow lifetime.
Throws:
WorkflowException

OpenSymphony Workflow Project Page