WaterfallDialog Classe

public class WaterfallDialog
extends Dialog

Finestra di dialogo ottimizzata per la richiesta di un utente con una serie di domande. Le cascate accettano uno stack di funzioni che verranno eseguite in sequenza. Ogni passaggio a cascata può porre una domanda all'utente e la risposta dell'utente verrà passata come argomento al passaggio a cascata successivo.

Riepilogo dei costruttori

Costruttore Descrizione
WaterfallDialog(String dialogId, List<WaterfallStep> actions)

Inizializza una nuova istanza della classe WaterfallDialog.

Riepilogo dei metodi

Modificatore e tipo Metodo e descrizione
WaterfallDialog addStep(WaterfallStep step)

Aggiunge un nuovo passaggio alla cascata.

java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(DialogContext dc, Object options)

Chiamato quando viene avviato il dialogo a cascata e inserito nello stack di dialoghi.

java.util.concurrent.CompletableFuture<DialogTurnResult> continueDialog(DialogContext dc)

Chiamato quando il dialogo a cascata è _continue_, dove è il dialogo attivo e l'utente risponde con una nuova attività.

java.util.concurrent.CompletableFuture<java.lang.Void> endDialog(TurnContext turnContext, DialogInstance instance, DialogReason reason)

Chiamato quando termina il dialogo.

java.lang.String getVersion()

Ottiene un valore String univoco che rappresenta la versione di questa finestra di dialogo.

protected java.util.concurrent.CompletableFuture<DialogTurnResult> onStep(WaterfallStepContext stepContext)

Chiamato quando viene eseguito un singolo passaggio a cascata.

java.util.concurrent.CompletableFuture<DialogTurnResult> resumeDialog(DialogContext dc, DialogReason reason, Object result)

Chiamato quando un dialogo a cascata figlio ha completato il suo turno, restituendo il controllo a questo dialogo.

protected java.util.concurrent.CompletableFuture<DialogTurnResult> runStep(DialogContext dc, int index, DialogReason reason, Object result)

Escute un passaggio del dialogo a cascata.

Metodi ereditati da Dialog

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

WaterfallDialog

public WaterfallDialog(String dialogId, List actions)

Inizializza una nuova istanza della classe WaterfallDialog.

Parametri:

dialogId - ID finestra di dialogo.
actions - Azioni facoltative da definire dal chiamante.

Dettagli metodo

addStep

public WaterfallDialog addStep(WaterfallStep step)

Aggiunge un nuovo passaggio alla cascata.

Parametri:

step - Passaggio da aggiungere.

Restituisce:

Finestra di dialogo a cascata per le chiamate Fluent a AddStep().

beginDialog

public CompletableFuture beginDialog(DialogContext dc, Object options)

Chiamato quando viene avviato il dialogo a cascata e inserito nello stack di dialoghi.

Override:

WaterfallDialog.beginDialog(DialogContext dc, Object options)

Parametri:

dc - Le
options - Informazioni iniziali facoltative da passare alla finestra di dialogo.

Restituisce:

CompletableFuture che rappresenta l'operazione asincrona.
     If the task is successful, the result indicates whether the dialog is
     still active after the turn has been processed by the dialog.

continueDialog

public CompletableFuture continueDialog(DialogContext dc)

Chiamato quando il dialogo a cascata è _continue_, dove è il dialogo attivo e l'utente risponde con una nuova attività.

Override:

WaterfallDialog.continueDialog(DialogContext dc)

Parametri:

dc - Le

Restituisce:

CompletableFuture che rappresenta l'operazione asincrona.
     If the task is successful, the result indicates whether the dialog is
     still active after the turn has been processed by the dialog. The
     result may also contain a return value.

endDialog

public CompletableFuture endDialog(TurnContext turnContext, DialogInstance instance, DialogReason reason)

Chiamato quando termina il dialogo.

Override:

WaterfallDialog.endDialog(TurnContext turnContext, DialogInstance instance, DialogReason reason)

Parametri:

turnContext - Contesto per il turno corrente della conversazione.
instance - Istanza del dialogo corrente.
reason - Motivo per cui la finestra di dialogo sta terminando.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

getVersion

public String getVersion()

Ottiene un valore String univoco che rappresenta la versione di questa finestra di dialogo. Se la versione cambia tra turni il sistema del dialogo genererà un evento DialogChanged.

Override:

WaterfallDialog.getVersion()

Restituisce:

La versione cambierà quando cambia il numero di passaggi (perché la finestra di dialogo non ha modo di valutare il contenuto dei passaggi.

onStep

protected CompletableFuture onStep(WaterfallStepContext stepContext)

Chiamato quando viene eseguito un singolo passaggio a cascata.

Parametri:

stepContext - Contesto per l'esecuzione del passaggio a cascata.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

resumeDialog

public CompletableFuture resumeDialog(DialogContext dc, DialogReason reason, Object result)

Chiamato quando un dialogo a cascata figlio ha completato il suo turno, restituendo il controllo a questo dialogo.

Override:

WaterfallDialog.resumeDialog(DialogContext dc, DialogReason reason, Object result)

Parametri:

dc - Contesto del dialogo per il turno corrente della conversazione.
reason - Motivo per cui il dialogo è stato ripreso.
result - Valore facoltativo restituito dalla finestra di dialogo chiamata. Il tipo del valore restituito dipende dal dialogo figlio.

Restituisce:

Oggetto CompletableFuture che rappresenta l'operazione asincrona.

runStep

protected CompletableFuture runStep(DialogContext dc, int index, DialogReason reason, Object result)

Escute un passaggio del dialogo a cascata.

Parametri:

dc - Il DialogContext per il turno di conversazione corrente.
index - Indice del passaggio a cascata corrente da eseguire.
reason - Motivo per cui viene eseguito il passaggio a cascata.
result - Risultato restituito da un dialogo denominato nel passaggio a cascata precedente.

Restituisce:

Attività che rappresenta il lavoro in coda da eseguire.

Si applica a