[スクリプトタスク]やサービスタスク定義(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. 役職を操作するクラス(QTITLE)
com.questetra.bpms.core.event.scripttask.QtitleView
com.questetra.bpms.core.event.scripttask.QtitleDaoWrapper
1-12. テーブル型データを操作するクラス(LIST)
com.questetra.bpms.core.event.scripttask.ScriptListArray
com.questetra.bpms.core.event.scripttask.ScriptListArray.ScriptListRow
1-13. ファイル型データを操作するクラス(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-14. 文字列やコレクションを操作するクラス
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
com.questetra.bpms.core.event.scripttask.MarkdownUtilsWrapper
1-15. 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-16. バイト列を操作するクラス
com.questetra.bpms.core.event.scripttask.ByteArrayWrapper
1-17. 「コラボチャット」への投稿を制御するクラス
com.questetra.bpms.core.event.scripttask.FeedServiceWrapper com.questetra.bpms.core.event.scripttask.FeedServiceWrapper.FeedMessageWrapper
feedService のサンプル(サービスタスク定義(Addon-XML)のスクリプト)
1-18. 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-19. 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: 選択肢オブジェクト( ItemView)- 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 を返す |
| String |
getTimeZoneOffsetInMinutes() システムのタイムゾーンのオフセット時間を分単位で返す |
| String |
log(String message) 処理記録にログメッセージを出力する |
ワークフローアプリの定義を参照するメソッド
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| List<ProcessDataDefinitionView> |
findDataDefinitions() データ項目の一覧を返す |
| ProcessDataDefinitionView |
findDataDefinitionByName(String name) 名前で検索したデータ項目を返す 同じ名前のデータ項目が複数ある場合は、最初のひとつを返す |
| ProcessDataDefinitionView |
findDataDefinitionByNumber(String dataDefNum) 定義番号で検索したデータ項目を返す |
| ProcessDataDefinitionView |
findDataDefinitionByNumber(Long dataDefNum) 定義番号で検索したデータ項目を返す |
| ProcessDataDefinitionView |
findDataDefinitionByVarName(String fieldName) フィールド名で検索したデータ項目を返す |
業務データを参照更新するメソッド
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| Object or List<Object> |
findDataByVarName(String fieldName) フィールド名で指定されたデータ項目のオブジェクトを返す (オブジェクトの型は、 findData() の説明を参照) |
| Object or List<Object> |
findDataByName(String name) データ項目名で指定されたデータ項目のオブジェクトを返す (オブジェクトの型は、 findData() の説明を参照) |
| Object or List<Object> |
findDataByNumber(String dataDefNum) データ定義番号で指定されたデータ項目のオブジェクトを返す (オブジェクトの型は、 findData() の説明を参照) |
| Object or List<Object> |
findDataByNumber(Long dataDefNum) データ定義番号で指定されたデータ項目のオブジェクトを返す (オブジェクトの型は、 findData() の説明を参照) |
| Object or List<Object> |
findData(ProcessDataDefinitionView pocket) データ定義オブジェクトで指定されたデータ項目に格納されているオブジェクトを返す - 文字型: java.lang.String- 数値型: java.math.BigDecimal- 選択型: List<com.questetra.bpms.core.event.scripttask.ItemView>- 日付型: com.questetra.bpms.util.AddableDate- 日時型: com.questetra.bpms.util.AddableTimestamp- ファイル型: List<com.questetra.bpms.core.event.scripttask.QfileView>- ユーザ型: com.questetra.bpms.core.event.scripttask.QuserView- 組織型: com.questetra.bpms.core.event.scripttask.QgroupView- テーブル型: com.questetra.bpms.core.event.scripttask.ScriptListArray
|
| 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 fieldName) 指定された子ケースから、フィールド名で指定されたデータ項目のオブジェクトを返す (親ケースからの参照が許可されていないデータ項目にアクセスしようとするとエラー) (オブジェクトの型は、 WorkflowEngine.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: |
com.questetra.bpms.core.event.scripttask.SubDataDefinitionView
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| String |
getName() テーブル項目名を返す |
| String |
getVarName() テーブル項目のフィールド名を返す フィールド名が未定義の場合は null を返す |
| long |
getNumber() テーブル項目番号を返す |
| boolean |
matchDataType(String dataType) dataType: |
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 経由で取得した選択肢」の場合はエラー) |
| List<ItemView> |
findAll(SubDataDefinitionView subDataDef) テーブル型データ項目の指定した選択型サブデータ項目の全選択肢を返す |
| ItemView |
findByValue(String fileName, boolean isSharedFile, String value) 指定した選択肢マスタから特定の値(選択肢ID)を持つ選択肢を返す |
| ItemView |
findByValue(ProcessDataDefinitionView dataDef, String value) 指定した選択型データ項目の選択肢から特定の値(選択肢ID)を持つ選択肢を返す (選択肢種別が「HTTP 経由で取得した選択肢」の場合はエラー) |
| ItemView |
findByValue(SubDataDefinitionView subDataDef, String value) テーブル型データ項目の指定した選択型サブデータ項目の選択肢から特定の値(選択肢ID)を持つ選択肢を返す |
com.questetra.bpms.util.AddableDate
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| (AddableDate) |
AddableDate() 呼び出された時のDateを返す(年月日/YMD) |
| (AddableDate) |
AddableDate(long time)1970-01-01 00:00:00 UTC からのミリ秒数(time)で指定されたDateを返す(年月日/YMD) |
| AddableDate |
addDays(int days) 指定した日数を加えたDateを返す (マイナス値を指定すれば過去に遡ります) |
| AddableDate |
addMonths(int months) 指定した月数を加えたDateを返す (マイナス値を指定すれば過去に遡ります) |
| long |
getTime() JST(+09:00)で運用されているワークフロー基盤で日付型の値「 |
| AddableDate |
getFirstDateInMonth() その月の最初の日(1日)を返す |
| AddableDate |
getFirstDateInWeek() その週の最初の日(月曜日)を返す |
| AddableTimestamp |
getFirstTimeInDate() その日の最初の時刻を返す(0時0分0秒0ミリ秒) |
| AddableDate |
getLastDateInMonth() その月の最後の日を返す(翌月1日の1日前) |
| String |
toString() 日付のサブタイプに応じた形式の文字列を返す - 年月日: yyyy-MM-dd- 月日: MM-dd- 年月: yyyy-MM- 年: yyyy
|
| AddableDate | getFirstTimeInMonth() *非推奨 / deprecated(廃止時期未定) |
| AddableDate | getLastTimeInMonth() *非推奨 / deprecated(廃止時期未定) |
com.questetra.bpms.util.AddableTimestamp
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| (AddableTimestamp) |
AddableTimestamp() 呼び出された時のTimestampを返す |
| (AddableTimestamp) |
AddableTimestamp(long time)1970-01-01 00:00:00 UTC からのミリ秒数(time)で指定されたTimestampを返す |
| AddableTimestamp |
addMinutes(int minutes) 指定した分を加えたTimestampを返す (マイナス値を指定すれば過去に遡ります) |
| AddableTimestamp |
addHours(int hours) 指定した時間を加えたTimestampを返す (マイナス値を指定すれば過去に遡ります) |
| AddableTimestamp |
addDays(int days) 指定した日数を加えたTimestampを返す (マイナス値を指定すれば過去に遡ります) |
| AddableTimestamp |
addMonths(int months) 指定した月数を加えたTimestampを返す (マイナス値を指定すれば過去に遡ります) |
| long |
getTime() JST(+09:00)で運用されているワークフロー基盤で日時型の値「 |
| AddableTimestamp |
getFirstTimeInDate() その日の最初の時刻を返す(0時0分0秒0ミリ秒) |
| AddableTimestamp |
getFirstTimeInWeek() その週の最初の時刻を返す(月曜日の0時0分0秒0ミリ秒) |
| 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 |
isDeleted() 削除されたかどうかを判断する |
| 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> |
findByQrole(QroleView qrole) 指定したロールに所属している Quser(ユーザ)リストを返す |
| List<QuserView> |
findByQuery(String query) クエリで検索した Quser(ユーザ)リストを返す |
| boolean |
isMemberOfQrole(QuserView quser, QroleView qrole) ユーザが指定ロールに所属しているかを判定する |
| boolean |
isMemberOfQgroup(QuserView quser, QgroupView qgroup) ユーザが指定組織に所属しているかを判定する |
| boolean |
isMemberOfQgroup(QuserView quser, QgroupView qgroup, boolean hasTitle) ユーザが指定組織に役職あり/なしで所属しているかを判定する |
| boolean |
isMemberOfQgroup(QuserView quser, QgroupView qgroup, QtitleView qtitle) ユーザが指定組織に指定の役職で所属しているかを判定する |
| boolean |
isMemberOfParentQgroup(QuserView quser, QgroupView qgroup) ユーザが指定組織の親組織に所属しているかを判定する |
| boolean |
isMemberOfParentQgroup(QuserView quser, QgroupView qgroup, boolean hasTitle) ユーザが指定組織の親組織に役職あり/なしで所属しているかを判定する |
| boolean |
isMemberOfParentQgroup(QuserView quser, QgroupView qgroup, QtitleView qtitle) ユーザが指定組織の親組織に指定の役職で所属しているかを判定する |
| boolean |
isMemberOfAnyChildQgroups(QuserView quser, QgroupView qgroup) ユーザが指定組織の子組織のいずれかに所属しているかを判定する |
| boolean |
isMemberOfAnyChildQgroups(QuserView quser, QgroupView qgroup, boolean hasTitle) ユーザが指定組織の子組織のいずれかに役職あり/なしで所属しているかを判定する |
| boolean |
isMemberOfAnyChildQgroups(QuserView quser, QgroupView qgroup, QtitleView qtitle) ユーザが指定組織の子組織のいずれかに指定の役職で所属しているかを判定する |
| boolean |
isMemberOfAnyAncestorQgroups(QuserView quser, QgroupView qgroup) ユーザが指定組織の上位組織のいずれかに所属しているかを判定する |
| boolean |
isMemberOfAnyAncestorQgroups(QuserView quser, QgroupView qgroup, boolean hasTitle) ユーザが指定組織の上位組織のいずれかに役職あり/なしで所属しているかを判定する |
| boolean |
isMemberOfAnyAncestorQgroups(QuserView quser, QgroupView qgroup, QtitleView qtitle) ユーザが指定組織の上位組織のいずれかに指定の役職で所属しているかを判定する |
| boolean |
isMemberOfAnyDescendantQgroups(QuserView quser, QgroupView qgroup) ユーザが指定組織の下位組織のいずれかに所属しているかを判定する |
| boolean |
isMemberOfAnyDescendantQgroups(QuserView quser, QgroupView qgroup, boolean hasTitle) ユーザが指定組織の下位組織のいずれかに役職あり/なしで所属しているかを判定する |
| boolean |
isMemberOfAnyDescendantQgroups(QuserView quser, QgroupView qgroup, QtitleView qtitle) ユーザが指定組織の下位組織のいずれかに指定の役職で所属しているかを判定する |
| List<QuserView> |
findMembersOfQgroup(QgroupView qgroup) 指定した組織に所属している Quser(ユーザ)リストを返す 既存の findByQgroup(QgroupView) と同じ |
| List<QuserView> |
findMembersOfQgroup(QgroupView qgroup, QtitleView qtitle) 指定した組織に所属していて、かつ指定の役職を持つ Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfQgroup(QgroupView, boolean hasTitle) 指定した組織に所属していて、かつ役職を持つ/持たない Quser(ユーザ)リストを返す 既存の findByQgroupAndPosition(QgroupView, boolean) と同じ |
| List<QuserView> |
findMembersOfParentQgroup(QgroupView qgroup) 指定組織の親組織に所属している Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfParentQgroup(QgroupView qgroup, QtitleView qtitle) 指定組織の親組織に所属していて、かつ指定の役職を持つ Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfParentQgroup(QgroupView qgroup, boolean hasTitle) 指定組織に所属していて、かつ役職を持つ/持たない Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyChildQgroups(QgroupView qgroup) 指定組織の子組織のいずれかに所属している Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyChildQgroups(QgroupView qgroup, QtitleView qtitle) 指定組織の子組織のいずれかに所属していて、かつ指定の役職を持つ Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyChildQgroups(QgroupView qgroup, boolean hasTitle) 指定組織の子組織のいずれかに所属していて、かつ役職を持つ/持たない Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyAncestorQgroups(QgroupView qgroup) 指定組織の上位組織のいずれかに所属している Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyAncestorQgroups(QgroupView qgroup, QtitleView qtitle) 指定組織の上位組織のいずれかに所属していて、かつ指定の役職を持つ Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyAncestorQgroups(QgroupView qgroup, boolean hasTitle) 指定組織の上位組織のいずれかに所属していて、かつ役職を持つ/持たない Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyDescendantQgroups(QgroupView qgroup) 指定組織の下位組織のいずれかに所属している Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyDescendantQgroups(QgroupView qgroup, QtitleView qtitle) 指定組織の下位組織のいずれかに所属していて、かつ指定の役職を持つ Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfAnyDescendantQgroups(QgroupView qgroup, boolean hasTitle) 指定組織の下位組織のいずれかに所属していて、かつ役職を持つ/持たない Quser(ユーザ)リストを返す |
| List<QuserView> |
findMembersOfQrole(QroleView qrole) ロールでユーザを検索した Quser(ユーザ)を返す |
com.questetra.bpms.core.event.scripttask.QgroupView
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| Long |
getId() 組織IDを返す |
| String |
getName() 組織名を返す |
| String |
getEmail() 組織のメールアドレスを返す |
| boolean |
isDeleted() 削除されたかどうかを判断する |
| 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<QgroupView> |
findByQuser(QuserView quser, boolean hasTitle) 指定したユーザが所属していて、かつ役職を持つ Qgroup(組織)リストを返す |
| List<QgroupView> |
findByQuser(QuserView quser, QtitleView qtitle) 指定したユーザが指定の役職で所属している Qgroup(組織)リストを返す |
| List<QgroupView> |
findByQuery(String query) クエリで検索した Qgroup(組織)リストを返す |
| List<QgroupView> |
findChildQgroups(QgroupView qgroup) 指定組織の子組織の Qgroup(組織)リストを返す |
| List<QgroupView> |
findAncestorQgroups(QgroupView qgroup) 指定組織の上位組織の Qgroup(組織)リストを返す |
| List<QgroupView> |
findDescendantQgroups(QgroupView qgroup) 指定組織の下位組織の Qgroup(組織)リストを返す |
| boolean |
isParentOf(QgroupView qgroupParent, QgroupView qgroupChild) 指定組織が指定された組織の親組織であるかどうかを判断する |
| boolean |
isChildOf(QgroupView qgroupChild, QgroupView qgroupParent) 指定組織が指定された組織の子組織であるかを判断する |
| boolean |
isAncestorOf(QgroupView qgroupAncestor, QgroupView qgroupDescendant) 指定組織が指定された組織の上位組織であるかを判断する |
| boolean |
isDescendantOf(QgroupView qgroupDescendant, QgroupView qgroupAncestor) 指定組織が指定された組織の下位組織であるかを判断する |
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(ロール)リストを返す |
| List<QroleView> |
findByQuery(String query) クエリで検索した Qrole(ロール)を返す |
com.questetra.bpms.core.event.scripttask.QtitleView
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| Long |
getId() 役職IDを返す |
| String |
getName() 役職名を返す |
com.questetra.bpms.core.event.scripttask.QtitleDaoWrapper
サンプルコード
const qtitle = qtitleDao.findById( 2 );| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| QtitleView |
findById(Long id) 役職ID で検索した Qtitle(役職)を返す |
| QtitleView |
findByName(String name) 役職名で検索した Qtitle(役職)を返す |
| List<QtitleView> |
findByQuery(String query) クエリで検索した Qtitle(役職)を返す |
| QtitleView |
findByQuserAndQgroup(QuserView quser, QgroupView qgroup) ユーザと組織を指定して検索した Qtitle(役職)を返す |
com.questetra.bpms.core.event.scripttask.ScriptListArray
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| ScriptListArray.ScriptListRow |
addRow() 空の行を追加する |
| String |
get(int rowIndex, int colIndex) セルデータを文字列で返す - rowIndex : 行番号 (0 から) - colIndex : 列番号 (0 から) 文字列の書式 - 文字型 : (入力された文字列) - 数値型 : 標準形式(小数点ピリオド、桁区切り文字なし) - 選択型 : 選択肢ID - 日付型 : yyyy-mm-dd
|
| String |
get(int rowIndex, String fieldName) セルデータを文字列で返す (文字列の書式は上記参照) |
| Object |
getObject(int rowIndex, int colIndex) セルデータのオブジェクトを返す - rowIndex : 行番号 (0 から) - colIndex : 列番号 (0 から) オブジェクトの型 - 文字型: java.lang.String- 数値型: java.math.BigDecimal- 選択型: com.questetra.bpms.core.event.scripttask.ItemView- 日付型: com.questetra.bpms.util.AddableDate
|
| Object |
getObject(int rowIndex, String fieldName) セルデータのオブジェクトを返す (オブジェクトの型は上記参照) |
| ScriptListArray.ScriptListRow |
getRow(int rowIndex) 指定行を返す |
| List<ScriptListArray.ScriptListRow> |
getRows() 全行を返す |
| ScriptListArray.ScriptListRow |
getSummary() テーブル末尾の「集計行」を返す(存在しない場合 null) |
| ScriptListArray.ScriptListRow |
removeRow(int rowIndex) 指定行を削除する |
| int |
size() 行数を返す |
| String |
toXmlString() XML 文字列でテーブルを返す |
com.questetra.bpms.core.event.scripttask.ScriptListArray.ScriptListRow
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| String |
get(String fieldName) フィールド名で指定した列を返す 文字列の書式 - 文字型 : (入力された文字列) - 数値型 : 標準形式(小数点ピリオド、桁区切り文字なし) - 選択型 : 選択肢ID - 日付型 : yyyy-mm-dd
|
| String |
getCol(int colIndex) 指定列を返す (文字列の書式は get() と同じ)
|
| List<String> |
getCols() 全列を返す (文字列の書式は get() と同じ)
|
| Object |
getObject(int colIndex) 指定列のオブジェクトを返す - colIndex: 列番号 (0 から) オブジェクトの型 - 文字型: java.lang.String- 数値型: java.math.BigDecimal- 選択型: com.questetra.bpms.core.event.scripttask.ItemView- 日付型: com.questetra.bpms.util.AddableDate
|
| Object |
getObject(String fieldName) フィールド名で指定した列のオブジェクトを返す (オブジェクトの型は上記参照) |
| String |
put(String fieldName, String cellString) フィールド名で指定した列を上書きし、元の値を返す 文字列 ( cellString) の書式- 文字型 : (入力された文字列) - 数値型 : 標準形式(小数点ピリオド、桁区切り文字なし) - 選択型 : 選択肢ID - 日付型 : yyyy-mm-dd
|
| void |
setCol(int colIndex, String cellString) 指定列を上書きする 文字列 ( cellString) の書式- 文字型 : (入力された文字列) - 数値型 : 標準形式(小数点ピリオド、桁区切り文字なし) - 選択型 : 選択肢ID - 日付型 : yyyy-mm-dd
|
| void |
setObject(int colIndex, Object value) 指定列を上書きする オブジェクトの型 - 文字型 : String- 数値型 : BigDecimal / String(標準形式)- 日付型 : AddableDate / String(yyyy-mm-dd)
|
| void |
setObject(String fieldName, Object value) フィールド名で指定された列を上書きする (オブジェクトの型は上記参照) |
| int |
size() 列数を返す |
com.questetra.bpms.core.event.scripttask.QfileView
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| Long |
getId() ファイルIDを返す |
| String |
getName() ファイル名を返す |
| Long |
getLength() ファイルサイズを返す |
| String |
getLengthText() ファイルサイズをテキストで返す |
| String |
getContentType() ファイルの Content-Type を返す |
| String |
getCharset()getContentType() で取得される値のうち、charset の値のみを返す |
| String |
getMalwareScanStatus() ファイルのマルウェアチェックの状態を返す - null: マルウェアチェック有効化前に保存されたファイル - SCANNING: スキャン中 - NO_THREATS_FOUND: 脅威なし - THREATS_FOUND: マルウェアと判定されたファイル - UNSUPPORTED: チェックできないファイル(暗号化されたファイルなど) - TIMEOUT: 一定時間以内にスキャンが完了せず、判定できなかったケース - ACCESS_DENIED, FAILED, UNKNOWN: 通常の操作では発生しないケース |
| Long |
getProcessDataInstanceId() ファイルが格納されているファイル型データインスタンスのIDを返す |
| Boolean |
isImage() ファイルが画像かどうかを判断する 画像なら true を返す。Web UI でプレビュー画像が表示されるファイルが画像と判断される。 |
| Boolean |
isInline() ファイルが別ウィンドウ表示可能かどうかを判断する Web UI で別ウィンドウ表示のボタンが表示されるファイルの場合、 true を返す。 |
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 qfile, String encoding) テキストファイルを指定の文字コードで読み込む (読み込めるファイルのサイズは 1MB まで) |
| void |
readFile(QfileView qfile, String encoding, java.util.function.Consumer<String> function) テキストファイルを指定の文字コードで読み込み、1行ずつ指定した関数( function)に渡す(10行のテキストファイルでは、10回 function が呼ばれる) |
| ByteArrayWrapper |
readFile(QfileView qfile) ファイルをバイト配列として読み込む (読み込めるファイルのサイズは 1MB まで) |
| void |
readFile(QfileView qfile, 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(ByteArrayWrapper bytes) Base64 エンコードする (RFC 4648: URL and Filename Safe Alphabet) ( + / の代わりに - _ を使う) |
| 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 |
decodeFromStringToByteArray(String src) バイナリデータに Base64 デコードする (RFC 4648) |
| 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) RSA-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, String joiner) コレクションに対して、Prefix / Suffix / 結合子を指定して連結する |
| String |
join(Collection collection, String prefix, String suffix, Function<Object, String> converter) コレクションに対して、Prefix / Suffix / コンバータ関数を指定して連結する |
| String |
join(Collection collection, String Prefix, String Suffix) コレクションに対して、Prefix / Suffix を指定して連結する |
| String |
join(Collection collection, String joiner, Function<Object, String> converter) コレクションに対して、結合子 / コンバータ関数を指定して連結する |
| String |
join(Collection collection, String joiner) コレクションに対して、結合子を指定して連結する |
| 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 向けにエスケープする |
| String |
escapeMarkdown(String input) Markdown 向けにエスケープする (半角記号をHTMLエンティティに変換する) |
com.questetra.bpms.core.event.scripttask.MarkdownUtilsWrapper
サンプルコード
htmlText = markdown.toHtml(markdownText);| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| String |
escape(String text) Markdown 向けにエスケープする (半角記号をHTMLエンティティに変換する) |
| String |
toHtml(String markdownText) Markdown テキストから HTML テキストに変換する |
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() 投稿メッセージを作成する |
| void |
createPublicChannel(String channelName) パブリックチャンネルを作成する |
| int |
getPostingLimit() メッセージ投稿数の上限を返す |
com.questetra.bpms.core.event.scripttask.FeedServiceWrapper.FeedMessageWrapper
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| FeedMessageWrapper |
setMessage(String message) 本文を設定する(上限8000文字) setMarkdown() と背反(後勝ち) |
| FeedMessageWrapper |
setMarkdown(String message) Markdown 形式で本文を設定する(上限8000文字) setMessage() と背反(後勝ち)(Ver. 18.0 以降) |
| FeedMessageWrapper |
setChannel(String channelName) チャンネルを指定する (Ver. 17.0 以降はチャンネル指定がないと投稿時にエラー) ( setChannel(String) か setShareQgroup(QgroupView) のいずれかで投稿先チャンネルを指定) |
| FeedMessageWrapper |
setShareQgroup(QgroupView qgroup) 共有範囲の組織を設定する |
| FeedMessageWrapper |
setMessageId(Long messageId) 投稿先メッセージの ID を設定する 指定すると post() がそのメッセージへのコメント投稿になる(未指定時は新規メッセージ投稿)post() の戻り値はコメント ID になる存在しないメッセージ ID や、チャンネルと一致しないメッセージ ID を指定するとエラー (Ver. 18.0 以降) |
| FeedMessageWrapper |
attachFile(QfileView qfile) ファイルを添付する(1投稿10ファイル、計100MB制限) |
| FeedMessageWrapper |
attachLink(String url) リンクを添付する(1投稿10リンク制限、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 認証設定]のオブジェクトを返す - shareOrNot が true の場合: [全アプリで共有される設定]を参照する- shareOrNot が false の場合: [アプリ固有の設定]を参照する |
| String |
getOAuth2Token(AuthSettingWrapper authSetting) [HTTP 認証設定]を参照し Token を返す - [OAuth2][OAuth2 クライアント資格情報フロー]の場合: 保存している Access Token を返す。Access Token が有効期限切れ/未取得の場合は、Authorization Server から新しい Access Token を取得して、その Token を返す。 - [トークン直接指定]の場合: {設定されている文字列} ("固定トークン値" や "APIキー" など)を返す - [Basic 認証][OAuth2 JWT ベアラーフロー]の場合: エラー |
| int |
getRequestingLimit() HTTPリクエスト数の上限を返す |
com.questetra.bpms.core.event.scripttask.HttpClientWrapper.HttpRequestWrapper
| 型 | メソッド (コンストラクタ)・説明 |
|---|---|
| HttpRequestWrapper |
queryParam(String name, String value) クエリ部にテキストパラメータを追加する(URL エンコードの上で) |
| HttpRequestWrapper |
authSetting(AuthSettingWrapper authSetting) [HTTP 認証設定]を参照し Authorization ヘッダを追加する- [OAuth2][OAuth2 クライアント資格情報フロー]の場合: Authorization: Bearer {管理されているAccessToken}- [トークン直接指定]の場合: Authorization: Bearer {設定されている文字列}- [Basic 認証]の場合: Authorization: Basic {BASE64エンコードされたユーザ名:パスワード}
|
| HttpRequestWrapper |
authorization(String type, String credentials) type と credentials を直接指定し Authorization ヘッダを追加する |
| HttpRequestWrapper |
googleOAuth2(QuserView quser, String serviceName) ユーザの [Google 連携] 設定を参照し Authorization ヘッダを追加するserviceName: "Drive", "Calendar"
|
| HttpRequestWrapper |
basic(String userName, String password) ヘッダ部に 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 qfile) ボディ部にファイルをセットする |
| HttpRequestWrapper |
body(QfileView qfile, 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 qfile) ボディ部にファイルを追加する( 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")のように明示的に値が指定された場合はそちらが優先されます
-
- HTTP リクエスト送信時に、Questetra-Initiator ヘッダが自動的に付与されます(v18.0~)
- 送信元のワークフローアプリ・ケース・ノードなどの情報が key=value 形式(; 区切り)で保持されます
- 含まれるキー:a(アクセスID)、m(アプリID)、p(ケースID)、n(ノード番号)
- 値の例:
a=example; m=1078; p=131303; n=2
- 値の例:
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) Reply-To アドレスを設定する |
| 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件のコメント
記事コメントは受け付けていません。