DialogStateManager 类

  • java.lang.Object
    • com.microsoft.bot.dialogs.memory.DialogStateManager

实现

java.util.Map<java.lang.Stringjava.lang.Object>

public class DialogStateManager
implements java.util.Map<java.lang.String,java.lang.Object>

DialogStateManager 管理内存范围,pathresolvers MemoryScopes 被命名为根级别 对象,这些对象可以存在于 dialogcontext 中,也可以关闭关闭状态 PathResolvers,从而允许将诸如$foo等内容映射到 dialog.foo 之类的操作的快捷方式行为。

构造函数摘要

构造函数 说明
DialogStateManager(DialogContext dc)

初始化 DialogStateManager 类的新实例。

DialogStateManager(DialogContext dc, DialogStateManagerConfiguration configuration)

初始化 DialogStateManager 类的新实例。

方法摘要

修饰符和类型 方法和描述
T <T>getValue(String pathExpression, T defaultValue, Class<T> clsType)

使用路径表达式从内存中获取值 (注意:这始终返回值) 的克隆。

ResultPair<TypeT> <TypeT>tryGetValue(String path, Class<TypeT> clsType)

使用路径表达式从内存中获取值 (注意:这始终返回值) 的克隆。

void add(String key, Object value)

将元素添加到对话框状态管理器。

void add(AbstractMap.SimpleEntry<String,Object> item)

将项添加到对话框状态管理器。

java.lang.Boolean anyPathChanged(int counter, Iterable<String> paths)

检查水印后是否有任何路径更改。

void clear()

从对话框状态管理器中删除所有项。

java.lang.Boolean contains(AbstractMap.SimpleEntry<String,Object> item)

确定对话状态管理器是否包含特定值。

final boolean containsKey(Object key)
java.lang.Boolean containsKey(String key)

确定对话框状态管理器是否包含具有指定键的元素。

final boolean containsValue(Object value)
void copyTo(AbstractMap.SimpleEntry<String,Object>[] array, int arrayIndex)

将对话状态管理器的元素复制到从特定索引开始的数组中。

java.util.concurrent.CompletableFuture<java.lang.Void> deleteScopesMemory(String name)

删除作用域的内存。

final java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
final java.lang.Object get(Object key)
java.lang.Boolean getBoolValue(String pathExpression, Boolean defaultValue)

使用路径表达式从内存中获取布尔值。

DialogStateManagerConfiguration getConfiguration()

为对话框设置配置的路径解析器和内存范围。

java.lang.Object getElement(String key)

获取具有指定键的元素。

java.lang.Iterable<java.util.AbstractMap.SimpleEntry<java.lang.String,java.lang.Object>> getEnumerator()

返回循环访问集合的迭代器。

int getIntValue(String pathExpression, int defaultValue)

使用路径表达式从内存中获取 int 值。

java.lang.Boolean getIsReadOnly()

获取一个值,该值指示对话状态管理器是否为只读。

MemoryScope getMemoryScope(String name)

按名称获取内存范围。

com.fasterxml.jackson.databind.JsonNode getMemorySnapshot()

获取适合日志记录的所有内存范围。

java.lang.String getStringValue(String pathExpression, String defaultValue)

使用路径表达式从内存中获取字符串值。

final boolean isEmpty()
final java.util.Set<java.lang.String> keySet()
java.util.concurrent.CompletableFuture<java.lang.Void> loadAllScopes()

加载所有范围。

final java.lang.Object put(String key, Object value)
final void putAll(Map<? extends String,? extends Object> m)
final java.lang.Object remove(Object key)
java.lang.Boolean remove(String key)

从对话状态管理器中删除具有指定键的元素。

boolean remove(AbstractMap.SimpleEntry<String,Object> item)

从对话状态管理器中删除特定 Object 的第一个匹配项。

void removeValue(String path)

从内存中删除属性。

MemoryScope resolveMemoryScope(String path, StringBuilder remainingPath)

解析内存范围将找到 的内存范围并返回剩余路径。

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

保存所有作用域的所有更改。

void setConfiguration(DialogStateManagerConfiguration withDialogStateManagerConfiguration)

为对话框设置配置的路径解析器和内存范围。

void setElement(String key, Object element)

