[スクリプトタスク]やサービスタスク定義(Addon-XML)で利用できる Java クラスとメソッドです。 Questetra 固有のクラスと Java 標準のクラスがあります。
BPMNアイコン:[スクリプトタスク]
1. Questetra 固有のクラス
1-1. ワークフロー基盤を参照更新するクラス
com.questetra.bpms.core.event.scripttask.WorkflowEngine
1-2. ワークフローアプリの定義(業務プロセス定義)を参照するクラス
com.questetra.bpms.core.event.scripttask.WorkflowEngine
com.questetra.bpms.core.event.scripttask.ProcessDataDefinitionView
com.questetra.bpms.core.event.scripttask.SubDataDefinitionView
1-3. ワークフローアプリに流れるプロセスのプロパティを参照更新するクラス
com.questetra.bpms.core.event.scripttask.ProcessInstanceView
1-4. ワークフローアプリに流れるプロセスに格納されている業務データを参照更新するクラス
com.questetra.bpms.core.event.scripttask.WorkflowEngine
1-5. 子プロセスを参照するクラス
com.questetra.bpms.core.event.scripttask.ScriptTaskEngine
1-6. 選択型データを操作するクラス(SELECT, SELECT_SINGLE, SELECT_CHECKBOX)
com.questetra.bpms.core.event.scripttask.ItemView
com.questetra.bpms.core.event.scripttask.ItemDaoWrapper
1-7. 日付型・日時型データを操作するクラス(DATE, DATE_YMD, DATE_YM, DATE_Y, DATE_MD, DATETIME)
com.questetra.bpms.util.AddableDate
com.questetra.bpms.util.AddableTimestamp
com.questetra.bpms.core.event.scripttask.DateFormatWrapper
1-8. ユーザ型データを操作するクラス(QUSER)
com.questetra.bpms.core.event.scripttask.QuserView
com.questetra.bpms.core.event.scripttask.QuserDaoWrapper
1-9. 組織型データを操作するクラス(QGROUP)
com.questetra.bpms.core.event.scripttask.QgroupView
com.questetra.bpms.core.event.scripttask.QgroupDaoWrapper
1-10. ロールを操作するクラス(QROLE)
com.questetra.bpms.core.event.scripttask.QroleView
com.questetra.bpms.core.event.scripttask.QroleDaoWrapper
1-11. テーブル型データを操作するクラス(LIST)
com.questetra.bpms.core.event.scripttask.ScriptListArray
com.questetra.bpms.core.event.scripttask.ScriptListArray.ScriptListRow
com.questetra.bpms.core.model.formdata.ListArray (2024-04: 廃止予定) => ScriptListArray
com.questetra.bpms.core.model.formdata.ListArray.ListRow (2024-04: 廃止予定) => ScriptListRow
1-12. ファイル型データを操作するクラス(FILE)
com.questetra.bpms.core.event.scripttask.QfileView
com.questetra.bpms.core.event.scripttask.NewQfile
com.questetra.bpms.core.event.scripttask.FileRepositoryWrapper
fileRepository のサンプル(サービスタスク定義(Addon-XML)のスクリプト)
1-13. 文字列やコレクションを操作するクラス
com.questetra.bpms.core.event.scripttask.Base64UtilsWrapper
com.questetra.bpms.core.event.scripttask.HexWrapper
com.questetra.bpms.core.event.scripttask.DigestUtilsWrapper
com.questetra.bpms.core.event.scripttask.RSAWrapper
com.questetra.bpms.core.event.scripttask.HmacUtilsWrapper
com.questetra.bpms.core.event.scripttask.Joiner
com.questetra.bpms.core.event.scripttask.StringEscapeUtilsWrapper
1-14. XMLを操作するクラス
com.questetra.bpms.core.event.scripttask.XPathWrapper
com.questetra.bpms.core.event.scripttask.XPathWrapper.NodeWrapper
com.questetra.bpms.core.event.scripttask.XPathWrapper.NodeListWrapper
xpath のサンプル(サービスタスク定義(Addon-XML)のスクリプト)
1-15. バイト列を操作するクラス
com.questetra.bpms.core.event.scripttask.ByteArrayWrapper
1-16. 「オープンチャット」への投稿を制御するクラス
com.questetra.bpms.core.event.scripttask.FeedServiceWrapper com.questetra.bpms.core.event.scripttask.FeedServiceWrapper.FeedMessageWrapper
feedService のサンプル(サービスタスク定義(Addon-XML)のスクリプト)
1-17. HTTP通信を制御するクラス
com.questetra.bpms.core.event.scripttask.HttpClientWrapper
com.questetra.bpms.core.event.scripttask.HttpClientWrapper.HttpRequestWrapper
com.questetra.bpms.core.event.scripttask.HttpClientWrapper.HttpResponseWrapper
com.questetra.bpms.core.event.scripttask.AuthSettingWrapper
authSetting のサンプル(サービスタスク定義(Addon-XML)のスクリプト)
1-18. SMTP(Email)通信を制御するクラス
com.questetra.bpms.core.event.scripttask.EmailServiceWrapper
com.questetra.bpms.core.event.scripttask.EmailServiceWrapper.EmailMessageWrapper
2. サービスタスク定義(Addon-XML)の Config 値を参照するクラス
サービスタスク定義(Addon-XML)内で記載するスクリプト向け (M416)
サンプルコード
const processId = configs.get( "conf_ProcessId" );
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | get(String configName) form-type の設定に応じて、次の文字列を返す - TEXTFIELD, TEXTAREA: 入力された文字列、または EL 式が評価された結果の文字列(el-enabled="true" の場合)を返す - SELECT: 指定されたデータ項目のデータ定義番号、または入力された文字列(editable="true")を返す - SELECT_ITEM: 選択された選択肢(item)の value を返す - TOGGLE: ブール値(boolean)を文字列("true" or "false") で返す - QUSER: 選択された Quser(ユーザ)のユーザIDを返す - OAUTH2: 選択された OAuth2 設定の settingName を返す |
Object | getObject(String configName) form-type の設定に応じて、次のオブジェクトを返す - SELECT: データ定義オブジェクト (editable="true" で、固定値が指定された場合は null) - SELECT_ITEM: 選択肢オブジェクト(ItemVeiw) - TOGGLE: boolean ("true" or "false") - QUSER: Quser オブジェクト(QuserView) - OAUTH2: HTTP 認証設定オブジェクト(AuthSettingWrapper) - TEXTFIELD, TEXTAREA: null |
3. Java 標準のクラス
java.lang.String
java.lang.Long
java.lang.Math
java.util.ArrayList
java.util.Date
java.util.HashMap
java.util.Locale
java.util.regex.Pattern
java.util.regex.Matcher
java.math.BigDecimal
java.text.SimpleDateFormat
java.text.DecimalFormat
java.sql.Date
java.sql.Timestamp
Questetra 固有のクラスの詳細
com.questetra.bpms.core.event.scripttask.WorkflowEngine
サンプルコード
const item = engine.findDataDefinitionByName( "お客様氏名" );
ワークフロー基盤を参照更新するメソッド
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | getTimeZoneId() システムのタイムゾーン ID を返す |
int | getTimeZoneOffsetInMinutes() システムのタイムゾーンのオフセット時間を分単位で返す |
void | log(String message) 処理記録にログメッセージを出力する |
ワークフローアプリの定義を参照するメソッド
型 | メソッド (コンストラクタ)・説明 |
---|---|
List<ProcessDataDefinitionView> | findDataDefinitions() データ項目の一覧を返す |
ProcessDataDefinitionView | findDataDefinitionByName(String name) 名前で検索したデータ項目を返す 同じ名前のデータ項目が複数ある場合は、最初のひとつを返す |
ProcessDataDefinitionView | findDataDefinitionByNumber(String dataDefNum) 定義番号で検索したデータ項目を返す |
ProcessDataDefinitionView | findDataDefinitionByNumber(Long dataDefNum) 定義番号で検索したデータ項目を返す |
ProcessDataDefinitionView | findDataDefinitionByVarName(String fieldName) フィールド名で検索したデータ項目を返す |
業務データを参照更新するメソッド
型 | メソッド (コンストラクタ)・説明 |
---|---|
Object |
findDataByVarName(String fieldName) フィールド名で指定されたデータ項目のオブジェクトを返す (オブジェクトの型は、findData() の説明を参照) |
Object |
findDataByName(String name) データ項目名で指定されたデータ項目のオブジェクトを返す (オブジェクトの型は、findData() の説明を参照) |
Object |
findDataByNumber(String dataDefNum) データ定義番号で指定されたデータ項目のオブジェクトを返す (オブジェクトの型は、findData() の説明を参照) |
Object |
findDataByNumber(Long dataDefNum) データ定義番号で指定されたデータ項目のオブジェクトを返す (オブジェクトの型は、findData() の説明を参照) |
Object |
findData(ProcessDataDefinitionView pocket) |
void | setDataByVarName(String fieldName, Object value) フィールド名で指定されたデータ項目に値を代入する |
void | setDataByName(String name, Object value) データ項目名で指定されたデータ項目に値を代入する |
void | setDataByNumber(String dataDefNum, Object value) データ定義番号で指定されたデータ項目に値を代入する |
void | setDataByNumber(Long dataDefNum, Object value) データ定義番号で指定されたデータ項目に値を代入する |
void | setData(ProcessDataDefinitionView pocket, Object value) データ定義オブジェクトで指定されたデータ項目に値(データオブジェクト)を代入する |
com.questetra.bpms.core.event.scripttask.ScriptTaskEngine
サンプルコード
const childProcess = engine.findChildProcessInstance( "1234" );
子プロセスを参照するメソッド
型 | メソッド (コンストラクタ)・説明 |
---|---|
ProcessInstanceView | findChildProcessInstance(String pid) プロセスIDで指定された子プロセスを返す (子プロセス以外にアクセスしようとするとエラー) |
ProcessInstanceView | findChildProcessInstance(Long pid) プロセスIDで指定された子プロセスを返す (子プロセス以外にアクセスしようとするとエラー) |
Object or List<Object> | findChildDataByVarName(ProcessInstanceView childPi, String varName) 指定された子プロセスから、フィールド名で指定されたデータ項目のオブジェクトを返す (親プロセスからの参照が許可されていないデータ項目にアクセスしようとするとエラー) (オブジェクトの型は、WorflowEngine.findData() の説明を参照) |
com.questetra.bpms.core.event.scripttask.ProcessDataDefinitionView
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | getName() データ項目名を返す |
long | getNumber() データ項目番号を返す |
String | getVarName() フィールド名を返す |
List<SubDataDefinitionView> | getSubDataDefinitions() テーブル型の場合に、テーブル項目の一覧を返す |
ScriptListArray | createListArray() テーブル型の場合に、空のテーブル(空の ScriptListArray オブジェクト)を生成する |
boolean |
matchDataType(String dataType) dataType: true となるデータ型 |
com.questetra.bpms.core.event.scripttask.SubDataDefinitionView
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | getName() テーブル項目名を返す |
String | getVarName() テーブル項目のフィールド名を返す フィールド名が未定義の場合は null を返す |
long | getNumber() テーブル項目番号を返す |
boolean |
matchDataType(String dataType) dataType: true となるデータ型 |
com.questetra.bpms.core.event.scripttask.ProcessInstanceView
サンプルコード
const appId = processInstance.getProcessModelInfoId();
型 | メソッド (コンストラクタ)・説明 |
---|---|
Long | getProcessModelInfoId() アプリIDを返す |
String | getProcessModelInfoName() アプリの名称を返す |
String | getProcessModelInfoCategory() アプリのカテゴリを返す |
Long | getProcessModelVersion() プロセスが開始されたときのアプリのバージョンを返す |
Long | getProcessInstanceId() プロセスIDを返す |
Long | getParentProcessInstanceId() 親プロセスのプロセスIDを返す |
String | getProcessInstanceState() プロセスの状態を返す - STARTED: 未終了 - ENDED: 終了 - FAILED: 異常終了 |
String | getProcessInstanceTitle() プロセスの件名を返す |
QuserView | getProcessInstanceInitQuser() プロセス開始ユーザを返す |
Long | getProcessInstanceInitQuserId() プロセス開始ユーザのIDを返す |
String | getProcessInstanceInitQuserName() プロセス開始ユーザの名称を返す |
QgroupView | getProcessInstanceInitQgroup() プロセス開始組織を返す |
Long | getProcessInstanceInitQgroupId() プロセス開始組織のIDを返す |
String | getProcessInstanceInitQgroupName() プロセス開始組織の名称を返す |
AddableTimestamp | getProcessInstanceStartDatetime() プロセス開始日時を返す |
Long | getProcessInstanceSequenceNumber() プロセス連番を返す |
void | setProcessInstanceTitle(String title) プロセスの件名をセットする |
boolean | getProcessInstanceDebug() デバッグプロセスかどうかを判断する |
com.questetra.bpms.core.event.scripttask.ItemView
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | getValue() 選択肢IDを返す |
String | getDisplay() 選択肢のラベルを返す |
com.questetra.bpms.core.event.scripttask.ItemDaoWrapper
サンプルコード
const options = itemDao.findAll("customer_master.xml", true);
型 | メソッド (コンストラクタ)・説明 |
---|---|
List<ItemView> | findAll(String fileName, boolean isSharedFile) 指定した選択肢マスタの全選択肢を返す |
List<ItemView> | findAll(ProcessDataDefinitionView dataDef) 指定した選択型データ項目の全選択肢を返す (選択肢種別が「HTTP 経由で取得した選択肢」の場合はエラー) |
ItemView | findByValue(String fileName, boolean isSharedFile, String value) 指定した選択肢マスタから特定の値(選択肢ID)を持つ選択肢を返す |
ItemView | findByValue(ProcessDataDefinitionView dataDef, String value) 指定した選択型データ項目の選択肢から特定の値(選択肢ID)を持つ選択肢を返す (選択肢種別が「HTTP 経由で取得した選択肢」の場合はエラー) |
com.questetra.bpms.util.AddableDate
型 | メソッド (コンストラクタ)・説明 |
---|---|
(AddableDate) | AddableDate() 呼び出された時のDateを返す(年月日/YMD) |
(AddableDate) | AddableDate(long time) 1970-01-01 00:00:00 UTCからのミリ秒数(time)で指定されたDateを返す(年月日/YMD) |
long |
getTime() JST(+09:00) で運用されているワークフロー基盤で日付型の値「2022-12-31」は、 |
AddableDate | addDays(int days) 指定した日数を加えたDateを返す (マイナス値を指定すれば過去に遡ります) |
AddableDate | addMonths(int months) 指定した月数を加えたDateを返す (マイナス値を指定すれば過去に遡ります) |
AddableDate | getFirstDateInMonth() その月の最初の日を返す。1日。 |
AddableDate | getFirstTimeInMonth() *非推奨 / deprecated(2024-04: 廃止予定) |
AddableDate | getLastDateInMonth() その月の最後の日を返す。翌月1日の1日前。 |
AddableDate | getLastTimeInMonth() *非推奨 / deprecated(2024-04: 廃止予定) |
AddableTimestamp | getFirstTimeInDate() その日の最初の時刻を返す |
String | toString() 日付のサブタイプに応じた形式の文字列を返す - 年月日: yyyy-MM-dd - 月日: MM-dd - 年月: yyyy-MM - 年: yyyy |
com.questetra.bpms.util.AddableTimestamp
型 | メソッド (コンストラクタ)・説明 |
---|---|
(AddableTimestamp) | AddableTimestamp() 呼び出された時のTimestampを返す |
(AddableTimestamp) | AddableTimestamp(long time) 1970-01-01 00:00:00 UTCからのミリ秒数(time)で指定されたTimestampを返す |
long | getTime() 1970-01-01 00:00:00 UTCからのミリ秒数を返す (日時型の値は、ワークフロー基盤のタイムゾーンの時刻として解釈されます) JST(+09:00) で運用されているワークフロー基盤で日時型の値「2022-12-31 12:34」は、 |
AddableTimestamp | addMinutes(int minutes) 指定した分を加えたTimestampを返す (マイナス値を指定すれば過去に遡ります) |
AddableTimestamp | addHours(int hours) 指定した時間を加えたTimestampを返す (マイナス値を指定すれば過去に遡ります) |
AddableTimestamp | addDays(int days) 指定した日数を加えたTimestampを返す (マイナス値を指定すれば過去に遡ります) |
AddableTimestamp | addMonths(int months) 指定した月数を加えたTimestampを返す (マイナス値を指定すれば過去に遡ります) |
AddableTimestamp | getFirstTimeInDate() その日の最初の時刻を返す |
AddableTimestamp | getFirstTimeInMonth() その月の最初の時刻を返す( 1日の0時0分0秒0ミリ秒) |
AddableTimestamp | getLastTimeInMonth() その月の最後の時刻を返す( 翌月1日の1ミリ秒前) |
String | toString() "yyyy-MM-dd HH:mm" 形式の文字列を返す |
com.questetra.bpms.core.event.scripttask.DateFormatWrapper
サンプルコード
const text = dateFormatter.format('GMT+0900', 'yyyy年MM月dd日 HH時mm分Z', myTime); const datetime = dateFormatter.parse('yyyy-MM-dd HH:mm', '2020-03-14 09:45');
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | format(String timeZone, String format, AddableTimestamp datetime) 日時データを、タイムゾーンを指定して整形した文字列を返す |
String | format(String format, AddableTimestamp datetime) 日時データを整形した文字列を返す |
String | format(String format, AddableDate date) 日付データを整形した文字列を返す |
AddableTimestamp | parse(String format, String textDatetime) 指定フォーマットで文字列を解析し、Timestampを返す |
com.questetra.bpms.core.event.scripttask.QuserView
型 | メソッド (コンストラクタ)・説明 |
---|---|
Long | getId() ユーザIDを返す |
String | getName() ユーザ名を返す |
String | getEmail() ユーザのメールアドレスを返す |
boolean | isDeletedInFuture() 削除予定かどうかを判断する |
com.questetra.bpms.core.event.scripttask.QuserDaoWrapper
サンプルコード
const quser = quserDao.findByEmail( "ques@example.com" );
型 | メソッド (コンストラクタ)・説明 |
---|---|
QuserView | findByEmail(String email) メールアドレスで検索した Quser(ユーザ)を返す |
QuserView | findById(Long id) ユーザIDで検索した Quser(ユーザ)を返す |
List<QuserView> | findByQgroup(QgroupView qgroup) 指定した組織に所属している Quser(ユーザ)リストを返す |
List<QuserView> | findByQgroupAndPosition(QgroupView qgroup, boolean isLeader) 指定した組織にリーダ/スタッフとして所属している Quser(ユーザ)リストを返す |
List<QuserView> | findByQrole(QroleView qrole) 指定したロールに所属している Quser(ユーザ)リストを返す |
com.questetra.bpms.core.event.scripttask.QgroupView
型 | メソッド (コンストラクタ)・説明 |
---|---|
Long | getId() 組織IDを返す |
String | getName() 組織名を返す |
String | getEmail() 組織のメールアドレスを返す |
boolean | isDeletedInFuture() 削除予定かどうかを判断する |
com.questetra.bpms.core.event.scripttask.QgroupDaoWrapper
サンプルコード
const qorg = qgroupDao.findById( 3 );
型 | メソッド (コンストラクタ)・説明 |
---|---|
QgroupView | findById(Long id) IDで検索した Qgroup(組織)を返す |
QgroupView | findByName(String name) 名称で検索した Qgroup(組織)を返す |
QgroupView | findParentQgroup(QgroupView qgroup) 指定した組織の親組織(Qgroup)を返す |
QgroupView | findPrimaryQgroup(QuserView quser) 主として属する組織(Qgroup)を返す |
List<QgroupView> | findByQuser(QuserView quser) 指定したユーザが所属している Qgroup(組織)リストを返す |
List<QgropuView> | findByQuserAndPosition(QuserView quser, boolean isLeader) 指定したユーザがリーダ/スタッフとして所属している Qgroup(組織)リストを返す |
com.questetra.bpms.core.event.scripttask.QroleView
型 | メソッド (コンストラクタ)・説明 |
---|---|
Long | getId() ロールIDを返す |
String | getName() ロール名を返す |
boolean | isDeletedInFuture() 削除予定かどうかを判断する |
com.questetra.bpms.core.event.scripttask.QroleDaoWrapper
サンプルコード
const qrole = qroleDao.findById( 2 );
型 | メソッド (コンストラクタ)・説明 |
---|---|
QroleView | findById(Long id) ロールID で検索した Qrole(ロール)を返す |
QroleView | findByName(String name) ロール名で検索した Qrole(ロール)を返す |
List<QroleView> | findByQuser(QuserView quser) ユーザが所属している Qrole(ロール)リストを返す |
com.questetra.bpms.core.event.scripttask.ScriptListArray
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | get(int row_index, int col_index) セルデータを文字列で返す - row_index : 行番号 (0 から) - col_index : 列番号 (0 から) 文字列の書式 - 文字型 : (入力された文字列) - 数値型 : 標準形式(小数点ピリオド、桁区切り文字なし) - 選択型 : 選択肢ID - 日付型 : yyyy-mm-dd |
Object | getObject(int row_index, int col_index) セルデータのオブジェクトを返す - row_index : 行番号 (0 から) - col_index : 列番号 (0 から) オブジェクトの型 - 文字型: java.lang.String - 数値型: java.math.BigDecimal - 選択型: com.questetra.bpms.core.event.scripttask.ItemView - 日付型 com.questetra.bpms.util.AddableDate |
Object | getObject(int row_index, String varName) セルデータのオブジェクトを返す (オブジェクトの型は上記参照) |
ScriptListArray.ScriptListRow | getRow(int row_index) 指定行を返す |
List<ScriptListArray.ScriptListRow> | getRows() 全行を返す |
int | size() 行数を返す |
ScriptListArray.ScriptListRow | addRow() 空の行を追加する |
void | setRows(List<ListArray.ListRow> rows) *非推奨 / deprecated(2024-04: 廃止予定) |
void | addRow(ListArray.ListRow row) *非推奨 / deprecated(2024-04: 廃止予定) 行を追加する |
ScriptListArray.ScriptListRow | removeRow(int row_index) 行を削除する |
ScriptListArray.ScriptListRow | getSummary() テーブル末尾の「集計行」を返す(存在しない場合 null) |
void | setSummary(ListArray.ListRow summary) *非推奨 / deprecated(2024-04: 廃止予定) |
void | clearSummary(int col_index) *非推奨 / deprecated(2024-04: 廃止予定) サマリ行の内容を指定列数の空の内容で初期化する |
String | toXmlString() XML 文字列でテーブルを返す |
com.questetra.bpms.core.event.scripttask.ScriptListArray.ScriptListRow
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | get(String field_name) フィールド名で指定した列を返す 文字列の書式 - 文字型 : (入力された文字列) - 数値型 : 標準形式(小数点ピリオド、桁区切り文字なし) - 選択型 : 選択肢ID - 日付型 : yyyy-mm-dd |
String | getCol(int col_index) 指定列を返す (文字列の書式は get() と同じ) |
List<String> | getCols() 全列を返す (文字列の書式は get() と同じ) |
Object | getObject(int col_index) 指定列のオブジェクトを返す - col_index: 列番号 (0 から) オブジェクトの型 - 文字型: java.lang.String - 数値型: java.math.BigDecimal - 選択型: com.questetra.bpms.core.event.scripttask.ItemView - 日付型 com.questetra.bpms.util.AddableDate |
Object | getObject(String field_name) フィールド名で指定した列のオブジェクトを返す (オブジェクトの型は上記参照) |
int | size() 列数を返す |
void | setCols(List<String> cell_strings) *非推奨 / deprecated(2024-04: 廃止予定) 全列を上書きする |
void | addCol(String cell_string) *非推奨 / deprecated(2024-04: 廃止予定) 列を追加する |
String |
put(String field_name, String cell_string) フィールド名で指定した列を上書きし、元の値を返す |
void | setCol(int col_index, String cell_string) *非推奨 / deprecated(2024-04: 廃止予定) 指定列を上書きする 文字列 (cell_string) の書式 - 文字型 : (入力された文字列) - 数値型 : 標準形式(小数点ピリオド、桁区切り文字なし) - 選択型 : 選択肢ID - 日付型 : yyyy-mm-dd |
com.questetra.bpms.core.event.scripttask.QfileView
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | getName() ファイル名を返す |
Long | getLength() ファイルサイズを返す |
String | getContentType() ファイルの Content-Type を返す |
String | getCharset() getContentType() で取得される値のうち、charset の値のみを返す |
com.questetra.bpms.core.event.scripttask.NewQfile
型 | メソッド (コンストラクタ)・説明 |
---|---|
(NewQfile) | NewQfile(String fileName, String contentType, String text) Content-Type を指定して、テキストデータをファイル保存する |
(NewQfile) | NewQfile(String fileName, String contentType, String charset, String text) Content-Type、文字コード(charset)を指定して、テキストデータをファイル保存する |
(NewQfile) | NewQfile(String fileName, String contentType, ByteArrayWrapper data) バイナリデータをそのままファイル保存する |
(NewQfile) | NewQfile(String fileName, String contentType, QfileView copyFrom) ファイルデータをそのまま複製保存する |
String | getName() ファイル名を返す |
Long | getLength() ファイルサイズを返す |
String | getContentType() ファイルの Content-Type を返す |
String | getCharset() getContentType() で取得される値のうち、charset の値のみを返す |
com.questetra.bpms.core.event.scripttask.FileRepositoryWrapper
サンプルコード
fileRepository.readFile(file, "UTF-8", function(line) { text += line + '\n'; });
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | readFile(QfileView file, String encoding) テキストファイルを指定の文字コードで読み込む (読み込めるファイルのサイズは 1MB まで) |
void | readFile(QfileView file, String encoding, java.util.function.Consumer<String> function) テキストファイルを指定の文字コードで読み込み、1行ずつ指定した関数(function)に渡す (10行のテキストファイルでは、10回 function が呼ばれる) |
ByteArrayWrapper | readFile(QfileView file) ファイルをバイト配列として読み込む (読み込めるファイルのサイズは 1MB まで) |
void | readFile(QfileView file, int size, java.util.function.Consumer<ByteArrayWrapper> function) ファイルを指定したサイズずつバイト配列として読み込み、指定した関数(function)に渡す |
com.questetra.bpms.core.event.scripttask.Base64UtilsWrapper
サンプルコード
const base64Str = base64.encodeToString( "メールの件名" );
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | encodeToString(ByteArrayWrapper bytes) Base64 エンコードする (RFC 4648) |
String | encodeToString(String src) UTF-8 文字として Base64 エンコードする (RFC 4648) |
String | encodeToUrlSafeString(String src) UTF-8 文字として Base64 エンコードする (RFC 4648: URL and Filename Safe Alphabet) ("+" "/" の代わりに "-" "_" を使う) |
String | decodeFromString(String src) UTF-8 文字に Base64 デコードする (RFC 4648) |
String | decodeFromUrlSafeString(String src) UTF-8 文字に Base64 デコードする (RFC 4648: URL and Filename Safe Alphabet) ("+" "/" の代わりに "-" "_" を使う) |
ByteArrayWrapper | decodeFromUrlSafeStringToByteArray(String src) バイナリデータに Base64 デコードする (RFC 4648: URL and Filename Safe Alphabet) ("+" "/" の代わりに "-" "_" を使う) |
com.questetra.bpms.core.event.scripttask.HexWrapper
サンプルコード
const file = q_file.get(0); const md5_hex = hex.encodeToString(digest.md5(file)); // MD5 ハッシュ値を 16 進数表記
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | encodeToString(ByteArrayWrapper bytes) 16進数文字列として表す |
com.questetra.bpms.core.event.scripttask.RSAWrapper
サンプルコード
const privateKeyPem = `-----BEGIN PRIVATE KEY----- (Base64 エンコードされた秘密鍵) -----END PRIVATE KEY-----`; // 秘密鍵の読み込み const privateKey = rsa.readKeyFromPkcs8(privateKeyPem); // 署名 const sign = rsa.signRsa256(privateKey, 'hogehoge'); // Base64 エンコード const signString = base64.encodeToString(sign);
型 | メソッド (コンストラクタ)・説明 |
---|---|
PrivateKeyWrapper | readKeyFromPkcs8(String privateKeyPem) KCS#8 形式の秘密鍵を読み込む |
ByteArrayWrapper | signRsa256(PrivateKeyWrapper privateKey, String text) SA-SHA256 で署名する |
com.questetra.bpms.core.event.scripttask.PrivateKeyWrapper
秘密鍵オブジェクトのクラス
com.questetra.bpms.core.event.scripttask.HmacUtilsWrapper
サンプルコード
const key = engine.findDataByVarName('q_HMAC_key'); const text = engine.findDataByVarName('q_HMAC_text'); const hash = hex.encodeToString(hmac.sha256(key, text));
型 | メソッド (コンストラクタ)・説明 |
---|---|
ByteArrayWrapper | sha256(String key, String text) HMAC-SHA256 で認証コードを計算する |
com.questetra.bpms.core.event.scripttask.DigestUtilsWrapper
サンプルコード
const file = q_file.get(0); const md5_hex = hex.encodeToString(digest.md5(file)); // MD5 ハッシュ値を 16 進数表記 const sha256_base64 = base64.encodeToString(digest.sha256(file)); // SHA256 ハッシュ値を Base64 表記
型 | メソッド (コンストラクタ)・説明 |
---|---|
ByteArrayWrapper | md5(ByteArrayWrapper bytes) MD5 のハッシュ値を計算する |
ByteArrayWrapper | md5(QfileView qfile) MD5 のハッシュ値を計算する |
ByteArrayWrapper | sha1(ByteArrayWrapper bytes) SHA1 のハッシュ値を計算する |
ByteArrayWrapper | sha1(QfileView qfile) SHA1 のハッシュ値を計算する |
ByteArrayWrapper | sha256(ByteArrayWrapper bytes) SHA256 のハッシュ値を計算する |
ByteArrayWrapper | sha256(QfileView qfile) SHA256 のハッシュ値を計算する |
ByteArrayWrapper | sha384(ByteArrayWrapper bytes) SHA384 のハッシュ値を計算する |
ByteArrayWrapper | sha384(QfileView qfile) SHA384 のハッシュ値を計算する |
ByteArrayWrapper | sha512(ByteArrayWrapper bytes) SHA512 のハッシュ値を計算する |
ByteArrayWrapper | sha512(QfileView qfile) SHA512 のハッシュ値を計算する |
com.questetra.bpms.core.event.scripttask.Joiner
サンプルコード
const selects = engine.findDataByVarName("q_checkbox"); //選択型チェックボックス let text = joiner.join(selects, ', ', select => `${select.value}:${select.display}`);
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | join(Collection collection, String prefix, String suffix, String joiner, Function<Object, String> converter) コレクションに対して、Prefix / Suffix / 結合子を指定して連結する |
String | join(Collection collection, String prefix, String suffix, Function<Object, String> converter) コレクションに対して、Prefix / Suffix を指定して連結する |
String | join(Collection collection, String joiner, Function<Object, String> converter) コレクションに対して、結合子を指定して連結する |
String | splitJoin(String lines, String prefix, String suffix, String joiner) 複数行文字列を1行ごとに分割し、Prefix / Suffix / 結合子を指定して再連結する |
String | splitJoin(String lines, String prefix, String suffix) 複数行文字列を1行ごとに分割し、Prefix / Suffix を指定して再連結する |
String | splitJoin(String lines, String joiner) 複数行文字列を1行ごとに分割し、結合子を指定して再連結する |
com.questetra.bpms.core.event.scripttask.StringEscapeUtilsWrapper
サンプルコード
text = escaper.escapeHtml(text);
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | escapeEcmaScript(String input) EcmaScript 向けにエスケープする |
String | escapeJson(String input) JSON 向けにエスケープする |
String | escapeHtml(String input) HTML 向けにエスケープする |
String | escapeXml(String input) XML 向けにエスケープする |
com.questetra.bpms.core.event.scripttask.XPathWrapper
サンプルコード
const xmltext = '<sales vendor="John">' + '<merchandise type="Orange" price="4" quantity="6"/>' + '<merchandise type="Apple" price="3" quantity="10"/>' + '<merchandise type="Peach" price="5" quantity="3"/>' + '</sales>'; const nodeList = xpath.findNodeList(xmltext, '/sales/merchandise');
型 | メソッド (コンストラクタ)・説明 |
---|---|
NodeWrapper | findNode(NodeWrapper node, String xpathText) Node から XPath 式に合致する DOM Node を返す |
NodeWrapper | findNode(String xml, String xpathText) XML から XPath 式に合致する DOM Node を返す |
NodeListWrapper | findNodeList(NodeWrapper node, String xpathText) Node から XPath 式に合致する DOM Node の一覧を返す |
NodeListWrapper | findNodeList(String xml, String xpathText) XML から XPath 式に合致する DOM Node の一覧を返す |
String | findNodeText(NodeWrapper node, String xpathText) Node から XPath 式に合致する DOM Node を取得し、そのテキストを返す |
String | findNodeText(String xml, String xpathText) XML から XPath 式に合致する DOM Node を取得し、そのテキストを返す |
com.questetra.bpms.core.event.scripttask.XPathWrapper.NodeWrapper
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | getNodeName() ノードの名前を返す |
String | getNodeValue() ノードの値を返す |
short | getNodeType() ノード型を返す |
NodeWrapper | getParentNode() 親ノードを返す |
NodeListWrapper | getChildNodes() 子ノードのリストを返す |
NodeWrapper | getFirstChild() 最初の子ノードを返す |
NodeWrapper | getLastChild() 最後の子ノードを返す |
NodeWrapper | getPreviousSibling() 直前のノードを返す |
NodeWrapper | getNextSibling() 直後のノードを返す |
boolean | hasChildNodes() 子ノードを持っているかどうかを判断する |
String | getNamespaceURI() 名前空間 URI を返す |
String | getPrefix() 名前空間接頭辞を返す |
String | getLocalName() ノードの修飾名のローカル部分を返す |
boolean | hasAttributes() 属性を持っているかどうかを判断する |
String | getBaseURI() ノードの絶対ベース URI を返す |
String | getTextContent() 指定されたノードとノードの子孫のテキストコンテンツを返す |
com.questetra.bpms.core.event.scripttask.XPathWrapper.NodeListWrapper
型 | メソッド (コンストラクタ)・説明 |
---|---|
int | getLength() ノードリストの長さを返す |
NodeWrapper | item(int N) N番目のアイテムを返す |
com.questetra.bpms.core.event.scripttask.ByteArrayWrapper
型 | メソッド (コンストラクタ)・説明 |
---|---|
int | getLength() バイト配列の長さを返す |
com.questetra.bpms.core.event.scripttask.FeedServiceWrapper
サンプルコード
feedService.begin() .setMessage( "投稿メッセージ" ) .post();
型 | メソッド (コンストラクタ)・説明 |
---|---|
FeedMessageWrapper | begin() 投稿メッセージを作成する |
int | getPostingLimit() メッセージ投稿数の上限を返す |
com.questetra.bpms.core.event.scripttask.FeedServiceWrapper.FeedMessageWrapper
型 | メソッド (コンストラクタ)・説明 |
---|---|
FeedMessageWrapper | setMessage(String message) 本文を設定する |
FeedMessageWrapper | setShareQgroup(QgroupView qgroup) 共有範囲の組織を設定する |
FeedMessageWrapper | attachFile(QfileView file) ファイルを添付する(100MB制限) |
FeedMessageWrapper | attachLink(String url) リンクを添付する(Web ページにアクセスして、title を取得することはしない) |
Long | post() メッセージを投稿する |
com.questetra.bpms.core.event.scripttask.HttpClientWrapper
サンプルコード
const httpLimit = httpClient.getRequestingLimit();
型 | メソッド (コンストラクタ)・説明 |
---|---|
HttpRequestWrapper | begin() HTTPリクエストを作成する |
AuthSettingWrapper | findAuthSetting(String authSettingName, boolean sharedOrNot) [HTTP 認証設定]のオブジェクトを返す |
String | getOAuth2Token(String authSettingName) *非推奨 / deprecated(2026-04: 廃止予定) *getOAuth2Token(AuthSettingWrapper authSetting) を利用してください [HTTP 認証設定]を参照し Token を返す - [OAuth2]の場合: 保存している Access Token を返す。Access Token が有効期限切れ/未取得の場合は、Authorization Server から新しい Access Token を取得して、その Token を返す。 - [トークン直接指定]の場合: {設定されている文字列} ("固定トークン値" や "APIキー" など)を返す - [Basic 認証]の場合: エラー |
String | getOAuth2Token(AuthSettingWrapper authSetting) [HTTP 認証設定]を参照し Token を返す - [OAuth2][OAuth2 クライアント資格情報フロー]の場合: 保存している Access Token を返す。Access Token が有効期限切れ/未取得の場合は、Authorization Server から新しい Access Token を取得して、その Token を返す。 - [トークン直接指定]の場合: {設定されている文字列} ("固定トークン値" や "APIキー" など)を返す - [Basic 認証]の場合: エラー |
String | getGoogleOAuth2Token(QuserView quser, String serviceName) *非推奨 / deprecated(2024-04: 廃止予定) *HttpRequestWrapper.googleOAuth2() を利用してください 各ユーザによる Google 連携の認可設定を援用し OAuth2 Access Token を返す serviceName: "Drive", "Calendar" |
int | getRequestingLimit() HTTPリクエスト数の上限を返す |
com.questetra.bpms.core.event.scripttask.HttpClientWrapper.HttpRequestWrapper
型 | メソッド (コンストラクタ)・説明 |
---|---|
HttpRequestWrapper | queryParam(String name, String value) クエリ部にテキストパラメータを追加する(URL エンコードの上で) |
HttpRequestWrapper | authSetting(String authSettingName) *非推奨 / deprecated(2026-04: 廃止予定) *authSetting(AuthSettingWrapper authSetting) を利用してください [HTTP 認証設定]を参照し Authorization ヘッダを追加する - [OAuth2]の場合: "Authorization: Bearer {管理されているAccessToken}" - [トークン直接指定]の場合: "Authorization: Bearer {設定されている文字列}" - [Basic 認証]の場合: "Authorization: Basic {BASE64エンコードされたユーザ名:パスワード}" |
HttpRequestWrapper | authSetting(AuthSettingWrapper authSetting) [HTTP 認証設定]を参照し Authorization ヘッダを追加する - [OAuth2][OAuth2 クライアント資格情報フロー]の場合: "Authorization: Bearer {管理されているAccessToken}" - [トークン直接指定]の場合: "Authorization: Bearer {設定されている文字列}" - [Basic 認証]の場合: "Authorization: Basic {BASE64エンコードされたユーザ名:パスワード}" |
HttpRequestWrapper | googleOAuth2(QuserView quser, String serviceName) ユーザの [Google 連携] 設定を参照し Authorization ヘッダを追加する serviceName: "Drive", "Calendar" |
HttpRequestWrapper | basic(String userName, String password) *非推奨 / deprecated(2024-04: 廃止予定) ヘッダ部に Basic 認証を追加する |
HttpRequestWrapper | bearer(String token) ヘッダ部に Bearer 認証を追加する |
HttpRequestWrapper | header(String name, String value) ヘッダ部にカスタムヘッダを追加する (追加できるカスタム HTTP ヘッダ [R2253]) |
boolean | containsHeader(String name) 指定したヘッダが既にリクエストに設定されているかどうか判断する |
HttpRequestWrapper | body() ボディ部を空にセットする(Content-Type 無し) |
HttpRequestWrapper | body(QfileView file) ボディ部にファイルをセットする |
HttpRequestWrapper | body(QfileView file, String contentType) Content-Type を指定して、ボディ部にファイルをセットする |
HttpRequestWrapper | body(String content, String contentType) Content-Type を指定して、ボディ部にテキストをセットする |
HttpRequestWrapper | body(ByteArrayWrapper content, String contentType) Content-Type を指定して、ボディ部にバイナリデータをセットする |
HttpRequestWrapper | formParam(String name, String value) ボディ部にテキストパラメータを追加する(application/x-www-form-urlencoded) |
HttpRequestWrapper | multipart(String name, String value) ボディ部にテキストパラメータを追加する(multipart/form-data) |
HttpRequestWrapper | multipart(String name, QfileView file) ボディ部にファイルを追加する(multipart/form-data) |
HttpRequestWrapper | multipart(String name, String fileContent, String contentType, String fileName) テキストデータを文字コード変換した上で、ボディ部にファイルを追加する(multipart/form-data) |
HttpResponseWrapper | get(String url) GET でリクエストを送信する |
HttpResponseWrapper | post(String url) POST でリクエストを送信する |
HttpResponseWrapper | patch(String url) PATCH でリクエストを送信する |
HttpResponseWrapper | put(String url) PUT でリクエストを送信する |
HttpResponseWrapper | delete(String url) DELETE でリクエストを送信する |
- HTTP リクエスト送信時に、"Questetra-Pid" ヘッダ(値はプロセスIDの数字)が常に付与されます
- デバッグプロセスの場合、"Questetra-Debug: true" ヘッダが付与されます
- header("Questetra-Debug", "false") のように明示的に値が指定された場合はそちらが優先されます
com.questetra.bpms.core.event.scripttask.HttpClientWrapper.HttpResponseWrapper
型 | メソッド (コンストラクタ)・説明 |
---|---|
int | getStatusCode() HTTPレスポンスのステータスコードを返す |
ByteArrayWrapper | getResponse() HTTP レスポンスをバイナリデータとして返す |
String | getResponseAsString() HTTPレスポンスを文字列として返す |
String | getContentType() HTTPレスポンスの Content-Type を返す |
String | getCharset() HTTPレスポンスの文字コードを返す |
List<String> | getHeaderNames() HTTPレスポンスのヘッダ一覧を返す |
List<String> | getHeaderValues(String headerName) HTTPレスポンスのヘッダのうち、指定されたヘッダの値の一覧を返す |
com.questetra.bpms.core.event.scripttask.AuthSettingWrapper
型 | メソッド (コンストラクタ)・説明 |
---|---|
String | getName() [HTTP 認証設定]の「名前」を返す |
String | getAuthorizationCodeRequestUrl() [HTTP 認証設定]の「認可エンドポイントURL」の設定値を返す (該当する設定項目を持たない HTTP 認証設定ではエラー) |
String | getAccessTokenRequestUrl() [HTTP 認証設定]の「トークンエンドポイントURL」の設定値を返す (該当する設定項目を持たない HTTP 認証設定ではエラー) |
String | getScope() [HTTP 認証設定]の「スコープ」の設定値を返す (該当する設定項目を持たない HTTP 認証設定ではエラー) |
String | getClientId() [HTTP 認証設定]の「クライアントID」の設定値を返す (該当する設定項目を持たない HTTP 認証設定ではエラー) |
String | getClientSecret() [HTTP 認証設定]の「クライアントシークレット」の設定値を返す (該当する設定項目を持たない HTTP 認証設定ではエラー) |
String | getToken() [HTTP 認証設定]の「トークン」の設定値を返す (「トークン直接指定」のみ。該当する設定項目を持たない HTTP 認証設定ではエラー) |
String | getBasicUserName() [HTTP 認証設定]の「ユーザ名」の設定値を返す (「BASIC認証」のみ。該当する設定項目を持たない HTTP 認証設定ではエラー) |
String | getBasicPassword() [HTTP 認証設定]の「パスワード」の設定値を返す (「BASIC認証」のみ。該当する設定項目を持たない HTTP 認証設定ではエラー) |
com.questetra.bpms.core.event.scripttask.EmailServiceWrapper
サンプルコード
emailService.begin() .addTo("yamada@example.com", "YAMADA") .setSubject("メール件名") .setBody( mail_body ) .send();
型 | メソッド (コンストラクタ)・説明 |
---|---|
EmailMessageWrapper | begin() メールメッセージを作成する |
int | getSendingLimit() メール送信数の上限を返す |
com.questetra.bpms.core.event.scripttask.EmailServiceWrapper.EmailMessageWrapper
型 | メソッド (コンストラクタ)・説明 |
---|---|
EmailMessageWrapper | addTo(String emailAddress, String fullName) To アドレスを追加する |
EmailMessageWrapper | addCc(String emailAddress, String fullName) Cc アドレスを追加する |
EmailMessageWrapper | addBcc(String emailAddress, String fullName) Bcc アドレスを追加する |
EmailMessageWrapper | setFrom(String emailAddress, String fullName) From アドレスを設定する |
EmailMessageWrapper | setReplyTo(String emailAddress, String fullName) ReplyTo アドレスを設定する |
EmailMessageWrapper | setSubject(String subject) メール件名を設定する |
EmailMessageWrapper | setBody(String body) メール本文を設定する setTextBody() と同じ |
EmailMessageWrapper | setTextBody(String textBody) テキストでメール本文を設定する |
EmailMessageWrapper | setHtmlBody(String htmlBody) HTML でメール本文を設定する |
EmailMessageWrapper | addAttachment(QfileView qfile) 添付ファイルを追加する(5MB制限) |
EmailMessageWrapper | addAttachment(String fileName, String contentType, String fileContent) テキストデータを文字コード変換した上でファイル添付する |
void | send() メールを送信する |
- setTextBody() / setHtmlBody() のいずれかはセットしてください。両方なしはエラーとなります。
- setTextBody() / setHtmlBody() の両方がセットされた場合、multipart/alternative メールとなります。
- HTML メールに、インライン画像を埋め込むことはできません。
- addAttachment() にて、Content-Type に Java 独自の charset が含まれる場合、charset は省略されます
- 例: text/plain; charset=x-UTF-16LE-BOM
コメント
0件のコメント
記事コメントは受け付けていません。