DialogContext 类

  • java.lang.Object
    • com.microsoft.bot.dialogs.DialogContext

public class DialogContext

提供对话堆栈的当前状态的上下文。

构造函数摘要

构造函数 说明
DialogContext(DialogSet withDialogs, TurnContext withTurnContext, DialogState withState)

从轮次上下文初始化 DialogContext 类的新实例。

DialogContext(DialogSet withDialogs, DialogContext withParentDialogContext, DialogState withState)

从轮次上下文初始化 DialogContext 类的新实例。

方法摘要

修饰符和类型 方法和描述
java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(String dialogId)

启动一个新对话并将其推送到对话堆栈。

java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(String dialogId, Object options)

启动一个新对话并将其推送到对话堆栈。

java.util.concurrent.CompletableFuture<DialogTurnResult> cancelAllDialogs()

不取消父对话或传递和事件的 cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue) 的帮助程序方法。

java.util.concurrent.CompletableFuture<DialogTurnResult> cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue)

删除任何现有对话堆栈,从而取消堆栈上的所有对话。

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

通过将当前对话上下文传递到活动对话的 continueDialog(DialogContext dc) 方法,继续执行活动对话(如果有)。

java.util.concurrent.CompletableFuture<java.lang.Boolean> emitEvent(String name)
java.util.concurrent.CompletableFuture<java.lang.Boolean> emitEvent(String name, Object value, boolean bubble, boolean fromLeaf)
java.util.concurrent.CompletableFuture<DialogTurnResult> endDialog()

endDialog(Object result)提供 null 结果的帮助程序方法。

java.util.concurrent.CompletableFuture<DialogTurnResult> endDialog(Object result)

通过从堆栈中弹出对话来结束对话,并将可选结果返回给对话框的父级。

Dialog findDialog(String dialogId)

查找给定上下文的对话框 ID。

DialogInstance getActiveDialog()

获取堆栈顶部活动对话框的缓存实例;如果堆栈为空,则获取 null。

DialogContext getChild()

获取子级的对话上下文(如果有活动子级)。

TurnContext getContext()

获取当前会话轮次的上下文。

DialogSet getDialogs()

获取当前对话容器处于活动状态的对话框集。

java.lang.String getLocale()

在对话框上下文中获取区域设置。

DialogContext getParent()

获取父对话上下文(如果有)。

TurnContextStateCollection getServices()

获取此对话上下文的上下文的服务集合。

java.util.List<DialogInstance> getStack()

获取当前对话框堆栈。

DialogStateManager getState()

获取或设置管理所有内存范围视图的对话框状态管理器。

java.util.concurrent.CompletableFuture<DialogTurnResult> prompt(String dialogId, PromptOptions options)

帮助程序函数,用于简化用于调用提示对话框的选项的格式设置。

java.util.concurrent.CompletableFuture<DialogTurnResult> replaceDialog(String dialogId)

用于传递选项 null 的 replaceDialog(String dialogId, Object options) 的帮助程序方法。

java.util.concurrent.CompletableFuture<DialogTurnResult> replaceDialog(String dialogId, Object options)

启动一个新对话框,并将当前活动对话替换为新对话的堆栈。

java.util.concurrent.CompletableFuture<java.lang.Void> repromptDialog()

调用当前活动对话框的 repromptDialog(TurnContext turnContext, DialogInstance instance) 方法。

void setParent(DialogContext withDialogContext)

设置父对话上下文。

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

构造函数详细信息

DialogContext

public DialogContext(DialogSet withDialogs, TurnContext withTurnContext, DialogState withState)

从轮次上下文初始化 DialogContext 类的新实例。

参数:

withDialogs - 要为其创建对话上下文的对话框集。
withTurnContext - 当前轮次上下文。
withState - 要从中检索对话上下文的状态属性。

DialogContext

public DialogContext(DialogSet withDialogs, DialogContext withParentDialogContext, DialogState withState)

从轮次上下文初始化 DialogContext 类的新实例。

参数:

withDialogs - 要为其创建对话上下文的对话框集。
withParentDialogContext - 父对话上下文。
withState - 当前对话框状态。

方法详细信息

beginDialog

public CompletableFuture beginDialog(String dialogId)

启动一个新对话并将其推送到对话堆栈。

参数:

dialogId - 要启动的对话框的 ID。

返回:

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。

beginDialog

public CompletableFuture beginDialog(String dialogId, Object options)

启动一个新对话并将其推送到对话堆栈。

参数:

dialogId - 要启动的对话框的 ID。
options - 可选,用于传递到正在启动的对话的信息。

返回:

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。

cancelAllDialogs

public CompletableFuture cancelAllDialogs()

不取消父对话或传递和事件的 cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue) 的帮助程序方法。

返回:

如果任务成功,则结果指示对话框在轮次处理后已取消对话,或者堆栈已为空。

cancelAllDialogs

public CompletableFuture cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue)

删除任何现有对话堆栈,从而取消堆栈上的所有对话。

通常,父上下文是启动对话框的对话框或机器人轮次处理程序。 如果父级是对话,堆栈将调用父级的 resumeDialog(DialogContext dc, DialogReason reason, Object result) 方法,以将结果返回到父对话。 如果父对话未实现 Dialog#resumeDialog,则父对话也将结束,结果将传递给下一个父上下文。

