パッケージ SDK を使用したカスタム変数の作成
- 最終更新日2022/05/19
パッケージ SDK を使用したカスタム変数の作成
Automation 360 を使用すると、SDK パッケージを使用してカスタム変数を作成することができます。
カスタム変数の使用
Automation 360 を使用してカスタム変数を作成することができます。これはシステム変数であり、読み取り専用で、値が代入される代わりに計算されることを除けば、他の Bot 変数として使用されます。
必要な注釈
変数を作成するには、次の注釈が必要です。
注釈 | 使用状況 |
---|---|
BotCommand |
変数を commandType として BotCommand 注釈を使用します。これにより、POJO (plain old Java object) が Automation 360 変数の作成に適するようになります。 |
CommandPkg |
これらの値は、パッケージの作成時に使用されます。注釈に名前、ラベル、説明を指定します。 |
Idx |
検証チェックに役立つよう、必要なすべてのパラメーターとメンバー変数に注釈を付けます。入力時のインターフェースに表示することもできます。インデックス (Idx ) とタイプを指定します。 |
Pkg |
インターフェースに表示するすべてのパラメーターとメンバー変数に注釈を付けます。Idx が付いていない注釈は無視されます。 |
VariableExecute |
変数値を返すために呼び出す必要があるメソッド。このメソッドは入力パラメーターを受け付けません。Sessions と GlobalSessionContext は、セッター インジェクションを通じて利用できます。 |
ユース ケース例
次のユース ケースは、システムのデフォルト ゾーンの現在の時刻を返す方法を示しています。
- 次のビジネス ロジックを持つ POJO クラスを作成します。
public class Now { public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); } }
- POJO クラスに注釈を付けることで Automation 360 変数に対して有効にし、パッケージを作成します。
@BotCommand(commandType = BotCommand.CommandType.Variable) @CommandPkg(description = "The current datetime at system default zone.", name = "Now", label = "", variable_return_type = DataType.DATETIME) public class Now { public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); } }
now
メソッドに注釈を付けて、execute メソッドであることを示します。@VariableExecute public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); }
変数ごとに、1 つのテスト
VariableExecute
メソッドが必要です。