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, getWorkflowInstanceDaopublic 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 FlowNodeinstanceId - 対象のワークフローインスタンスIDparameter - ワークフローの進行時に使用するパラメータexecutor - このノードでの処理を実行しているユーザtruejava.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 FlowNodeinstanceId - 対象のワークフローインスタンスIDparameter - ワークフローの進行時に使用するパラメータexecutor - このノードでの処理を実行しているグループtruejava.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