设置具有指定键的元素。

void setValue(String path, Object value)

将内存设置为值。

final int size()
java.util.List<java.lang.String> trackPaths(Iterable<String> paths)

跟踪更改特定路径的时间。

java.lang.String transformPath(String path)

使用已注册的路径转换器转换路径

ResultPair<java.lang.Object> tryGetValue(String key, Object value)

获取与指定键关联的值。

final java.util.Collection<java.lang.Object> values()
java.lang.String version()

版本帮助调用方识别更新并决定缓存与否。

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

构造函数详细信息

DialogStateManager

public DialogStateManager(DialogContext dc)

初始化 DialogStateManager 类的新实例。

Parameters:

dc - 当前会话轮次的对话上下文。

DialogStateManager

public DialogStateManager(DialogContext dc, DialogStateManagerConfiguration configuration)

初始化 DialogStateManager 类的新实例。

Parameters:

dc - 当前会话轮次的对话上下文。
configuration - 对话框状态管理器的配置。

方法详细信息

<T>getValue

public T getValue(String pathExpression, T defaultValue, Class clsType)

使用路径表达式从内存中获取值 (注意:这始终返回值) 的克隆。

Parameters:

pathExpression - 要使用的路径表达式。
defaultValue - 如果未找到任何值,则返回的默认值。
clsType - 作为返回请求的值的类型。

Returns:

如果路径无效,则返回结果或默认值。

<TypeT>tryGetValue

public ResultPair tryGetValue(String path, Class clsType)

使用路径表达式从内存中获取值 (注意:这始终返回值) 的克隆。

Parameters:

path - 要使用的路径表达式。
clsType - 作为结果请求的类型

Returns:

ResultPair 与布尔值和请求的类型 TypeT 作为结果

add

public void add(String key, Object value)

将元素添加到对话框状态管理器。

Parameters:

key - 要添加的元素的键。
value - 要添加的元素的值。

add

public void add(AbstractMap.SimpleEntry item)

将项添加到对话框状态管理器。

Parameters:

item - 具有要添加的项的键和 Object 的 SimpleEntry。

anyPathChanged

public Boolean anyPathChanged(int counter, Iterable paths)

检查水印后是否有任何路径更改。

Parameters:

counter - 要比较的时间计数器。
paths - 要检查的 Trackpaths 中的路径。

Returns:

如此 如果自计数器以来的任何路径已更改。

clear

public void clear()

从对话框状态管理器中删除所有项。

contains

public Boolean contains(AbstractMap.SimpleEntry item)

确定对话状态管理器是否包含特定值。

Parameters:

item - 要查找的项的 。

Returns:

如果在对话框状态管理器中找到项,则为 True;否则,false

containsKey

public final boolean containsKey(Object key)

Parameters:

key

containsKey

public Boolean containsKey(String key)

确定对话框状态管理器是否包含具有指定键的元素。

Parameters:

key - 在对话框状态管理器中查找的键。

Returns:

如果对话框状态管理器包含具有 键的元素,则为 true;否则为 false。

containsValue

public final boolean containsValue(Object value)

Parameters:

value

copyTo

public void copyTo(AbstractMap.SimpleEntry[] array, int arrayIndex)

将对话状态管理器的元素复制到从特定索引开始的数组中。

Parameters:

array - 一维数组,它是元素复制对话框状态管理器的目标。 该数组的索引必须从零开始。
arrayIndex - 数组中从零开始的索引,在此处开始复制。

deleteScopesMemory

public CompletableFuture deleteScopesMemory(String name)

删除作用域的内存。

Parameters:

name - 范围的名称

Returns:

CompletedAbleFuture

entrySet

public final Set<>> entrySet()

get

public final Object get(Object key)

Parameters:

key

getBoolValue

public Boolean getBoolValue(String pathExpression, Boolean defaultValue)

使用路径表达式从内存中获取布尔值。

Parameters:

pathExpression - 路径表达式。
defaultValue - 如果值不存在,则为默认值。

Returns:

如果路径无效,则返回值或默认值。

getConfiguration

public DialogStateManagerConfiguration getConfiguration()

为对话框设置配置的路径解析器和内存范围。

Returns:

DialogStateManagerConfiguration。

getElement

public Object getElement(String key)

获取具有指定键的元素。

Parameters:

key - 用于获取或设置元素的键。

Returns:

带有指定键的元素。

getEnumerator

public Iterable<>> getEnumerator()

返回循环访问集合的迭代器。

Returns:

可用于循环访问集合的迭代器。

getIntValue

public int getIntValue(String pathExpression, int defaultValue)

使用路径表达式从内存中获取 int 值。

Parameters:

pathExpression - 路径表达式。
defaultValue - 如果值不存在,则为默认值。

Returns:

如果路径无效,则返回值或默认值。

getIsReadOnly

public Boolean getIsReadOnly()

获取一个值,该值指示对话状态管理器是否为只读。

Returns:

getMemoryScope

public MemoryScope getMemoryScope(String name)

按名称获取 MemoryScope。

Parameters:

name - 范围的名称。

Returns:

内存范围。

getMemorySnapshot

public JsonNode getMemorySnapshot()

获取适合日志记录的所有内存范围。

Returns:

表示所有内存范围的 JsonNode。

getStringValue

public String getStringValue(String pathExpression, String defaultValue)

使用路径表达式从内存中获取字符串值。

Parameters:

pathExpression - 路径表达式。
defaultValue - 如果值不存在,则为默认值。

Returns:

如果 path 无效,则为字符串或默认值。

isEmpty

public final boolean isEmpty()

keySet

public final Set keySet()

loadAllScopes

public CompletableFuture loadAllScopes()

加载所有范围。

Returns:

已完成的未来。

put

public final Object put(String key, Object value)

Parameters:

key
value

putAll

public final void putAll(Map m)

Parameters:

m

remove

public final Object remove(Object key)

Parameters:

key

remove

public Boolean remove(String key)

从对话状态管理器中删除具有指定键的元素。

Parameters:

key - 要移除的元素的键。

Returns:

如果已成功删除元素,则为 true;否则为 false。

remove

public boolean remove(AbstractMap.SimpleEntry item)

从对话状态管理器中删除特定 Object 的第一个匹配项。

Parameters:

item - 要从对话框状态管理器中删除的对象。

Returns:

如果项目已成功从对话状态管理器中删除,则为 true,否则为 false

removeValue

public void removeValue(String path)

从内存中删除属性。

Parameters:

path - 用于删除叶属性的路径。

resolveMemoryScope

public MemoryScope resolveMemoryScope(String path, StringBuilder remainingPath)

ResolveMemoryScope 将查找 的 MemoryScope 并返回剩余路径。

Parameters:

path - 要解析为范围和剩余路径的传入路径。
remainingPath - 范围内的剩余子路径。

Returns:

内存范围。

saveAllChanges

public CompletableFuture saveAllChanges()

保存所有作用域的所有更改。

Returns:

已完成的未来

setConfiguration

public void setConfiguration(DialogStateManagerConfiguration withDialogStateManagerConfiguration)

为对话框设置配置的路径解析器和内存范围。

Parameters:

withDialogStateManagerConfiguration - 要设置的配置。

setElement

public void setElement(String key, Object element)

设置具有指定键的元素。

Parameters:

key - 用于获取或设置元素的键。
element - 要与提供的键一起存储的元素。

setValue

public void setValue(String path, Object value)

将内存设置为值。

Parameters:

path - 内存路径。
value - 要设置的对象。

size

public final int size()

trackPaths

public List trackPaths(Iterable paths)

跟踪更改特定路径的时间。

Parameters:

paths - 要跟踪的路径。

Returns:

要传递给 AnyPathChanged 的规范化路径。

transformPath

public String transformPath(String path)

使用已注册的 PathTransformer 转换路径。

Parameters:

path - 要转换的路径。

Returns:

转换后的路径。

tryGetValue

public ResultPair tryGetValue(String key, Object value)

获取与指定键关联的值。

Parameters:

key - 要获取其值的键。
value - 如果找到该键,则该方法返回与指定键相关联的值;如果未找到该键,则返回值参数类型的默认值。

Returns:

如果对话框状态管理器包含具有指定键的元素,则为 true;

values

public final Collection values()

version

public String version()

版本帮助调用方识别更新并决定缓存与否。

Returns:

当前版本

适用于