DialogContainer 类

public abstract class DialogContainer
extends Dialog

一组对话框的容器。

构造函数摘要

构造函数 说明
DialogContainer()

使用默认对话框 ID 创建新实例。

DialogContainer(String dialogId)

使用默认对话框 ID 创建新实例。

方法摘要

修饰符和类型 方法和描述
protected java.util.concurrent.CompletableFuture<java.lang.Void> checkForVersionChange(DialogContext dc)

检查自当前对话实例启动以来容器子对话是否已更改。

abstract DialogContext createChildContext(DialogContext dc)

为容器活动子级创建内部对话上下文。

Dialog findDialog(String dialogId)

按对话框 ID 搜索当前对话框设置对话。

DialogSet getDialogs()

以对话集的形式返回对话框。

protected java.lang.String getInternalVersion()

返回此容器的内部版本标识符。

java.util.concurrent.CompletableFuture<java.lang.Boolean> onDialogEvent(DialogContext dc, DialogEvent e)

使用“DialogContext”引发事件时调用。通过当前对话或当前对话启动的对话发出Event()”。

void setTelemetryClient(BotTelemetryClient withTelemetryClient)

设置机器人遥测客户端用于日志记录。

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

构造函数详细信息

DialogContainer

public DialogContainer()

使用默认对话框 ID 创建新实例。

DialogContainer

public DialogContainer(String dialogId)

使用默认对话框 ID 创建新实例。

参数:

dialogId - 对话框的 ID。

方法详细信息

checkForVersionChange

protected CompletableFuture checkForVersionChange(DialogContext dc)

检查自当前对话实例启动以来容器子对话是否已更改。 这应在“beginDialog()”、“continueDialog()”和“resumeDialog()”的开头调用。

参数:

dc - 对话框上下文

返回:

CompletableFuture

createChildContext

public abstract DialogContext createChildContext(DialogContext dc)

为容器活动子级创建内部对话上下文。

参数:

dc - 父对话上下文。

返回:

活动子级的新对话上下文。

findDialog

public Dialog findDialog(String dialogId)

按其 ID 在当前 DialogSet 中搜索对话框。

参数:

dialogId - 要搜索的对话框的 ID。

返回:

如果找到,则为对话框;否则为 null

getDialogs

public DialogSet getDialogs()

以 DialogSet 的形式返回对话框。

返回:

对话框的 DialogSet。

getInternalVersion

protected String getInternalVersion()

返回此容器的内部版本标识符。

DialogContainers 检测容器中所有子组件的更改,并将其映射到 DialogChanged 事件。 由于这样做,DialogContainers 会“隐藏”内部更改,并且只具有 .id。这会将更改隔离到容器级别,除非容器未处理。 为了支持此 DialogContainers 定义受保护的虚拟方法 getInternalVersion(),该方法计算此对话或子对话是否已更改,然后通过调用 checkForVersionChange(进行检查)。

返回:

表示此容器内部更改的版本。

onDialogEvent

public CompletableFuture onDialogEvent(DialogContext dc, DialogEvent e)

使用“DialogContext.emitEvent()”通过当前对话或当前对话启动的对话引发事件时调用。

此替代将跟踪版本更改。

替代:

DialogContainer.onDialogEvent(DialogContext dc, DialogEvent e)

参数:

dc - 当前对话轮次的对话上下文。
e - 正在引发的事件。

返回:

如此 如果事件由当前对话框处理,并且冒泡应停止。

setTelemetryClient

public void setTelemetryClient(BotTelemetryClient withTelemetryClient)

设置用于日志记录的 BotTelemetryClient。 设置此属性时,还会设置所有包含对话框的 BotTelemetryClient 属性。

替代:

DialogContainer.setTelemetryClient(BotTelemetryClient withTelemetryClient)

参数:

withTelemetryClient - 用于日志记录的 BotTelemetryClient。

适用于