public class BasicWorkflowInstance extends WorkflowInstanceSupport
WorkflowInstance の基本実装クラス。WorkflowInstance.CompletedWorkflowInstance| Constructor and Description | 
|---|
BasicWorkflowInstance(java.lang.String instanceId,
                     WorkflowDefinition definition,
                     FlowNode activeNode)
ワークフローインスタンスを生成する。 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
assignGroups(java.lang.String taskId,
            java.util.List<java.lang.String> groups)
タスクに担当グループを割り当てる。マルチインスタンスでないタスクに対しては、複数グループを割り当てることは出来ない。
 
 マルチインスタンスタスクで、シーケンシャルタイプの場合は、指定された担当グループの順序がタスクの実行順となる。
 すでにタスクに担当ユーザや担当グループが割り当てられている場合、それらの情報はクリアされ、今回設定した担当ユーザのみが有効となる。 
 | 
void | 
assignGroupsToLane(java.lang.String laneId,
                  java.util.List<java.lang.String> groups)
レーンIDで指定されたレーンに属するすべてのタスクに、指定された担当グループを割り当てる。 
 | 
void | 
assignUsers(java.lang.String taskId,
           java.util.List<java.lang.String> users)
タスクに担当ユーザを割り当てる。マルチインスタンスでないタスクに対しては、複数ユーザを割り当てることは出来ない。
 
 マルチインスタンスタスクで、シーケンシャルタイプの場合は、指定された担当ユーザの順序がタスクの実行順となる。
 すでにタスクに担当ユーザや担当グループが割り当てられている場合、それらの情報はクリアされ、今回設定した担当ユーザのみが有効となる。 
 | 
void | 
assignUsersToLane(java.lang.String laneId,
                 java.util.List<java.lang.String> users)
レーンIDで指定されたレーンに属するすべてのタスクに、指定された担当ユーザを割り当てる。 
 | 
void | 
changeAssignedGroup(java.lang.String taskId,
                   java.lang.String oldGroup,
                   java.lang.String newGroup)
タスクに現在アサインされている担当グループを、別の担当グループに振り替える。
 
 指定されたタスクがアクティブである場合は、アクティブグループタスクについても振り替えを行う。 
 | 
void | 
changeAssignedUser(java.lang.String taskId,
                  java.lang.String oldUser,
                  java.lang.String newUser)
タスクに現在アサインされている担当ユーザを、別の担当ユーザに振り替える。
 
 指定されたタスクがアクティブタスクの場合は、アクティブユーザタスクについても振り替えを行う。 
 | 
void | 
completeGroupTask(java.util.Map<java.lang.String,?> parameter,
                 java.lang.String assigned)
アクティブグループタスクを完了させた後、ワークフロー定義に従ってワークフローを進行させ、ワークフローインスタンスのアクティブフローノードを次のタスク
 もしくは停止イベントに進行させる。 
 | 
void | 
completeUserTask(java.util.Map<java.lang.String,?> parameter,
                java.lang.String assigned)
アクティブユーザタスクを完了させた後、ワークフロー定義に従ってワークフローを進行させ、ワークフローインスタンスのアクティブフローノードを次のタスク
 もしくは停止イベントに進行させる。 
 | 
java.util.List<java.lang.String> | 
getAssignedGroups(java.lang.String taskId)
タスクに割り当てられた担当グループを取得する。
 
 担当グループは、実行順でソートされて返却される。 
 | 
java.util.List<java.lang.String> | 
getAssignedUsers(java.lang.String taskId)
タスクに割り当てられた担当ユーザを取得する。
 
 担当ユーザは、実行順でソートされて返却される。 
 | 
java.lang.String | 
getInstanceId()
現在のワークフローインスタンスのインスタンスIDを取得する。 
 | 
long | 
getVersion()
バージョン番号を取得する。 
 | 
java.lang.String | 
getWorkflowId()
ワークフローIDを取得する。 
 | 
boolean | 
hasActiveGroupTask(java.lang.String group)
指定されたグループのアクティブグループタスクが存在するかどうかを確認する。 
 | 
boolean | 
hasActiveUserTask(java.lang.String user)
指定されたユーザのアクティブユーザタスクが存在するかどうかを確認する。 
 | 
boolean | 
isActive(java.lang.String flowNodeId)
指定されたフローノードIDがアクティブな状態かどうかを判定する。 
 | 
boolean | 
isCompleted()
ワークフローが完了状態かどうかを判定する。 
 | 
java.lang.String | 
toString()
以下の情報を含む、ワークフローインスタンスの文字列表現を返却する。
 
 * インスタンスID
 * ワークフローID
 * バージョン
 * アクティブフローノードのフローノードID 
 | 
void | 
triggerEvent(java.lang.String eventTriggerId,
            java.util.Map<java.lang.String,?> parameter)
アクティブフローノードから、境界イベントトリガーIDに対応する境界イベントを取得し、現在のタスクを中断して、境界イベントから取得される進行先フローノードに
 ワークフローを進行させる。 
 | 
assignGroup, assignGroupToLane, assignUser, assignUserToLane, completeGroupTask, completeUserTask, completeUserTask, completeUserTask, triggerEventpublic BasicWorkflowInstance(java.lang.String instanceId,
                             WorkflowDefinition definition,
                             FlowNode activeNode)
instanceId - インスタンスIDdefinition - ワークフロー定義activeNode - アクティブフローノードpublic void completeUserTask(java.util.Map<java.lang.String,?> parameter,
                             java.lang.String assigned)
                      throws java.lang.IllegalStateException
