WaterfallDialog 类

public class WaterfallDialog
extends Dialog

对话经过优化,可提示用户出现一系列问题。 瀑布图接受将按顺序执行的函数堆栈。 每个瀑布步骤都可以询问用户的问题,用户的响应将作为参数传递给下一个瀑布步骤。

构造函数摘要

构造函数 说明
WaterfallDialog(String dialogId, List<WaterfallStep> actions)

初始化 WaterfallDialog 类的新实例。

方法摘要

修饰符和类型 方法和描述
WaterfallDialog addStep(WaterfallStep step)

向瀑布图添加新步骤。

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

当瀑布对话启动并推送到对话堆栈时调用。

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

当瀑布对话为 _continued_时调用,其中它是活动对话,用户使用新活动进行答复。

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

在对话结束时调用。

java.lang.String getVersion()

获取表示此对话框版本的唯一字符串。

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

在执行单个瀑布步骤时调用。

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

当子瀑布对话完成其轮次时调用,将控件返回到此对话。

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

执行瀑布对话的一个步骤。

方法继承自 Dialog

方法继承自 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

构造函数详细信息

WaterfallDialog

public WaterfallDialog(String dialogId, List actions)

初始化 WaterfallDialog 类的新实例。

Parameters:

dialogId - 对话框 ID。
actions - 由调用方定义的可选操作。

方法详细信息

addStep

public WaterfallDialog addStep(WaterfallStep step)

向瀑布图添加新步骤。

Parameters:

step - 要添加的步骤。

Returns:

用于对 的流畅调用的 AddStep()瀑布对话。

beginDialog

public CompletableFuture beginDialog(DialogContext dc, Object options)

当瀑布对话启动并推送到对话堆栈时调用。

Overrides:

WaterfallDialog.beginDialog(DialogContext dc, Object options)

Parameters:

dc - The
options - 可选,要传递给对话框的初始信息。

Returns:

表示异步操作的 CompletableFuture。
     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)

当瀑布对话为 _continued_时调用,其中它是活动对话,用户使用新活动进行答复。

Overrides:

WaterfallDialog.continueDialog(DialogContext dc)

Parameters:

dc - The

Returns:

表示异步操作的 CompletableFuture。
     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)

在对话结束时调用。

Overrides:

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

Parameters:

turnContext - 当前会话轮次的上下文。
instance - 当前对话框的实例。
reason - 对话框结束的原因。

Returns:

表示排队等待执行的工作的任务。

getVersion

public String getVersion()

获取表示此对话框版本的唯一字符串。 如果版本在轮次之间更改,对话系统将发出 DialogChanged 事件。

Overrides:

WaterfallDialog.getVersion()

Returns:

当步骤计数 (更改时,版本将更改,因为对话框无法评估步骤的内容。

onStep

protected CompletableFuture onStep(WaterfallStepContext stepContext)

在执行单个瀑布步骤时调用。

Parameters:

stepContext - 要执行的瀑布步骤的上下文。

Returns:

表示排队等待执行的工作的任务。

resumeDialog

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

当子瀑布对话完成其轮次时调用,将控件返回到此对话。

Overrides:

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

Parameters:

dc - 当前会话轮次的对话上下文。
reason - 恢复对话的原因。
result - 可选,从调用的对话返回的值。 返回的值的类型取决于子对话。

Returns:

表示异步操作的 CompletableFuture

runStep

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

执行瀑布对话的一个步骤。

Parameters:

dc - DialogContext当前轮次会话的 。
index - 要执行的当前瀑布步骤的索引。
reason - 执行瀑布步骤的原因。
result - 上一瀑布步骤中调用的对话返回的结果。

Returns:

表示排队等待执行的工作的任务。

适用于