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)

在引发事件时调用,使用对话框上下文。发出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 的形式返回 Dialogs。

返回:

Dialogs 的 DialogSet。

getInternalVersion

protected String getInternalVersion()

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

DialogContainers 检测容器中所有子组件的更改,并将其映射到 DialogChanged 事件。 由于这样做,DialogContainer 会“隐藏”内部更改,并且只有 .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。

适用于