BotState クラス

  • java.lang.Object
    • com.microsoft.bot.builder.BotState

実装

public abstract class BotState
implements PropertyManager

状態管理オブジェクトを定義し、関連付けられている状態プロパティの読み取りと書き込みをストレージ レイヤーに自動化します。

各状態管理オブジェクトは、ストレージ レイヤーのスコープを定義します。 状態プロパティは状態管理スコープ内に作成され、Bot Framework では、および PrivateConversationStateConversationStateUserStateスコープが定義されます。 ボットの追加のスコープを定義できます。

コンストラクターの概要

コンストラクター 説明
BotState(Storage withStorage, String withContextServiceKey)

BotState クラスの新しいインスタンスを初期化します。

メソッドの概要

修飾子と型 メソッドと説明
StatePropertyAccessor<T> <T>createProperty(String name)

BotState のスコープ内に名前付き状態プロパティを作成し、 プロパティのアクセサーを返します。

protected java.util.concurrent.CompletableFuture<T> <T>getPropertyValue(TurnContext turnContext, String propertyName)

この BotState の状態キャッシュからプロパティの値を取得します。

java.util.concurrent.CompletableFuture<java.lang.Void> clearState(TurnContext turnContext)

このボット状態の状態キャッシュをクリアします。

java.util.concurrent.CompletableFuture<java.lang.Void> delete(TurnContext turnContext)

この状態スコープに現在格納されているすべての状態を削除します。

protected java.util.concurrent.CompletableFuture<java.lang.Void> deletePropertyValue(TurnContext turnContext, String propertyName)

このボット状態の状態キャッシュからプロパティを削除します。

com.fasterxml.jackson.databind.JsonNode get(TurnContext turnContext)

ターン コンテキストから、この BotState の生のキャッシュデータのコピーを取得します。

CachedBotState getCachedState(TurnContext turnContext)

ターン コンテキストから、この Bot State の生キャッシュ データをラップするキャッシュされたボット状態インスタンスを取得します。

abstract java.lang.String getStorageKey(TurnContext turnContext)

派生クラスでオーバーライドされると、ストレージとの間で状態を読み書きするときに使用するキーを取得します。

java.util.concurrent.CompletableFuture<java.lang.Void> load(TurnContext turnContext)

ストレージ レイヤーからこのボット状態の状態キャッシュを設定します。

java.util.concurrent.CompletableFuture<java.lang.Void> load(TurnContext turnContext, boolean force)

現在の状態オブジェクトを読み取り、このターンのコンテキスト オブジェクトにキャッシュします。

java.util.concurrent.CompletableFuture<java.lang.Void> saveChanges(TurnContext turnContext)

このボット状態の状態キャッシュをストレージ レイヤーに書き込みます。

java.util.concurrent.CompletableFuture<java.lang.Void> saveChanges(TurnContext turnContext, boolean force)

このボット状態の状態キャッシュをストレージ レイヤーに書き込みます。

protected java.util.concurrent.CompletableFuture<java.lang.Void> setPropertyValue(TurnContext turnContext, String propertyName, Object value)

この BotState の状態キャッシュ内のプロパティの値を設定します。

メソッドの継承元: java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

コンストラクターの詳細

BotState

public BotState(Storage withStorage, String withContextServiceKey)

BotState クラスの新しいインスタンスを初期化します。

Parameters:

withStorage - 使用するストレージ プロバイダー。
withContextServiceKey - この BotState の状態キャッシュのキー。

Throws:

java.lang.IllegalArgumentException - Null Storage または空のサービス キー引数。

メソッドの詳細

<T>createProperty

public StatePropertyAccessor createProperty(String name)

BotState のスコープ内に名前付き状態プロパティを作成し、 プロパティのアクセサーを返します。

Parameters:

name - プロパティの名前。

Returns:

StatePropertyAccessor<T>プロパティの 。

Throws:

java.lang.IllegalArgumentException - 空の名前

<T>getPropertyValue

protected CompletableFuture getPropertyValue(TurnContext turnContext, String propertyName)

この BotState の状態キャッシュからプロパティの値を取得します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。
propertyName - 取得するプロパティの名前。

Returns:

実行するキューに登録された作業を表すタスク。 タスクが成功した場合、結果にはプロパティ値が含まれます。

clearState

public CompletableFuture clearState(TurnContext turnContext)

この BotState の状態キャッシュをクリアします。

このメソッドは、ターン コンテキストの状態キャッシュをクリアします。 を呼び出 saveChanges(TurnContext turnContext, boolean force) して、この変更をストレージ レイヤーに保持します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。

Returns:

実行するキューに登録された作業を表すタスク。

delete

public CompletableFuture delete(TurnContext turnContext)

この状態スコープに現在格納されているすべての状態を削除します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。

Returns:

実行するキューに登録された作業を表すタスク。

deletePropertyValue

protected CompletableFuture deletePropertyValue(TurnContext turnContext, String propertyName)

この BotState の状態キャッシュからプロパティを削除します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。
propertyName - 削除するプロパティの名前。

Returns:

実行するキューに登録された作業を表すタスク。

get

public JsonNode get(TurnContext turnContext)

ターン コンテキストから、この BotState の生キャッシュ データのコピーを取得します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。

Returns:

キャッシュされた状態の JSON 表現。

getCachedState

public BotState.CachedBotState getCachedState(TurnContext turnContext)

ターン コンテキストからこの BotState の生キャッシュ データをラップするキャッシュされたボット状態インスタンスを取得します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。

Returns:

キャッシュされたボット状態インスタンス。

getStorageKey

public abstract String getStorageKey(TurnContext turnContext)

派生クラスでオーバーライドされると、ストレージとの間で状態を読み書きするときに使用するキーを取得します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。

Returns:

ストレージ キー。

Throws:

java.lang.IllegalArgumentException - TurnContext には、必要なデータがすべて含まれているわけではありません。

load

public CompletableFuture load(TurnContext turnContext)

ストレージ レイヤーからこの BotState の状態キャッシュを設定します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。

Returns:

実行するキューに登録された作業を表すタスク。

load

public CompletableFuture load(TurnContext turnContext, boolean force)

現在の状態オブジェクトを読み取り、このターンのコンテキスト オブジェクトにキャッシュします。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。
force - 既存の状態キャッシュを上書きする場合は true。キャッシュがまだ存在しない場合にのみ、ストレージから状態を読み込む場合は false。

Returns:

実行するキューに登録された作業を表すタスク。

saveChanges

public CompletableFuture saveChanges(TurnContext turnContext)

この BotState の状態キャッシュをストレージ レイヤーに書き込みます。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。

Returns:

実行するキューに登録された作業を表すタスク。

saveChanges

public CompletableFuture saveChanges(TurnContext turnContext, boolean force)

この BotState の状態キャッシュをストレージ レイヤーに書き込みます。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。
force - 状態キャッシュをストレージに保存する場合は true。キャッシュ内のプロパティが変更された場合にのみ、状態をストレージに保存する場合は false。

Returns:

実行するキューに登録された作業を表すタスク。

setPropertyValue

protected CompletableFuture setPropertyValue(TurnContext turnContext, String propertyName, Object value)

この BotState の状態キャッシュ内のプロパティの値を設定します。

Parameters:

turnContext - このターンのコンテキスト オブジェクト。
propertyName - 設定するプロパティの名前。
value - プロパティに設定する値。

Returns:

実行するキューに登録された作業を表すタスク。

適用対象