参数:

cancelParents - 如果为 true,取消也会通过任何父对话弹出。
eventName - 事件。 如果为 null,则使用 CANCEL_DIALOG
eventValue - 事件值。 可以为 null。

返回:

如果任务成功,则结果指示对话框在轮次处理后已取消对话,或者堆栈已为空。

continueDialog

public CompletableFuture continueDialog()

通过将当前 DialogContext 传递给活动对话框的 continueDialog(DialogContext dc) 方法,继续执行活动对话(如果有)。

返回:

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。

emitEvent

public CompletableFuture emitEvent(String name)

参数:

name - 要引发的事件的名称。

返回:

emitEvent

emitEvent

public CompletableFuture emitEvent(String name, Object value, boolean bubble, boolean fromLeaf)

参数:

name - 要引发的事件的名称。
value - 要随事件一起发送的值。
bubble - 用于控制事件是否应在本地处理时向其父级气泡的标志。 默认值为 true
fromLeaf - 是否从叶节点发出该事件。

返回:

completedFuture

endDialog

public CompletableFuture endDialog()

endDialog(Object result)提供 null 结果的帮助程序方法。

返回:

如果任务成功,则结果指示对话在轮次处理后结束。

endDialog

public CompletableFuture endDialog(Object result)

通过从堆栈中弹出对话来结束对话,并将可选结果返回给对话框的父级。 父对话是启动的对话框,通过调用 beginDialog(String dialogId, Object options)prompt(String dialogId, PromptOptions options)结束。 父对话将使用任何返回的结果调用其 resumeDialog(DialogContext dc, DialogReason reason, Object result) 方法。 如果父对话尚未实现 resumeDialog(DialogContext dc, DialogReason reason) 方法,则它也会自动结束,并将结果传递给其父级。 如果堆栈上没有更多父对话,则轮次处理将结束。

参数:

result - 可选,用于传递给父上下文的结果。

返回:

如果任务成功,则结果指示对话在轮次处理后结束。

findDialog

public Dialog findDialog(String dialogId)

查找给定上下文的对话框 ID。

参数:

dialogId - 要查找的对话框 ID。

返回:

具有该 ID 或 null 的对话框。

getActiveDialog

public DialogInstance getActiveDialog()

获取堆栈顶部活动对话框的缓存实例;如果堆栈为空,则获取 null。

返回:

堆栈顶部活动对话框的缓存实例;如果堆栈为空,则为 null。

getChild

public DialogContext getChild()

获取子级的对话上下文(如果有活动子级)。

返回:

如果存在活动子级,则子级的对话上下文。

getContext

public TurnContext getContext()

获取当前会话轮次的上下文。

返回:

当前会话轮次的上下文。

getDialogs

public DialogSet getDialogs()

获取当前对话容器处于活动状态的对话框集。

返回:

当前对话容器处于活动状态的对话框集。

getLocale

public String getLocale()

在 DialogContext 中获取区域设置。

返回:

表示当前区域设置的字符串。

getParent

public DialogContext getParent()

获取父 DialogContext(如果有)。 搜索要启动的对话的 ID 时使用。

返回:

父“DialogContext”(如果有)。 搜索要启动的对话的 ID 时使用。

getServices

public TurnContextStateCollection getServices()

获取此对话上下文的上下文的服务集合。

返回:

服务集合。

getStack

public List getStack()

获取当前对话框堆栈。

返回:

当前对话框堆栈。

getState

public DialogStateManager getState()

获取或设置 DialogStateManager,它管理所有内存范围的视图。

返回:

具有所有内存范围的统一内存视图的 DialogStateManager。

prompt

public CompletableFuture prompt(String dialogId, PromptOptions options)

帮助程序函数,用于简化用于调用提示对话框的选项的格式设置。 此帮助程序将采用 PromptOptions 参数,然后调用 beginDialog(String dialogId, Object options)

参数:

dialogId - 要启动的提示对话框的 ID。
options - 要传递给正在启动的提示对话框的信息。

返回:

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。

replaceDialog

public CompletableFuture replaceDialog(String dialogId)

用于传递选项 null 的 replaceDialog(String dialogId, Object options) 的帮助程序方法。

参数:

dialogId - 要启动的新对话框的 ID。

返回:

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。

replaceDialog

public CompletableFuture replaceDialog(String dialogId, Object options)

启动一个新对话框,并将当前活动对话替换为新对话的堆栈。 这对于创建循环或重定向到另一个对话特别有用。

参数:

dialogId - 要启动的新对话框的 ID。
options - 可选,用于传递到正在启动的对话的信息。

返回:

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。

repromptDialog

public CompletableFuture repromptDialog()

调用当前活动对话框的 repromptDialog(TurnContext turnContext, DialogInstance instance) 方法。 与实现重新提示行为的对话框一起使用。

返回:

表示要执行的工作的任务。

setParent

public void setParent(DialogContext withDialogContext)

设置父 DialogContext。

参数:

withDialogContext - 要将父级设置为的 DialogContext。

适用于