public class Task extends FlowNode
Modifier and Type | Class and Description |
---|---|
static class |
Task.MultiInstanceType
マルチインスタンスタイプを表す列挙型。
|
Constructor and Description |
---|
Task(java.lang.String flowNodeId,
java.lang.String flowNodeName,
java.lang.String laneId,
java.lang.String multiInstanceType,
java.lang.String completionCondition,
java.util.List<SequenceFlow> sequenceFlows)
タスク定義を生成する。
|
Modifier and Type | Method and Description |
---|---|
void |
activate(java.lang.String instanceId,
java.util.Map<java.lang.String,?> parameter)
フローノードのアクティブ化処理を行う。
|
void |
assignGroups(java.lang.String instanceId,
java.util.List<java.lang.String> groups)
タスクに担当グループを割り当てる。マルチインスタンスでないタスクに対しては、複数グループを割り当てることは出来ない。
マルチインスタンスタスクで、シーケンシャルタイプの場合は、指定された担当グループの順序がタスクの実行順となる。
すでにタスクに担当ユーザや担当グループが割り当てられている場合、それらの情報はクリアされ、今回設定した担当グループのみが有効となる。
|
void |
assignUsers(java.lang.String instanceId,
java.util.List<java.lang.String> users)
タスクに担当ユーザを割り当てる。マルチインスタンスでないタスクに対しては、複数ユーザを割り当てることは出来ない。
マルチインスタンスタスクで、シーケンシャルタイプの場合は、指定された担当ユーザの順序がタスクの実行順となる。
すでにタスクに担当ユーザや担当グループが割り当てられている場合、それらの情報はクリアされ、今回設定した担当ユーザのみが有効となる。
|
void |
changeActiveGroupTask(java.lang.String instanceId,
java.lang.String oldGroup,
java.lang.String newGroup)
現在のアクティブグループタスクのうち、
oldGroup に指定されたグループのタスクを、 newGroup のタスクに更新する。
oldGroup のアクティブグループタスクが見つからない場合には、何も処理を行わない。 |
void |
changeActiveUserTask(java.lang.String instanceId,
java.lang.String oldUser,
java.lang.String newUser)
現在のアクティブユーザタスクのうち、
oldUser に指定されたユーザのタスクを、 newUser のタスクに更新する。
oldUser のアクティブユーザタスクが見つからない場合には、何も処理を行わない。 |
void |
changeAssignedGroup(java.lang.String instanceId,
java.lang.String oldGroup,
java.lang.String newGroup)
タスクに現在アサインされている担当グループを、別の担当グループに振り替える。
|
void |
changeAssignedUser(java.lang.String instanceId,
java.lang.String oldUser,
java.lang.String newUser)
タスクに現在アサインされている担当ユーザを、別の担当ユーザに振り替える。
|
java.util.List<java.lang.String> |
getAssignedGroups(java.lang.String instanceId)
タスクに割り当てられた担当グループを取得する。
担当グループは、実行順でソートされて返却される。
|
java.util.List<java.lang.String> |
getAssignedUsers(java.lang.String instanceId)
タスクに割り当てられた担当ユーザを取得する。
担当ユーザは、実行順でソートされて返却される。
|
Task.MultiInstanceType |
getMultiInstanceType()
マルチインスタンスタイプを取得する。
|
boolean |
isMultiInstanceType()
マルチインスタンスタスクか否か。
|
boolean |
isSequentialType()
マルチインスタンスタスクでシーケンシャルタイプか否か
|
boolean |
processNodeByGroup(java.lang.String instanceId,
java.util.Map<java.lang.String,?> parameter,
java.lang.String executor)
グループタスクとして、フローノード上での処理を行う。フローノードでの処理が完了し、ワークフローを次のノードに進めてよい場合は
true を返却する。 |
boolean |
processNodeByUser(java.lang.String instanceId,
java.util.Map<java.lang.String,?> parameter,
java.lang.String executor)
ユーザタスクとして、フローノード上での処理を行う。フローノードでの処理が完了し、ワークフローを次のノードに進めてよい場合は
true を返却する。 |
void |
refreshActiveGroupTasks(java.lang.String instanceId,
java.util.List<java.lang.String> groups)
アクティブタスクを、指定された担当グループのタスクに置き換える。
マルチインスタンスタスクで、シーケンシャルタイプの場合は、割り当てられている担当グループのうち実行順が先頭の担当グループの
アクティブタスクが作成される。それ以外の場合は、割り当てられているすべての担当グループのアクティブタスクが作成される。
|
void |
refreshActiveUserTasks(java.lang.String instanceId,
java.util.List<java.lang.String> users)
アクティブタスクを、現在このタスクに割り当てられている担当ユーザのタスクに置き換える。
マルチインスタンスタスクで、シーケンシャルタイプの場合は、割り当てられている担当ユーザのうち実行順が先頭の担当ユーザの
アクティブタスクが作成される。それ以外の場合は、割り当てられているすべての担当ユーザのアクティブタスクが作成される。
|
getFlowNodeId, getFlowNodeName, getLaneId, getNextFlowNodeId, getSequenceFlows, getWorkflowInstanceDao
public Task(java.lang.String flowNodeId, java.lang.String flowNodeName, java.lang.String laneId, java.lang.String multiInstanceType, java.lang.String completionCondition, java.util.List<SequenceFlow> sequenceFlows)
flowNodeId
- フローノードIDflowNodeName
- フローノード名laneId
- レーンIDmultiInstanceType
- マルチインスタンスタイプcompletionCondition
- 終了条件の型名sequenceFlows
- 自身をソースとするシーケンスフローpublic Task.MultiInstanceType getMultiInstanceType()
public boolean isMultiInstanceType()
public boolean isSequentialType()
public void activate(java.lang.String instanceId, java.util.Map<java.lang.String,?> parameter)
public boolean processNodeByUser(java.lang.String instanceId, java.util.Map<java.lang.String,?> parameter, java.lang.String executor) throws java.lang.IllegalStateException
true
を返却する。
executor
に指定されたユーザのアクティブタスクを完了させ、シーケンシャルタイプの場合は、実行順が次のユーザのアクティブタスクを作成する。
その後、 CompletionCondition.isCompletedUserTask(Map, String, Task)
を評価してその結果を返却する。processNodeByUser
in class FlowNode
instanceId
- 対象のワークフローインスタンスIDparameter
- ワークフローの進行時に使用するパラメータexecutor
- このノードでの処理を実行しているユーザtrue
java.lang.IllegalStateException
- 指定された実行ユーザのアクティブタスクが存在しない場合public boolean processNodeByGroup(java.lang.String instanceId, java.util.Map<java.lang.String,?> parameter, java.lang.String executor) throws java.lang.IllegalStateException
true
を返却する。
executor
に指定されたグループのアクティブタスクを完了させ、シーケンシャルタイプの場合は、実行順が次のグループのアクティブタスクを作成する。
その後、 CompletionCondition.isCompletedGroupTask(Map, String, Task)
を評価してその結果を返却する。processNodeByGroup
in class FlowNode
instanceId
- 対象のワークフローインスタンスIDparameter
- ワークフローの進行時に使用するパラメータexecutor
- このノードでの処理を実行しているグループtrue
java.lang.IllegalStateException
- 指定された実行グループのアクティブタスクが存在しない場合public void assignUsers(java.lang.String instanceId, java.util.List<java.lang.String> users) throws java.lang.IllegalArgumentException
instanceId
- ワークフローインスタンスIDusers
- 担当ユーザリストjava.lang.IllegalArgumentException
- 指定されたタスクが存在しない場合、もしくはマルチインスタンスでないタスクに複数ユーザを割り当てようとした場合。public void refreshActiveUserTasks(java.lang.String instanceId, java.util.List<java.lang.String> users)
instanceId
- ワークフローインスタンスIDusers
- 担当ユーザリストpublic void assignGroups(java.lang.String instanceId, java.util.List<java.lang.String> groups) throws java.lang.IllegalArgumentException
instanceId
- ワークフローインスタンスIDgroups
- 担当グループリストjava.lang.IllegalArgumentException
- 指定されたタスクが存在しない場合、もしくはマルチインスタンスでないタスクに複数グループを割り当てようとした場合。public void refreshActiveGroupTasks(java.lang.String instanceId, java.util.List<java.lang.String> groups)
instanceId
- ワークフローインスタンスIDgroups
- 担当グループリストpublic void changeAssignedUser(java.lang.String instanceId, java.lang.String oldUser, java.lang.String newUser) throws java.lang.IllegalStateException
instanceId
- 対象のワークフローのインスタンスIDoldUser
- 振替元の担当ユーザnewUser
- 振替先の担当ユーザjava.lang.IllegalStateException
- 指定されたタスクに、振替元の担当ユーザがアサインされていない場合public void changeActiveUserTask(java.lang.String instanceId, java.lang.String oldUser, java.lang.String newUser)
oldUser
に指定されたユーザのタスクを、 newUser
のタスクに更新する。
oldUser
のアクティブユーザタスクが見つからない場合には、何も処理を行わない。instanceId
- 対象のワークフローのインスタンスIDoldUser
- 振替元の担当ユーザnewUser
- 振替先の担当ユーザpublic void changeAssignedGroup(java.lang.String instanceId, java.lang.String oldGroup, java.lang.String newGroup) throws java.lang.IllegalStateException
instanceId
- 対象のワークフローのインスタンスIDoldGroup
- 振替元の担当グループnewGroup
- 振替先の担当グループjava.lang.IllegalStateException
- 指定されたタスクに、振替元の担当グループがアサインされていない場合public void changeActiveGroupTask(java.lang.String instanceId, java.lang.String oldGroup, java.lang.String newGroup)
oldGroup
に指定されたグループのタスクを、 newGroup
のタスクに更新する。
oldGroup
のアクティブグループタスクが見つからない場合には、何も処理を行わない。instanceId
- 対象のワークフローのインスタンスIDoldGroup
- 振替元の担当グループnewGroup
- 振替先の担当グループpublic java.util.List<java.lang.String> getAssignedUsers(java.lang.String instanceId)
instanceId
- 対象のワークフローのインスタンスIDpublic java.util.List<java.lang.String> getAssignedGroups(java.lang.String instanceId)
instanceId
- 対象のワークフローのインスタンスID