ObjectPath 类

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

public final class ObjectPath

用于处理动态 json 对象的帮助程序方法。

方法摘要

修饰符和类型 方法和描述
static T <T>assign(T startObject, Object overlayObject)

等效于 javascripts 对象路径。Assign,从开始创建一个新对象,对象覆盖覆盖覆盖对象中的任何非 null 值。

static T <T>assign(Object startObject, Object overlayObject, Class<T> type)

等效于 javascripts 对象路径。Assign,从开始创建一个新对象,对象覆盖覆盖覆盖对象中的任何非 null 值。

static T <T>clone(T obj)

克隆对象。

static T <T>getPathValue(Object obj, String path, Class<T> valueType)

获取相对于对象的路径的值。

static T <T>getPathValue(Object obj, String path, Class<T> valueType, T defaultValue)

获取相对于对象的路径的值。

static T <T>mapValueTo(Object val, Class<T> valueType)

将泛型对象转换为类型化对象。

static T <T>merge(Object startObject, Object overlayObject)

等效于 javascripts 对象路径。Assign,从开始创建一个新对象,对象覆盖覆盖覆盖对象中的任何非 null 值。

static T <T>merge(Object startObject, Object overlayObject, Class<T> type)

等效于 javascripts 对象路径。Assign,从开始创建一个新对象,对象覆盖覆盖覆盖对象中的任何非 null 值。

static T <T>tryGetPathValue(Object obj, String path, Class<T> valueType)

获取相对于对象的路径的值。

static com.microsoft.bot.dialogs.Segments <T>tryResolvePath(Object obj, String propertyPath)

给定根对象和属性路径时,如果 eval = true 或常量路径,则解析为常量。

static com.microsoft.bot.dialogs.Segments <T>tryResolvePath(Object obj, String propertyPath, boolean eval)

给定根对象和属性路径时,如果 eval = true 或常量路径,则解析为常量。

static boolean containsProperty(Object obj, String name)

检测对象上是否存在属性。

static void forEachProperty(Object obj, BiConsumer<String,Object> action)

将作应用于对象中的所有属性。

static java.util.Collection<java.lang.String> getProperties(Object obj)

获取对象中的所有属性。

static boolean hasValue(Object obj, String path)

对象是否具有子路径。

static void removePathValue(Object obj, String path)

从对象中删除路径。

static void setPathValue(Object obj, String path, Object value)

给定对象评估用于设置值的路径。

static void setPathValue(Object obj, String path, Object value, boolean json)

给定对象评估用于设置值的路径。

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

方法详细信息

<T>assign

public static T assign(T startObject, Object overlayObject)

等效于 javascripts ObjectPath.Assign,从 startObject 创建一个新对象,覆盖覆盖对象中的任何非 null 值。

参数:

startObject - 任何类型的 overlay 对象。
overlayObject - 任何类型的 overlay 对象。

返回:

merged 对象。

<T>assign

public static T assign(Object startObject, Object overlayObject, Class type)

等效于 javascripts ObjectPath.Assign,从 startObject 创建一个新对象,覆盖覆盖对象中的任何非 null 值。

参数:

startObject - 任何类型的 intial 对象。
overlayObject - 任何类型的 overlay 对象。
type - 键入输出。

返回:

merged 对象。

<T>clone

public static T clone(T obj)

克隆对象。

参数:

obj - 对象。

返回:

对象为 Json。

<T>getPathValue

public static T getPathValue(Object obj, String path, Class valueType)

获取相对于对象的路径的值。

参数:

obj - 要从其开始的对象。
path - 要计算的路径。
valueType - T 的类型

返回:

value 或 default(T)。

<T>getPathValue

public static T getPathValue(Object obj, String path, Class valueType, T defaultValue)

获取相对于对象的路径的值。

参数:

obj - 要从其开始的对象。
path - 要计算的路径。
valueType - T 的类型
defaultValue - 如果缺少路径的任何部分,则使用默认值。

返回:

value 或 default(T)。

<T>mapValueTo

public static T mapValueTo(Object val, Class valueType)

将泛型对象转换为类型化对象。

参数:

val - 要转换的值。
valueType - T 的类型

返回:

转换的值。

<T>merge

public static T merge(Object startObject, Object overlayObject)

等效于 javascripts ObjectPath.Assign,从 startObject 创建一个新对象,覆盖覆盖对象中的任何非 null 值。

参数:

startObject - Intial 对象。
overlayObject - 覆盖对象。

返回:

merged 对象。

<T>merge

public static T merge(Object startObject, Object overlayObject, Class type)

等效于 javascripts ObjectPath.Assign,从 startObject 创建一个新对象,覆盖覆盖对象中的任何非 null 值。

参数:

startObject - Intial 对象。
overlayObject - 覆盖对象。
type - T 的类型

返回:

merged 对象。

<T>tryGetPathValue

public static T tryGetPathValue(Object obj, String path, Class valueType)

获取相对于对象的路径的值。

参数:

obj - 要从其开始的对象。
path - 要计算的路径。
valueType - 路径的值。

返回:

如果成功,则为 true。

<T>tryResolvePath

public static Segments tryResolvePath(Object obj, String propertyPath)

给定根对象和属性路径时,如果 eval = true 或常量路径,则解析为常量。 conversation[user.name][user.age] 到 ['conversation', 'joe', 32]。

参数:

obj - root 对象。
propertyPath - 要解析的属性路径。

返回:

如此 如果它能够解析所有嵌套引用。

<T>tryResolvePath

public static Segments tryResolvePath(Object obj, String propertyPath, boolean eval)

给定根对象和属性路径时,如果 eval = true 或常量路径,则解析为常量。 conversation[user.name][user.age] 到 ['conversation', 'joe', 32]。

参数:

obj - root 对象。
propertyPath - 要解析的属性路径。
eval - 如果为 True,则评估生成的段。

返回:

如此 如果它能够解析所有嵌套引用。

containsProperty

public static boolean containsProperty(Object obj, String name)

检测对象上是否存在属性。

参数:

obj - 对象。
name - 属性的名称。

返回:

如果找到,则为 true。

forEachProperty

public static void forEachProperty(Object obj, BiConsumer action)

将作应用于对象中的所有属性。

参数:

obj - 要映射到的对象。
action - 要执行的作。

getProperties

public static Collection getProperties(Object obj)

获取对象中的所有属性。

参数:

obj - 用于枚举属性名称的对象。

返回:

如果对象上属性名称不是值类型,则为枚举。

hasValue

public static boolean hasValue(Object obj, String path)

对象是否具有子路径。

参数:

obj - 对象。
path - 要计算的路径。

返回:

如果路径存在,则为 true。

removePathValue

public static void removePathValue(Object obj, String path)

从对象中删除路径。

参数:

obj - 要更改的对象。
path - 要删除的路径。

setPathValue

public static void setPathValue(Object obj, String path, Object value)

给定对象评估用于设置值的路径。

参数:

obj - 要从其开始的对象。
path - 要计算的路径。
value - 要存储的值。

setPathValue

public static void setPathValue(Object obj, String path, Object value, boolean json)

给定对象评估用于设置值的路径。

参数:

obj - 要从其开始的对象。
path - 要计算的路径。
value - 要存储的值。
json - 如果为 true,则将该值设置为基元 JSON 对象。

适用于