다음을 통해 공유


BotState 클래스

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

구현

PropertyManager

public abstract class BotState
implements PropertyManager

상태 관리 개체를 정의하고 스토리지 계층에 연결된 상태 속성의 읽기 및 쓰기를 자동화합니다.

각 상태 관리 개체는 스토리지 계층에 대한 범위를 정의합니다. 상태 속성은 상태 관리 범위 내에서 만들어지고 Bot Framework는 ConversationState, UserStatePrivateConversationState범위를 정의합니다. 봇에 대한 추가 범위를 정의할 수 있습니다.

생성자 요약

생성자 Description
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)

턴 컨텍스트에서 이 봇상태에 대해 캐시된 원시 데이터의 복사본을 가져옵니다.

CachedBotState getCachedState(TurnContext turnContext)

턴 컨텍스트에서 이 봇상태의 원시 캐시된 데이터를 래핑하는 캐시된 봇 상태 인스턴스를 가져옵니다.

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)

이 봇상태의 상태 캐시에 있는 속성 값을 설정합니다.

다음에서 상속된 메서드 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 클래스의 새 인스턴스를 초기화합니다.

매개 변수:

withStorage - 사용할 스토리지 공급자입니다.
withContextServiceKey - 이 BotState의 상태 캐시에 대한 키입니다.

Throw:

java.lang.IllegalArgumentException - Null Storage 또는 빈 서비스 키 인수입니다.

메서드 세부 정보

<T>createProperty

public StatePropertyAccessor createProperty(String name)

BotState 범위 내에 명명된 상태 속성을 만들고 속성에 대한 접근자를 반환합니다.

매개 변수:

name - 속성의 이름입니다.

반환:

속성에 대한 StatePropertyAccessor<T>.

Throw:

java.lang.IllegalArgumentException - 빈 이름

<T>getPropertyValue

protected CompletableFuture getPropertyValue(TurnContext turnContext, String propertyName)

이 BotState의 상태 캐시에서 속성 값을 가져옵니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.
propertyName - 가져올 속성의 이름입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다. 작업이 성공하면 결과에 속성 값이 포함됩니다.

clearState

public CompletableFuture clearState(TurnContext turnContext)

이 BotState의 상태 캐시를 지웁니다.

이 메서드는 턴 컨텍스트에서 상태 캐시를 지웁니다. saveChanges(TurnContext turnContext, boolean force) 호출하여 스토리지 계층에서 이 변경 사항을 유지합니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

delete

public CompletableFuture delete(TurnContext turnContext)

현재 이 상태 범위에 저장된 상태를 삭제합니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

deletePropertyValue

protected CompletableFuture deletePropertyValue(TurnContext turnContext, String propertyName)

이 BotState의 상태 캐시에서 속성을 삭제합니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.
propertyName - 삭제할 속성의 이름입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

get

public JsonNode get(TurnContext turnContext)

턴 컨텍스트에서 이 BotState에 대해 캐시된 원시 데이터의 복사본을 가져옵니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.

반환:

캐시된 상태의 JSON 표현입니다.

getCachedState

public BotState.CachedBotState getCachedState(TurnContext turnContext)

턴 컨텍스트에서 이 BotState에 대해 캐시된 원시 데이터를 래핑하는 캐시된 봇 상태 인스턴스를 가져옵니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.

반환:

캐시된 봇 상태 인스턴스입니다.

getStorageKey

public abstract String getStorageKey(TurnContext turnContext)

파생 클래스에서 재정의되는 경우 스토리지에서 상태를 읽고 쓸 때 사용할 키를 가져옵니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.

반환:

스토리지 키입니다.

Throw:

java.lang.IllegalArgumentException - TurnContext에는 필요한 데이터가 모두 포함되어 있지 않습니다.

load

public CompletableFuture load(TurnContext turnContext)

스토리지 계층에서 이 BotState의 상태 캐시를 채웁니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

load

public CompletableFuture load(TurnContext turnContext, boolean force)

현재 상태 개체를 읽고 이 순서에 대한 컨텍스트 개체에 캐시합니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.
force - 기존 상태 캐시를 덮어쓰려면 true입니다. 또는 캐시가 아직 없는 경우에만 스토리지에서 상태를 로드하려면 false입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

saveChanges

public CompletableFuture saveChanges(TurnContext turnContext)

이 BotState의 상태 캐시를 스토리지 계층에 씁니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

saveChanges

public CompletableFuture saveChanges(TurnContext turnContext, boolean force)

이 BotState의 상태 캐시를 스토리지 계층에 씁니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.
force - 상태 캐시를 스토리지에 저장하려면 true입니다. 또는 false이면 캐시의 속성이 변경된 경우에만 상태를 스토리지에 저장합니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

setPropertyValue

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

이 BotState의 상태 캐시에 있는 속성 값을 설정합니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.
propertyName - 설정할 속성의 이름입니다.
value - 속성에 설정할 값입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

적용 대상