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()

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

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)

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

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 类的新实例。

Parameters:

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

DialogContext

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

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

Parameters:

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

方法详细信息

beginDialog

public CompletableFuture beginDialog(String dialogId)

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

Parameters:

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

Returns:

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

beginDialog

public CompletableFuture beginDialog(String dialogId, Object options)

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

Parameters:

dialogId - 要启动的对话框的 ID。
options - (可选)要传递给正在启动的对话的信息。

Returns:

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

cancelAllDialogs

public CompletableFuture cancelAllDialogs()

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

Returns:

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

cancelAllDialogs

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

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

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

Parameters:

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

Returns:

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

continueDialog

public CompletableFuture continueDialog()

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

Returns:

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

emitEvent

public CompletableFuture emitEvent(String name)

Parameters:

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

Returns:

emitEvent

emitEvent

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

Parameters:

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

Returns:

completedFuture

endDialog

public CompletableFuture endDialog()

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

Returns:

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

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) 方法,则它也会自动结束,并将结果传递给其父对话。 如果堆栈上没有更多的父对话,则轮次的处理将结束。

Parameters:

result - 可选,要传递到父上下文的结果。

Returns:

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

findDialog

public Dialog findDialog(String dialogId)

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

Parameters:

dialogId - 要查找的对话框 ID。

Returns:

具有该 ID 的对话框,或 null。

getActiveDialog

public DialogInstance getActiveDialog()

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

Returns:

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

getChild

public DialogContext getChild()

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

Returns:

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

getContext

public TurnContext getContext()

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

Returns:

当前会话轮次的上下文。

getDialogs

public DialogSet getDialogs()

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

Returns:

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

getLocale

public String getLocale()

在 DialogContext 中获取区域设置。

Returns:

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

getParent

public DialogContext getParent()

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

Returns:

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

getServices

public TurnContextStateCollection getServices()

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

Returns:

服务集合。

getStack

public List getStack()

获取当前对话堆栈。

Returns:

当前对话堆栈。

getState

public DialogStateManager getState()

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

Returns:

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

prompt

public CompletableFuture prompt(String dialogId, PromptOptions options)

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

Parameters:

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

Returns:

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

replaceDialog

public CompletableFuture replaceDialog(String dialogId)

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

Parameters:

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

Returns:

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

replaceDialog

public CompletableFuture replaceDialog(String dialogId, Object options)

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

Parameters:

dialogId - 要启动的新对话框的 ID。
options - (可选)要传递给正在启动的对话的信息。

Returns:

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

repromptDialog

public CompletableFuture repromptDialog()

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

Returns:

一个任务,表示排队要执行的工作。

setParent

public void setParent(DialogContext withDialogContext)

设置父 DialogContext。

Parameters:

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

适用于