BotState Classe

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

Implementazioni

public abstract class BotState
implements PropertyManager

Definisce un oggetto di gestione dello stato e automatizza la lettura e la scrittura delle proprietà di stato associate in un livello di archiviazione.

Ogni oggetto di gestione dello stato definisce un ambito per un livello di archiviazione. Le proprietà di stato vengono create all'interno di un ambito di gestione dello stato e Bot Framework definisce questi ambiti: ConversationState, UserStatee PrivateConversationState. È possibile definire ambiti aggiuntivi per il bot.

Riepilogo dei costruttori

Costruttore Descrizione
BotState(Storage withStorage, String withContextServiceKey)

Inizializza una nuova istanza della classe BotState.

Riepilogo dei metodi

Modificatore e tipo Metodo e descrizione
StatePropertyAccessor<T> <T>createProperty(String name)

Crea una proprietà di stato denominata nell'ambito di un botState e restituisce una funzione di accesso per la proprietà .

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

Ottiene il valore di una proprietà dalla cache di stato per questo botState.

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

Cancella la cache di stato per questo botstato.

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

Eliminare qualsiasi stato attualmente archiviato nell'ambito dello stato.

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

Elimina una proprietà dalla cache di stato per questo botstato.

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

Ottiene una copia dei dati non elaborati memorizzati nella cache per questo botstato dal contesto del turno.

CachedBotState getCachedState(TurnContext turnContext)

Ottiene l'istanza dello stato del bot memorizzata nella cache che esegue il wrapping dei dati non elaborati memorizzati nella cache per questo botstato dal contesto del turno.

abstract java.lang.String getStorageKey(TurnContext turnContext)

Quando sottoposto a override in una classe derivata, ottiene la chiave da usare durante la lettura e la scrittura dello stato da e verso l'archiviazione.

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

Popola la cache di stato per questo botstato dal livello di archiviazione.

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

Legge nell'oggetto stato corrente e lo memorizza nella cache nell'oggetto contesto per questo turno.

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

Scrive la cache di stato per questo botstato nel livello di archiviazione.

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

Scrive la cache di stato per questo botstato nel livello di archiviazione.

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

Imposta il valore di una proprietà nella cache di stato per questo botStato.

Metodi ereditati da 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

Dettagli costruttore

BotState

public BotState(Storage withStorage, String withContextServiceKey)

Inizializza una nuova istanza della classe BotState.

Parametri:

withStorage - Provider di archiviazione da usare.
withContextServiceKey - Chiave per la cache di stato per botState.

Genera un'eccezione:

java.lang.IllegalArgumentException - Argomenti di chiave del servizio null o archiviazione Null.

Dettagli metodo

<T>createProperty

public StatePropertyAccessor createProperty(String name)

Crea una proprietà di stato denominata nell'ambito di botState e restituisce una funzione di accesso per la proprietà .

Parametri:

name - nome della proprietà.

Restituisce:

Un StatePropertyAccessor<T> per la proprietà .

Genera un'eccezione:

java.lang.IllegalArgumentException - Nome vuoto

<T>getPropertyValue

protected CompletableFuture getPropertyValue(TurnContext turnContext, String propertyName)

Ottiene il valore di una proprietà dalla cache di stato per botState.

Parametri:

turnContext - Oggetto di contesto per questo turno.
propertyName - Nome della proprietà da ottenere.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire. Se l'attività ha esito positivo, il risultato contiene il valore della proprietà.

clearState

public CompletableFuture clearState(TurnContext turnContext)

Cancella la cache di stato per botState.

Questo metodo cancella la cache di stato nel contesto di turno. Chiamare saveChanges(TurnContext turnContext, boolean force) per rendere persistente questa modifica nel livello di archiviazione.

Parametri:

turnContext - Oggetto di contesto per questo turno.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

delete

public CompletableFuture delete(TurnContext turnContext)

Eliminare qualsiasi stato attualmente archiviato nell'ambito dello stato.

Parametri:

turnContext - Oggetto di contesto per questo turno.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

deletePropertyValue

protected CompletableFuture deletePropertyValue(TurnContext turnContext, String propertyName)

Elimina una proprietà dalla cache di stato per botState.

Parametri:

turnContext - Oggetto di contesto per questo turno.
propertyName - Nome della proprietà da eliminare.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

get

public JsonNode get(TurnContext turnContext)

Ottiene una copia dei dati non elaborati memorizzati nella cache per botState dal contesto di turno.

Parametri:

turnContext - Oggetto di contesto per questo turno.

Restituisce:

Rappresentazione JSON dello stato memorizzato nella cache.

getCachedState

public BotState.CachedBotState getCachedState(TurnContext turnContext)

Ottiene l'istanza dello stato del bot memorizzata nella cache che esegue il wrapping dei dati non elaborati memorizzati nella cache per botState dal contesto di turno.

Parametri:

turnContext - Oggetto di contesto per questo turno.

Restituisce:

Istanza dello stato del bot memorizzata nella cache.

getStorageKey

public abstract String getStorageKey(TurnContext turnContext)

Quando sottoposto a override in una classe derivata, ottiene la chiave da usare durante la lettura e la scrittura dello stato da e verso l'archiviazione.

Parametri:

turnContext - Oggetto di contesto per questo turno.

Restituisce:

Chiave di archiviazione.

Genera un'eccezione:

java.lang.IllegalArgumentException - TurnContext non contiene tutti i dati necessari.

load

public CompletableFuture load(TurnContext turnContext)

Popola la cache di stato per botState dal livello di archiviazione.

Parametri:

turnContext - Oggetto di contesto per questo turno.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

load

public CompletableFuture load(TurnContext turnContext, boolean force)

Legge nell'oggetto stato corrente e lo memorizza nella cache nell'oggetto contesto per questo turno.

Parametri:

turnContext - Oggetto di contesto per questo turno.
force - true per sovrascrivere qualsiasi cache di stato esistente; o false per caricare lo stato dall'archiviazione solo se la cache non esiste già.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

saveChanges

public CompletableFuture saveChanges(TurnContext turnContext)

Scrive la cache di stato per botState nel livello di archiviazione.

Parametri:

turnContext - Oggetto di contesto per questo turno.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

saveChanges

public CompletableFuture saveChanges(TurnContext turnContext, boolean force)

Scrive la cache di stato per botState nel livello di archiviazione.

Parametri:

turnContext - Oggetto di contesto per questo turno.
force - true per salvare la cache di stato nell'archiviazione; o false per salvare lo stato nell'archiviazione solo se una proprietà nella cache è stata modificata.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

setPropertyValue

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

Imposta il valore di una proprietà nella cache di stato per botState.

Parametri:

turnContext - Oggetto di contesto per questo turno.
propertyName - Nome della proprietà da impostare.
value - Valore da impostare sulla proprietà .

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

Si applica a