4.16. EL式¶
EL式について説明します。
4.16.1. 暗黙オブジェクト¶
ELで利用可能な暗黙オブジェクトは以下の通りです。
authenticatedUserId (String)
認証済みユーザコードプロセスを実行する際のユーザコードが格納されています。このユーザコードはアカウントコンテキストの持つユーザコードと同等です。タスクを非同期に実行、タイマーをトリガとした処理、並列ゲートウェイ等、実行単位が別のスレッドとなる処理を介した場合には、値にnullが格納されます。execution (DelegateExecution)
実行時のエグゼキューションです。${execution.id}: エグゼキューションIDの取得${execution.processInstanceId}: プロセスインスタンスIDの取得${execution.processBusinessKey}: 業務キーの取得${execution.processDefinitionId}: プロセス定義IDの取得${execution.superExecutionId}: 親エグゼキューションID${execution.currentActivityId}: 実行中のアクティビティID${execution.currentActivityName}: 実行中のアクティビティ名${execution.getVariable(“varName”)}: 変数の取得task (DelegateTask)
実行中のタスク情報です。この暗黙オブジェクトは、ユーザタスク等に設定するタスクリスナでのみ利用可能です。im_operation_users (Map<String, String>)
ユーザタスクを処理したユーザコードを持ちます。${im_operation_users[‘my-user-task’]} “my-user-task”というIDを持つタスクを処理したユーザコードの取得注意
システム変数の格納方式の設定
システム変数の格納方式の設定(is-system-variable-save-as-object)がtrueの場合は、暗黙オブジェクト “im_bpm_system_variables” オブジェクトの要素として”im_operation_users” オブジェクトが格納されます。例: ユーザタスク(id: my-user-task) を処理したユーザコードをEL式にて取得する場合${im_bpm_system_variables.im_operation_users[‘my-user-task’]}システム変数の格納方式の設定の詳細については、「 IM-BPM 設定ファイルリファレンス 」-「 システム変数の格納方式の設定 」を参照してください。
4.16.2. 変数の操作¶
4.16.2.1. 変数の存在確認¶
暗黙オブジェクト execution を利用します。
${execution.getVariable(‘myVarName’) != null}
4.16.2.2. 変数の追加¶
暗黙オブジェクト execution を利用します。
DelegateExpression等で利用します。
${execution.setVariable(‘myVarName’, ‘VALUE’)}
4.16.2.3. 変数の削除¶
暗黙オブジェクト execution を利用します。
DelegateExpression等で利用します。
${execution.removeVariable(‘myVarName’)}