FlowNode.processNodeByUser(String, Map, String) を実行して、ワークフローを現在のフローノードから進行させるかどうかを判断する。
 現在のフローノードから進行させる場合には、次のタスクもしくは停止イベントに進行させ、進行先フローノードのアクティブ化処理を実行する。parameter - ワークフローを進行させる際に、各フローノードで使用するパラメータassigned - タスクを完了させるユーザjava.lang.IllegalStateException - assigned に対してアクティブユーザタスクが見つからない場合、またはワークフローが既に完了している場合。public void completeGroupTask(java.util.Map<java.lang.String,?> parameter,
                              java.lang.String assigned)
                       throws java.lang.IllegalStateException
FlowNode.processNodeByGroup(String, Map, String) を実行して、ワークフローを現在のフローノードから進行させるかどうかを判断する。
 現在のフローノードから進行させる場合には、次のタスクもしくは停止イベントに進行させ、進行先フローノードのアクティブ化処理を実行する。parameter - ワークフローを進行させる際に、各フローノードで使用するパラメータassigned - タスクを完了させるグループjava.lang.IllegalStateException - assigned に対してアクティブグループタスクが見つからない場合、またはワークフローが既に完了している場合。public void triggerEvent(java.lang.String eventTriggerId,
                         java.util.Map<java.lang.String,?> parameter)
                  throws java.lang.IllegalStateException
WorkflowInstanceeventTriggerId - 境界イベントトリガーIDparameter - ワークフローを進行させる際に利用するパラメータjava.lang.IllegalStateException - アクティブフローノードから、境界イベントトリガーIDに対応する境界イベントを取得できなかった場合。public void assignUsers(java.lang.String taskId,
                        java.util.List<java.lang.String> users)
                 throws java.lang.IllegalStateException,
                        java.lang.IllegalArgumentException
WorkflowInstancetaskId - タスクIDusers - 担当ユーザリストjava.lang.IllegalStateException - ワークフローがすでに完了している場合java.lang.IllegalArgumentException - 指定されたタスクが存在しない場合、もしくはマルチインスタンスでないタスクに複数ユーザを割り当てようとした場合。public void assignGroups(java.lang.String taskId,
                         java.util.List<java.lang.String> groups)
                  throws java.lang.IllegalStateException,
                         java.lang.IllegalArgumentException
WorkflowInstancetaskId - タスクのフローノードIDgroups - 担当グループjava.lang.IllegalStateException - ワークフローがすでに完了している場合java.lang.IllegalArgumentException - 指定されたタスクが存在しない場合、もしくはマルチインスタンスでないタスクに複数グループを割り当てようとした場合。public void assignUsersToLane(java.lang.String laneId,
                              java.util.List<java.lang.String> users)
                       throws java.lang.IllegalStateException,
                              java.lang.IllegalArgumentException
WorkflowInstancelaneId - 担当ユーザを割り当てるタスクが属するレーンのレーンIDusers - 担当ユーザリストjava.lang.IllegalStateException - ワークフローがすでに完了している場合java.lang.IllegalArgumentException - マルチインスタンスでないタスクに複数ユーザを割り当てようとした場合。public void assignGroupsToLane(java.lang.String laneId,
                               java.util.List<java.lang.String> groups)
                        throws java.lang.IllegalStateException,
                               java.lang.IllegalArgumentException
WorkflowInstancelaneId - 担当ユーザを割り当てるタスクが属するレーンのレーンIDgroups - 担当ユーザjava.lang.IllegalStateException - ワークフローがすでに完了している場合java.lang.IllegalArgumentException - マルチインスタンスでないタスクに複数グループを割り当てようとした場合。public void changeAssignedUser(java.lang.String taskId,
                               java.lang.String oldUser,
                               java.lang.String newUser)
                        throws java.lang.IllegalArgumentException,
                               java.lang.IllegalStateException
WorkflowInstancetaskId - 担当ユーザを振り替えるタスクoldUser - 振替元の担当ユーザnewUser - 振替先の担当ユーザjava.lang.IllegalArgumentException - 指定されたタスクがワークフロー定義に存在しない場合java.lang.IllegalStateException - 指定されたタスクに、振替元の担当ユーザがアサインされていない場合public void changeAssignedGroup(java.lang.String taskId,
                                java.lang.String oldGroup,
                                java.lang.String newGroup)
                         throws java.lang.IllegalArgumentException,
                                java.lang.IllegalStateException
WorkflowInstancetaskId - 担当ユーザを振り替えるタスクoldGroup - 振替元の担当グループnewGroup - 振替先の担当グループjava.lang.IllegalArgumentException - 指定されたタスクがワークフロー定義に存在しない場合java.lang.IllegalStateException - 指定されたタスクに、振替元の担当グループがアサインされていない場合public java.util.List<java.lang.String> getAssignedUsers(java.lang.String taskId)
                                                  throws java.lang.IllegalArgumentException
WorkflowInstancetaskId - タスクIDjava.lang.IllegalArgumentException - 指定されたタスクがワークフロー定義に存在しない場合public java.util.List<java.lang.String> getAssignedGroups(java.lang.String taskId)
                                                   throws java.lang.IllegalArgumentException
WorkflowInstancetaskId - タスクIDjava.lang.IllegalArgumentException - 指定されたタスクがワークフロー定義に存在しない場合public boolean hasActiveUserTask(java.lang.String user)
WorkflowInstanceuser - ユーザtruepublic boolean hasActiveGroupTask(java.lang.String group)
WorkflowInstancegroup - グループtruepublic java.lang.String getInstanceId()
WorkflowInstancepublic java.lang.String getWorkflowId()
WorkflowInstancepublic long getVersion()
WorkflowInstancepublic boolean isActive(java.lang.String flowNodeId)
WorkflowInstanceflowNodeId - フローノードIDpublic boolean isCompleted()
WorkflowInstancetruepublic java.lang.String toString()
toString in class java.lang.Object