DialogContainer 类
- java.
lang. Object - com.
microsoft. bot. dialogs. Dialog - com.
microsoft. bot. dialogs. DialogContainer
- com.
- com.
public abstract class DialogContainer
extends Dialog
一组对话框的容器。
构造函数摘要
构造函数 | 说明 |
---|---|
DialogContainer() |
创建具有默认对话框 ID 的新实例。 |
DialogContainer(String dialogId) |
创建具有默认对话框 ID 的新实例。 |
方法摘要
修饰符和类型 | 方法和描述 |
---|---|
protected java.util.concurrent.CompletableFuture<java.lang.Void> |
checkForVersionChange(DialogContext dc)
检查容器子对话自启动当前对话实例以来是否发生了更改。 |
abstract
Dialog |
createChildContext(DialogContext dc)
为容器活动子级创建内部对话上下文。 |
Dialog |
findDialog(String dialogId)
按 ID 搜索对话框的当前对话框 |
Dialog |
getDialogs()
以对话框集的形式返回对话框 |
protected java.lang.String |
getInternalVersion()
返回此容器的内部版本标识符。 |
java.util.concurrent.CompletableFuture<java.lang.Boolean> |
onDialogEvent(DialogContext dc, DialogEvent e)
在引发事件时调用,使用对话框 |
void |
setTelemetryClient(BotTelemetryClient withTelemetryClient)
设置用于日志记录的机器人 |
方法继承自 Dialog
方法继承自 java.lang.Object
构造函数详细信息
DialogContainer
public DialogContainer()
创建具有默认对话框 ID 的新实例。
DialogContainer
public DialogContainer(String dialogId)
创建具有默认对话框 ID 的新实例。
参数:
方法详细信息
checkForVersionChange
protected CompletableFuture
检查容器子对话自启动当前对话实例以来是否发生了更改。 应在“beginDialog () ”、“continueDialog () ”和“resumeDialog () ”的开头调用。
参数:
返回:
createChildContext
public abstract DialogContext createChildContext(DialogContext dc)
为容器活动子级创建内部对话上下文。
参数:
返回:
findDialog
public Dialog findDialog(String dialogId)
按 ID 在当前 DialogSet 中搜索对话框。
参数:
返回:
getDialogs
public DialogSet getDialogs()
以 DialogSet 的形式返回 Dialogs。
返回:
getInternalVersion
protected String getInternalVersion()
返回此容器的内部版本标识符。
DialogContainers 检测容器中所有子组件的更改,并将其映射到 DialogChanged 事件。 由于这样做,DialogContainer 会“隐藏”内部更改,并且只有 .id。这将隔离对容器级别的更改,除非容器不处理它。 若要支持此 DialogContainers,请定义一个受保护的虚拟方法 getInternalVersion () ,该方法计算此对话或子对话是否已更改,然后通过调用 checkForVersionChange () 对其进行检查。
返回:
onDialogEvent
public CompletableFuture
当当前对话或当前对话启动的对话使用'DialogContext.emitEvent () '引发事件时调用。
此替代将跟踪版本更改。
替代:
DialogContainer.onDialogEvent(DialogContext dc, DialogEvent e)参数:
返回:
setTelemetryClient
public void setTelemetryClient(BotTelemetryClient withTelemetryClient)
设置用于日志记录的 BotTelemetryClient。 设置此属性时,还将设置包含的所有对话的 BotTelemetryClient 属性。
替代:
DialogContainer.setTelemetryClient(BotTelemetryClient withTelemetryClient)参数: