com.bea.wli.worklist.api.taskplan
Interface Step

All Superinterfaces:
ActionContainer<StepAction>, Bounded, EventSource, NamedObject, NamedObjectContainer<StepAction>, Serializable

public interface Step
extends ActionContainer<StepAction>, Serializable

Represents a discrete step in the completion of a human interaction worklist task. Tasks may have multiple steps. Each step defines actions that a human user may take to make a task proceed to the next step in its step model.


Nested Class Summary
static interface Step.Event
          Property names for the PropertyChangeEvents that can be produced by edits on a object of this type.
static class Step.Type
           
 
Method Summary
 void addActionConnectorToTarget(ActionConnector connector)
          Internal use only.
 AssignAction addAssignAction(String name)
          Will create an AssignAction and add it to the step.
 AssignToNextUserAction addAssignToNextUserAction(String name)
          Will create an ActionConnector and add it to 'this' as the source.
 ReturnAction addReturnAction(String name)
          Will create a ReturnAction and add it to the step.
 StepWorkAction addWorkAction(String name)
          Will create an ActionConnector and add it to 'this' as the source.
 AssignmentInstructions createAssignmentInstructions()
          Create and set the instructions that will be used to perform assignment on a task when this step is the current step for that task.
 BusinessDateTime createCompletionDueBusinessDate()
          Create and set the completion due business date for this step.
 Interval createTimeEstimate()
          Create and set the Interval instance representing the estimated time it will take to complete this task.
 void destroyAssignmentInstructions()
          Destroy and unset the assignment instructions for this step.
 void destroyCompletionDueBusinessDate()
          Destroy and unset the completion due business date for this step.
 void destroyTimeEstimate()
          Destroy and unset the time estimate for this step.
 AssignAction getAssignAction(String name)
          Get the assign action with the given name.
 AssignmentInstructions getAssignmentInstructions()
          Get the assignmentInstructions that will be used for assignment of tasks at this step.
 AssignToNextUserAction getAssignToNextUserAction(String name)
          Get the assing-to-next-user action with the given name.
 BusinessDateTime getCompletionDueBusinessDate()
          Business date and time by which this step must be completed.
 ReturnAction getReturnAction(String name)
          Get the return action with the given name.
 StepAction getStepAction(String name)
          Get step action with the given name.
 List<ActionConnector> getTargetActionConnectors()
          Internal use only.
 Interval getTimeEstimate()
          An estimate of the time it will take to complete this step of the task.
 Step.Type getType()
          Indicates the type associated with this step.
 StepWorkAction getWorkAction(String name)
          Get the work action with the given name.
 void removeActionConnectorFromTarget(ActionConnector connector)
          Internal use only.
 void setAssignmentInstructions(AssignmentInstructions instructions)
          Set the instructions that will be used to perform assignment on a task when this step is the current step for that task.
 void setCompletionDueBusinessDate(BusinessDateTime dateTime)
          Set the completion due business date for this step.
 void setTimeEstimate(Interval estimate)
          Set the Interval instance representing the estimated time it will take to complete this task.
 void setType(Step.Type type)
           
 
Methods inherited from interface com.bea.wli.worklist.api.taskplan.ActionContainer
getAction, getActionNames, getSourceActionConnectors, getTaskPlan, moveAction
 
Methods inherited from interface com.bea.wli.worklist.api.taskplan.NamedObjectContainer
addChild, addChild, clear, getChild, getChildNames, getChildObjects, hasChild, removeChild, renameChild
 
Methods inherited from interface com.bea.wli.worklist.api.taskplan.EventSource
addPropertyChangeListener, addPropertyChangeListener, clearDirty, dispose, getParent, isComplete, isDirty, isInitializing, isStarted, markDirty, removePropertyChangeListener, removePropertyChangeListener, startProducing
 
Methods inherited from interface com.bea.wli.worklist.api.taskplan.NamedObject
getDescription, getName, setDescription
 
Methods inherited from interface com.bea.wli.worklist.api.taskplan.EventSource
addPropertyChangeListener, addPropertyChangeListener, clearDirty, dispose, getParent, isComplete, isDirty, isInitializing, isStarted, markDirty, removePropertyChangeListener, removePropertyChangeListener, startProducing
 
Methods inherited from interface com.bea.wli.worklist.api.taskplan.Bounded
getBounds, setBounds
 

Method Detail

getType

Step.Type getType()
Indicates the type associated with this step. Most steps will have a type of 'Normal'. If no type is set explicitly for a step, it will have a default type of 'Normal'.


setType

void setType(Step.Type type)

getCompletionDueBusinessDate

BusinessDateTime getCompletionDueBusinessDate()
Business date and time by which this step must be completed. This is specified as a time interval, and a business calendar name. The time interval will be added to a reference date to arrive at an absolute date. The reference date is the date (and time) when this step became the current step. The business calendar is used to calculate the absolute date by which the step must be completed.

Returns:
BusinessDateTime or null if none was set.

setCompletionDueBusinessDate

void setCompletionDueBusinessDate(BusinessDateTime dateTime)
Set the completion due business date for this step. Instances of BusinessDateTime may be created via TaskPlanFactory. For most users, you should use createCompletionDueBusinessDate() to create and set the instance in one step.

See Also:
createCompletionDueBusinessDate(), TaskPlanFactory.createBusinessDateTime()

createCompletionDueBusinessDate

BusinessDateTime createCompletionDueBusinessDate()
Create and set the completion due business date for this step. The returned BusinessDateTime instance is 'live' and can be modified via its setters to configure the completion due business date for this step.

See Also:
destroyCompletionDueBusinessDate()

