GlideDynamicAttributeStore - グローバル
GlideDynamicAttributeStore API を使用して、テーブルまたはフィールドとは無関係に動的属性を操作するためのオブジェクトを作成します。
この API は、GlideDynamicAttributeStore オブジェクトで動的スキーマ属性を取得および設定できるようにするメソッドを提供します。動的属性の詳細については、「 動的スキーマ」を参照してください。
この API を使用して動的属性を作成するには、dynamic_schema_writer ロールが必要です。この API を使用して動的データを読み取るには、dynamic_schema_reader ロールが必要です。
この API には、 GlideRecord API の動的スキーマメソッドと同じ機能を持つメソッドがあります。複数のレコードに同じ動的属性を設定する場合は、この API を使用します。この API を使用すると、目的の属性を持つ GlideDynamicAttributeStore オブジェクトをステージングし、 setDynamicAttributeValue() または setDynamicAttributeValues() メソッドを使用してそのオブジェクトをレコードにコピーできます。
- addAggregate()
- addHaving()
- getDynamicAttributeValue()
- getDynamicAttributeDisplayValue()
- getValue()
- groupBy()
- orderBy()
- orderByAggregate()
- addQuery()
- getDisplayValue()
- getDynamicAttribute()
- getDynamicAttributeDisplayValue()
- getDynamicAttributeValue()
- getValue()
- orderBy()
- orderByDesc()
- setDisplayValue()
- setDynamicAttributeDisplayValue()
- setDynamicAttributeValue()
- setDynamicAttributeValues()
- setValue()
GlideDynamicAttributeStore - clear()
GlideDynamicAttributeStore オブジェクトからすべての属性とその値をクリアします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Toyota");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",true);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg",24.5234);
das.setDynamicAttributeValue("total_miles",5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.clear();
gs.info('das: ' + das.getDisplayValue());
出力:
*** Script: das: {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:29:52",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
*** Script: das: null
GlideDynamicAttributeStore - getDisplayValue()
現在の GlideDynamicAttributeStore オブジェクトに格納されている値の JSON マップ表現を返します。
- ブール値は 1 と 0 ではなく「true」と「false」です。
- UTC ではなくユーザーのロケールの日付/時刻値。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | GlideDynamicAttributeStore オブジェクトに格納されている値の、人間が判読可能な JSON マップ。この文字列の内容は、動的スキーマ定義によって異なります。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Honda");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('Value returned by getValue(): ' + das.getValue());
gs.info('Value returned by getDisplayValue(): ' + das.getDisplayValue());
出力:
*** Script: Value returned by getValue(): {"total_miles":5324,"color":"blue","model":"CRV","cost":12000.5,"luxury":1,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 15:33:23"}
*** Script: Value returned by getDisplayValue(): {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324"
}
GlideDynamicAttributeStore - getDynamicAttribute(String attributePath)
指定された動的属性パスにある動的属性オブジェクトを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| attributePath | 文字列 | 関連する動的スキーマ属性を見つけるために使用する属性パス。 形式:「
テーブル:動的属性 [dynamic_attribute] テーブルの属性フィールドにあります。 |
| タイプ | 説明 |
|---|---|
| IDynamicAttribute | 動的属性を含むオブジェクト。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
//Gets all the values of the make attribute from the u_inc_dynamic_schema dynamic attribute store column on the incident table
var gr_Inc = new GlideRecord('incident');
gr_Inc.query();
while(gr_Inc.next()) {
var attr = gr.getDynamicAttribute('inc_dynamic_schema->make');
gs.info(attr.getValue());
}
//You can also use if(gr_Inc.next()) if you don't want all the values
var gr_Inc = new GlideRecord('incident');
gr_Inc.query();
if(gr_Inc.next()) {
var attr = gr_Inc.getDynamicAttribute('inc_dynamic_schema->make');
gs.info(attr.getValue());
}GlideDynamicAttributeStore - getDynamicAttributes()
ストアに存在する動的属性定義のセットを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| アレイ | ストアに存在するすべての一時的および非一時的な動的属性を含むアレイ。
|
次の例は、一時的および非一時的な動的属性を取得する方法を示しています。
var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
used_car.setDynamicAttributeValue('mfg_year', 2014); // transient (adding here)
used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
var attributes = used_car.getDynamicAttributes();
gs.info(attributes);
for (var i = 0; i < attributes.length; i++) {
var attr = attributes[i];
gs.info("");
gs.info("[" + i + "].getPath() = " + attr.getPath());
gs.info("[" + i + "].getName() = " + attr.getName());
gs.info("[" + i + "].getNamespaceName() = " + attr.getNamespaceName());
gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
出力:
*** Script: mfg_year,u_total_miles
*** Script:
*** Script: [0].getPath() = mfg_year
*** Script: [0].getName() = mfg_year
*** Script: [0].getNamespaceName() = u_product/u_car_inventory
*** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
*** Script: [0].isTransient() = true
*** Script: [0].getType() = string
*** Script:
*** Script: [1].getPath() = u_total_miles
*** Script: [1].getName() = u_total_miles
*** Script: [1].getNamespaceName() = u_product/u_car_inventory
*** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
*** Script: [1].isTransient() = false
*** Script: [1].getType() = integer
GlideDynamicAttributeStore - getDynamicAttributeValue(文字列 attrPath)
動的属性ストア要素内の指定された属性の値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 属性パス | 文字列 | 関連する動的スキーマ属性を見つけるために使用する属性パス。 形式:「
テーブル:動的属性 [dynamic_attribute] テーブルの属性フィールドにあります。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 渡されたグループ/属性パスによって参照される動的スキーマ属性の値。 attributePathパラメーターに無効な情報が含まれている場合は、null を返します。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Toyota");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",true);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased", new GlideDateTime());
gs.info('Value returned by getDynamicAttributeValue(): ' + das.getDynamicAttributeValue("color"));
gs.info('Value returned by getDynamicAttributeValue(): ' + das.getDynamicAttributeValue("luxury"));
出力:
*** Script: Value returned by getDynamicAttributeValue(): blue
*** Script: Value returned by getDynamicAttributeValue(): 1
GlideDynamicAttributeStore - getDynamicNamespace()
動的名前空間を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | Namespace オブジェクト。 |
次の例は、動的名前空間を使用してストアを作成し、名前空間の名前を取得する方法を示しています。
gs.info("car_inventory = new GlideDynamicAttributeStore('u_product/u_car_inventory')");
var car_inventory = new GlideDynamicAttributeStore("u_product/u_car_inventory");
gs.info("car_inventory.getDynamicNamespace() : " + car_inventory.getDynamicNamespace());
var ns1 = car_inventory.getDynamicNamespace();
出力:
*** Script: new_cars = new GlideDynamicAttributeStore('u_product/u_car_inventory')
*** Script: new_cars.getDynamicNamespace() : u_product/u_car_inventory
GlideDynamicAttributeStore - getValue()
現在の GlideDynamicAttributeStore オブジェクトのコンテンツのコンパクトな文字列表現を返します。
- 「true」と「false」の代わりに 1 と 0 のブール値。
- ユーザーのロケールではなく UTC の日付/時刻値。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | GlideDynamicAttributeStore オブジェクトに格納されている値のコンパクトな文字列表現。この文字列の内容は、動的スキーマ定義によって異なります。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Honda");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('Value returned by getValue(): ' + das.getValue());
gs.info('Value returned by getDisplayValue(): ' + das.getDisplayValue());
出力:
*** Script: Value returned by getValue(): {"total_miles":5324,"color":"blue","model":"CRV","cost":12000.5,"luxury":1,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 15:33:23"}
*** Script: Value returned by getDisplayValue(): {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324"
}
GlideDynamicAttributeStore - setDisplayValue(オブジェクト値)
現在の GlideDynamicAttributeStore オブジェクトをクリアし、渡された JSON マップを GlideDynamicAttributeStore オブジェクトに保存します。
このメソッドは、すべての日付値がユーザーのロケールで指定されていることを前提とすることを除いて、機能上は GlideDynamicAttributeStore - setValue(オブジェクト値) と同じです。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | オブジェクト | 現在の動的属性ストアオブジェクトに設定する値。 渡される値は、次のいずれかのデータタイプである必要があります。
|
| タイプ | 説明 |
|---|---|
| なし |
次の例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Honda");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.setDisplayValue('{"luxury":false}');
gs.info('das: ' + das.getDisplayValue());
出力:
*** Script: das: {
"avg_mpg" : "24.5",
"color" : "blue",
"cost" : "12000.0",
"date_purchased" : "2024-04-19 14:16:49",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324.0"
}
*** Script: das: {
"luxury" : "false"
}
GlideDynamicAttributeStore - setDynamicAttributeDisplayValue(String attrPath, Object value)
動的属性ストア要素内の指定されたパスに配置されている動的属性の値を設定します。
このメソッドは、ブール値と日付/時刻値の処理を除いて、 GlideDynamicAttributeStore - setDynamicAttributeValue(String attrPath, Object value) メソッドと同じように機能します。このメソッドは、すべての日付/時刻値がユーザーのロケールで指定されていることを前提としています。
| 名前 | タイプ | 説明 |
|---|---|---|
| 属性パス | 文字列 | 関連する動的スキーマ属性を見つけるために使用する属性パス。 形式:「
テーブル:動的属性 [dynamic_attribute] テーブルの属性フィールドにあります。 |
| value | オブジェクト | 指定された属性に設定する値。 注: 動的属性の場合、次のデータタイプのみがサポートされています。
|
| タイプ | 説明 |
|---|---|
| オブジェクト | GlideDynamicAttributeStore オブジェクトを更新しました。 attrPath パラメーターが有効でない場合、メソッドは IllegalArgumentException をスローします。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeDisplayValue("color","blue");
das.setDynamicAttributeDisplayValue("make","Honda");
das.setDynamicAttributeDisplayValue("model","CRV");
das.setDynamicAttributeDisplayValue("luxury","false");
das.setDynamicAttributeDisplayValue("cost",12000.5);
das.setDynamicAttributeDisplayValue("avg_mpg", 24.5234);
das.setDynamicAttributeDisplayValue("total_miles", 5324);
das.setDynamicAttributeDisplayValue("date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.setDisplayValue('{"luxury":"false"}');
gs.info('das: ' + das.getDisplayValue());
出力:
*** Script: das: {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 10:40:45",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324"
}
*** Script: das: {
"luxury" : "false"
}
GlideDynamicAttributeStore - setDynamicAttributeValue(String attrPath, Object value)
指定された属性パスによって参照される動的属性を指定された値に設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 属性パス | 文字列 | 関連する動的スキーマ属性を見つけるために使用する属性パス。 形式:「
テーブル:動的属性 [dynamic_attribute] テーブルの属性フィールドにあります。 |
| value | オブジェクト | 指定された属性に設定する値。 注: 動的属性の場合、次のデータタイプのみがサポートされています。
|
| タイプ | 説明 |
|---|---|
| オブジェクト | GlideDynamicAttributeStore オブジェクトを更新しました。 attrPath パラメーターが有効でない場合、メソッドは IllegalArgumentException をスローします。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Honda");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('Value returned by getValue(): ' + das.getValue());
gs.info('Value returned by getDisplayValue(): ' + das.getDisplayValue());
出力:
*** Script: Value returned by getValue(): {"total_miles":5324,"color":"blue","model":"CRV","cost":12000.5,"luxury":1,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 15:33:23"}
*** Script: Value returned by getDisplayValue(): {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324"
}
GlideDynamicAttributeStore - setDynamicAttributeValues(オブジェクト値)
フィールドの内部 JSON ストレージを、渡された値の文字列表現に設定します。渡された値が GlideDynamicAttributeStore オブジェクトの別のインスタンスである場合は、そのオブジェクトから現在のオブジェクトに値がコピーされます。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | オブジェクト | 関連する GlideRecord に値として保存する JSON オブジェクト。このメソッドは、無効な JSON 値を無視します。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | GlideDynamicAttributeStore オブジェクトを更新しました。 |
次の例は、属性と値のペアを GlideDynamicAttributeStore オブジェクトに格納し、同じ値を 1 つのオブジェクトから別のオブジェクトにコピーする方法を示しています。
var das = new GlideDynamicAttributeStore();
var otherValues = new GlideDynamicAttributeStore();
otherValues.setDynamicAttributeValue("position_x", 5);
otherValues.setDynamicAttributeValue("position_y", 6);
das.setDynamicAttributeValues(otherValues);
gs.info(das);
出力:
{"position_x":"5.0","position_y":"6.0"}
GlideDynamicAttributeStore - setDynamicNamespace(文字列 namespaceName)
動的名前空間名を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| namespaceName | 文字列 | 動的名前空間名。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | GlideDynamicAttributeStore オブジェクトを更新しました。 |
次の例は、デフォルトの名前空間の名前を namespace1 に設定する方法を示しています。
gs.info("store1 = new GlideDynamicAttributeStore()");
var store1 = new GlideDynamicAttributeStore();
gs.info("store1.getDynamicNamespace() : " + store1.getDynamicNamespace());
gs.info("store1.setDynamicNamespace('namespace1')");
store1.setDynamicNamespace('namespace1');
gs.info("store1.getDynamicNamespace() : " + store1.getDynamicNamespace());
出力:
*** Script: store1 = new GlideDynamicAttributeStore()
*** Script: store1.getDynamicNamespace() : default
*** Script: store1.setDynamicNamespace('namespace1')
*** Script: store1.getDynamicNamespace() : namespace1
GlideDynamicAttributeStore - setValue(オブジェクト値)
現在の GlideDynamicAttributeStore オブジェクトをクリアし、渡された JSON マップをその GlideDynamicAttributeStore オブジェクトに保存します。
このメソッドは、すべての日付値が UTC であることを前提とする点を除いて、機能上は GlideDynamicAttributeStore - setDisplayValue(オブジェクト値) と同じです。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | オブジェクト | GlideDynamicAttributeStore オブジェクトに格納する JSON マップオブジェクト。 例:「 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Toyota");
das.setDynamicAttributeValue("model","Rav4");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased", new GlideDateTime());
gs.info('das: ' + das.getValue());
das.setValue('{"luxury":false}');
gs.info('das: ' + das.getValue());
出力:
*** Script: das: {"total_miles":5324,"color":"blue","model":"Rav4","cost":12000.5,"luxury":false,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 17:28:47"}
*** Script: das: {"luxury":false}
GlideDynamicAttributeStore - toString()
GlideDynamicAttributeStore オブジェクトのコンテンツを文字列として返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 文字列としての GlideDynamicAttribute オブジェクト。 例: |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Toyota");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",true);
das.setDynamicAttributeValue("cost",12000);
das.setDynamicAttributeValue("avg_mpg",24.5);
das.setDynamicAttributeValue("total_miles",5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('das: ' + das.toString());
出力:
*** Script: das: {"cost":"12000.0","color":"blue","avg_mpg":"24.5","date_purchased":"2024-04-19 14:05:00","luxury":"true","model":"CRV","make":"Toyota","total_miles":"5324.123"}