ObjectPath 類別

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

public final class ObjectPath

使用動態 json 對象的協助程式方法。

方法摘要

修飾詞與類型 方法與描述
static T <T>assign(T startObject, Object overlayObject)

相當於 javascripts 物件路徑。Assign,從開始建立新的 ObjectObject 重疊任何非 Null 值。

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

相當於 javascripts 物件路徑。Assign,從開始建立新的 ObjectObject 重疊任何非 Null 值。

static T <T>clone(T obj)

複製物件。

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

取得相對於 Object 的路徑值。

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

取得相對於 Object 的路徑值。

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

將泛型物件轉換成具類型的物件。

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

相當於 javascripts 物件路徑。Assign,從開始建立新的 ObjectObject 重疊任何非 Null 值。

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

相當於 javascripts 物件路徑。Assign,從開始建立新的 ObjectObject 重疊任何非 Null 值。

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

取得相對於 Object 的路徑值。

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)

將動作套用至 Object 中的所有屬性。

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

取得 Object 中的所有屬性。

static boolean hasValue(Object obj, String path)

物件是否有子路徑。

static void removePathValue(Object obj, String path)

從 Object 移除路徑。

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

指定 Object 會評估要設定值的路徑。

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

指定 Object 會評估要設定值的路徑。

方法繼承來源 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 建立新的 Object,從重疊物件重疊任何非 Null 值。

參數:

startObject - overlay 物件,任何類型。
overlayObject - overlay 物件,任何類型。

傳回:

merged 物件。

<T>assign

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

相當於 javascripts ObjectPath.Assign,從 startObject 建立新的 Object,從重疊物件重疊任何非 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)

取得相對於 Object 的路徑值。

參數:

obj - 要以 開頭的物件。
path - 要評估的路徑。
valueType - T 的類型

傳回:

value 或 default(T)。

<T>getPathValue

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

取得相對於 Object 的路徑值。

參數:

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 建立新的 Object,從重疊物件重疊任何非 Null 值。

參數:

startObject - Intial 物件。
overlayObject - Overlay 物件。

傳回:

merged 物件。

<T>merge

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

相當於 javascripts ObjectPath.Assign,從 startObject 建立新的 Object,從重疊物件重疊任何非 Null 值。

參數:

startObject - Intial 物件。
overlayObject - Overlay 物件。
type - T 的類型

傳回:

merged 物件。

<T>tryGetPathValue

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

取得相對於 Object 的路徑值。

參數:

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 - 要解析的屬性路徑。

傳回:

如果能夠解析所有巢狀參考,則為 True。

<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 是表示 評估產生的區段。

傳回:

如果能夠解析所有巢狀參考,則為 True。

containsProperty

public static boolean containsProperty(Object obj, String name)

偵測物件上是否存在屬性。

參數:

obj - 物件。
name - 屬性的名稱。

傳回:

如果找到,則為 true。

forEachProperty

public static void forEachProperty(Object obj, BiConsumer action)

將動作套用至 Object 中的所有屬性。

參數:

obj - 要對應的物件。
action - 要採取的動作。

getProperties

public static Collection getProperties(Object obj)

取得 Object 中的所有屬性。

參數:

obj - 要列舉屬性名稱的物件。

傳回:

如果對象上屬性名稱不是實值型別,則為列舉。

hasValue

public static boolean hasValue(Object obj, String path)

物件是否有子路徑。

參數:

obj - 物件。
path - 要評估的路徑。

傳回:

如果路徑存在,則為 true。

removePathValue

public static void removePathValue(Object obj, String path)

從 Object 移除路徑。

參數:

obj - 要變更的物件。
path - 要移除的路徑。

setPathValue

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

指定 Object 會評估要設定值的路徑。

參數:

obj - 要以 開頭的物件。
path - 要評估的路徑。
value - 要儲存的值。

setPathValue

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

指定 Object 會評估要設定值的路徑。

參數:

obj - 要以 開頭的物件。
path - 要評估的路徑。
value - 要儲存的值。
json - 如果為 true,請將值設定為基本 JSON 物件。

適用於