destroyCompletionDueBusinessDate

void destroyCompletionDueBusinessDate()
Destroy and unset the completion due business date for this step.

See Also:
createCompletionDueBusinessDate()

getTimeEstimate

Interval getTimeEstimate()
An estimate of the time it will take to complete this step of the task. This value is optional. The time estimate is used by the default worklist assignment handler (and may be used by custom assignment handlers) for load balancing. If not specified, the time estimate on the parent task type (if any) will be used. If no default is found on the task plan, a default value of 10 minutes will be used. This is a string value in the format of a BusinessTime interval (for example '0min0hour0day' or '10 years 5 hours 3 seconds'). Note that the estimate will be converted to minutes using the assumption that a month = 30 days, and a year = 365 days (e.g. no business calendar calculations will be performed).

Returns:
An Interval instance representing the estimated time needed to complete this task or null if none was set.
See Also:
createTimeEstimate()

setTimeEstimate

void setTimeEstimate(Interval estimate)
Set the Interval instance representing the estimated time it will take to complete this task. Interval instances may be created using TaskPlanFactory. For most users, you should use createTimeEstimate to create and set the instance in one step.

See Also:
createTimeEstimate(), TaskPlanFactory.createInterval(String)

createTimeEstimate

Interval createTimeEstimate()
Create and set the Interval instance representing the estimated time it will take to complete this task. The Interval instance returned is 'live' and can be modified via its setters to configure the time estimate for this step.

See Also:
getTimeEstimate(), destroyTimeEstimate()

destroyTimeEstimate

void destroyTimeEstimate()
Destroy and unset the time estimate for this step.


getAssignmentInstructions

AssignmentInstructions getAssignmentInstructions()
Get the assignmentInstructions that will be used for assignment of tasks at this step. If this method returns null, this indicates that no explicit assignment instructions have been given for this step, and no assignment will be performed automatically at this step.

Returns:
An AssignmentInstructions instance or null if no instructions have been set.
See Also:
createAssignmentInstructions(), destroyAssignmentInstructions()

setAssignmentInstructions

void setAssignmentInstructions(AssignmentInstructions instructions)
Set the instructions that will be used to perform assignment on a task when this step is the current step for that task. Note that if you don't set assignment instructions, no assignment is performed on tasks at this step. Instances of AssignmentInstructions may be created via TaskPlanFactory. For most users, you should use createAssignmentInstructions() to create and set the instructions in one step.

See Also:
createAssignmentInstructions(), TaskPlanFactory.createAssignmentInstructions()

createAssignmentInstructions

AssignmentInstructions createAssignmentInstructions()
Create and set the instructions that will be used to perform assignment on a task when this step is the current step for that task. Note that if you don't set assignment instructions, no assignment is performed on tasks at this step. The AssignmentInstructions instance returned is 'live' and can be modified via its setters to configure the assignment instructions for this step.

See Also:
destroyAssignmentInstructions()

destroyAssignmentInstructions

void destroyAssignmentInstructions()
Destroy and unset the assignment instructions for this step.


getStepAction

StepAction getStepAction(String name)
                         throws UnknownObjectException
Get step action with the given name.

Parameters:
name -
Returns:
Throws:
UnknownObjectException

getAssignAction

AssignAction getAssignAction(String name)
                             throws UnknownObjectException
Get the assign action with the given name. If no assign action with the given name exists in this task plan, UnknownObjectException is thrown.

Throws:
UnknownObjectException

addAssignAction

AssignAction addAssignAction(String name)
Will create an AssignAction and add it to the step.

Parameters:
name - The name of the action to add (must be unique among all actions of any type in this step).

getReturnAction

ReturnAction getReturnAction(String name)
                             throws UnknownObjectException
Get the return action with the given name. If no return action with the given name exists in this task plan, UnknownObjectException is thrown.

Throws:
UnknownObjectException

addReturnAction

ReturnAction addReturnAction(String name)
Will create a ReturnAction and add it to the step.

Parameters:
name - The name of the action to add (must be unique among all actions of any type in this step).

getWorkAction

StepWorkAction getWorkAction(String name)
                             throws UnknownObjectException
Get the work action with the given name. If no work action with the given name exists in this task plan, UnknownObjectException is thrown.

Throws:
UnknownObjectException

addWorkAction

StepWorkAction addWorkAction(String name)
Will create an ActionConnector and add it to 'this' as the source. When the next step is set, this will cause the connector to be added to the target as well.

Parameters:
name - The name of the action to add (must be unique among all actions of any type in this step).
Returns:

getAssignToNextUserAction

AssignToNextUserAction getAssignToNextUserAction(String name)
                                                 throws UnknownObjectException
Get the assing-to-next-user action with the given name. If no such action with the given name exists in this task plan, UnknownObjectException is thrown.

Throws:
UnknownObjectException

addAssignToNextUserAction

AssignToNextUserAction addAssignToNextUserAction(String name)
Will create an ActionConnector and add it to 'this' as the source. When the next step is set, this will cause the connector to be added to the target as well.

Parameters:
name - The name of the action to add (must be unique among all actions of any type in this step).
Returns:

getTargetActionConnectors

List<ActionConnector> getTargetActionConnectors()
Internal use only.


addActionConnectorToTarget

void addActionConnectorToTarget(ActionConnector connector)
Internal use only.

Parameters:
connector -

removeActionConnectorFromTarget

void removeActionConnectorFromTarget(ActionConnector connector)
Internal use only. This should not modify the next step of the underlying action, as this method is called from ActionConnector.dispose() or WorkAction.setNextStep() anyway.

Parameters:
connector -