GlideDynamicAttributeStore - グローバル
GlideDynamicAttributeStore API は、文字列、日付、日付/時刻などの他のデータ型と同様に、新しい組み込みの動的属性ストアデータ型へのアクセスを提供します。
この API は、GlideDynamicAttribute オブジェクト内の動的スキーマ属性を取得および設定できるようにするメソッドを提供します。これらの動的属性により、テーブルの各行に異なるフィールドを含めることができます。このデータ・タイプが適用されるフィールドは、表の列データ・タイプの説明内に dynamic_attribute_store として表示されます。動的属性の詳細については、「 動的スキーマ」を参照してください。
この API を使用して動的属性を作成するには、dynamic_schema_writer ロールが必要です。この API を使用して動的データを読み取るには、dynamic_schema_reader ロールが必要です。
この API には、 GlideRecord API の動的スキーマメソッドと同じ機能を持つメソッドがあります。複数のレコードに同じグループの動的属性を設定する場合は、この API を使用します。この API を使用すると、必要な属性を持つ GlideDynamicAttributeStore オブジェクトをステージングし、さまざまな setDynamicAttributeValues() メソッドを使用してそのオブジェクトを複数の GlideRecord にコピーできます。GlideRecord API で同様の動的スキーマメソッドを使用すると、指定された GlideRecord に対してアクションが実行されます。
GlideDynamicAttributeStore - clear()
GlideDynamicAttributeStore オブジェクトからすべての属性とその値をクリアします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg",24.5234);
das.setDynamicAttributeValue("cars->total_miles",5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.clear();
gs.info('das: ' + das.getDisplayValue());
出力:
*** Script: das: {
"cars" : {
"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("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->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(): {"cars":{"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(): {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
GlideDynamicAttributeStore - getDynamicAttributeValue(文字列 groupAttrPath)
動的属性ストア要素内の指定された属性の値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupAttrPath | 文字列 | 関連する動的スキーマ属性を見つけるために使用する属性パス。 フォーマット:「 group_name->attr_name」
例 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 渡されたグループ/属性パスによって参照される動的スキーマ属性の値。 attributePathパラメーターに無効な情報が含まれている場合は、null を返します。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('Value returned by getDynamicAttributeValue(): ' + das.getDynamicAttributeValue("cars->color"));
gs.info('Value returned by getDynamicAttributeValue(): ' + das.getDynamicAttributeValue("cars->luxury"));
出力:
*** Script: Value returned by getDynamicAttributeValue(): blue
*** Script: Value returned by getDynamicAttributeValue(): 1
GlideDynamicAttributeStore - getValue()
現在の GlideDynamicAttributeStore オブジェクトのコンテンツの圧縮文字列表現を返します。
- 「true」と「false」の代わりに 1 と 0 のブール値。
- ユーザーのロケールではなく UTC の日付/時刻値。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | GlideDynamicAttributeStore オブジェクトに格納されている値のコンパクトな文字列表現。この文字列の内容は、動的スキーマ定義によって異なります。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->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(): {"cars":{"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(): {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
GlideDynamicAttributeStore - setDisplayValue (オブジェクト値)
現在の GlideDynamicAttributeStore オブジェクトをクリアし、渡された JSON マップを GlideDynamicAttributeStore オブジェクトに格納します。
このメソッドは、すべての日付値がユーザーのロケールで指定されることを前提としている点を除いて、機能的には GlideDynamicAttributeStore - setValue(オブジェクト値) と同じです。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | オブジェクト | 現在の動的属性ストアオブジェクトに設定する値。 渡される値は、次のいずれかのデータタイプである必要があります。
|
| タイプ | 説明 |
|---|---|
| なし |
次の例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.setDisplayValue('{"cars":{"luxury":false}}');
gs.info('das: ' + das.getDisplayValue());
出力:
*** Script: das: {
"cars" : {
"avg_mpg" : "24.5",
"color" : "blue",
"cost" : "12000.0",
"date_purchased" : "2024-04-19 14:16:49",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324.0"
}
}
*** Script: das: {
"cars" : {
"luxury" : "false"
}
}
GlideDynamicAttributeStore - setDynamicAttributeDisplayValue(文字列 groupAttrPath, オブジェクト値)
動的属性ストア要素内の指定されたパスにある動的属性の値を設定します。
このメソッドは、ブール値と日付/時刻値の処理を除き、 GlideDynamicAttributeStore - setDynamicAttributeValue(文字列 groupAttrPath, オブジェクト値) メソッドと同じように機能します。このメソッドでは、すべての日付/時刻値がユーザーのロケールで指定されていることを前提としています。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupAttrPath | 文字列 | 関連する動的スキーマ属性を見つけるために使用する属性パス。 フォーマット:「 group_name->attr_name」
例 |
| 値 | オブジェクト | 指定された属性に設定する値。 注: 動的属性の場合、次のデータタイプのみがサポートされます。
|
| タイプ | 説明 |
|---|---|
| オブジェクト | GlideDynamicAttributeStore オブジェクトを更新しました。 groupAttrPathパラメーターが有効でない場合、メソッドは IllegalArgumentException をスローします。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeDisplayValue("cars->color","blue");
das.setDynamicAttributeDisplayValue("cars->make","Toyota");
das.setDynamicAttributeDisplayValue("cars->model","CRV");
das.setDynamicAttributeDisplayValue("cars->luxury","true");
das.setDynamicAttributeDisplayValue("cars->cost",12000.5);
das.setDynamicAttributeDisplayValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeDisplayValue("cars->total_miles", 5324);
das.setDynamicAttributeDisplayValue("cars->date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.setDisplayValue('{"cars":{"luxury":"false"}}');
gs.info('das: ' + das.getDisplayValue());
出力:
*** Script: das: {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 10:40:45",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
*** Script: das: {
"cars" : {
"luxury" : "false"
}
}
GlideDynamicAttributeStore - setDynamicAttributeValue(文字列 groupAttrPath, オブジェクト値)
指定されたグループ/属性パスによって参照される動的属性を指定された値に設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupAttrPath | 文字列 | 関連する動的スキーマ属性を見つけるために使用する属性パス。 フォーマット:「 group_name->attr_name」
例 |
| 値 | オブジェクト | 指定された属性に設定する値。 注: 動的属性の場合、次のデータタイプのみがサポートされます。
|
| タイプ | 説明 |
|---|---|
| オブジェクト | GlideDynamicAttributeStore オブジェクトを更新しました。 groupAttrPathパラメーターが有効でない場合、メソッドは IllegalArgumentException をスローします。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->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(): {"cars":{"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(): {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
GlideDynamicAttributeStore - setDynamicAttributeValues(オブジェクト値)
フィールドの内部 JSON ストレージを、渡された値の文字列表現に設定します。渡された値が GlideDynamicAttributeStore オブジェクトの別のインスタンスである場合は、そのオブジェクトの値が現在のオブジェクトにコピーされます。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | オブジェクト | 関連する GlideRecord に値として格納する JSON オブジェクト このメソッドは無効な JSON 値を無視します。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | GlideDynamicAttributeStore オブジェクトを更新しました。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
var otherValues = new GlideDynamicAttributeStore();
das.setDynamicAttributeValues(otherValues);
GlideDynamicAttributeStore - setValue(オブジェクト値)
現在の GlideDynamicAttributeStore オブジェクトをクリアし、渡された JSON マップをその GlideDynamicAttributeStore オブジェクトに格納します。
このメソッドは、すべての日付値が UTC であることを前提としている点を除いて、機能的には GlideDynamicAttributeStore - setDisplayValue (オブジェクト値) と同じです。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | オブジェクト | GlideDynamicAttributeStore オブジェクトに格納する JSON マップオブジェクト。 例: |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased", new GlideDateTime());
gs.info('das: ' + das.getValue());
das.setValue('{"cars":{"luxury":false}}');
gs.info('das: ' + das.getValue());
出力:
*** Script: das: {"cars":{"total_miles":5324,"color":"blue","model":"CRV","cost":12000.5,"luxury":true,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 17:28:47"}}
*** Script: das: {"cars":{"luxury":false}}
GlideDynamicAttributeStore - toString()
GlideDynamicAttributeStore オブジェクトのコンテンツを文字列として返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | GlideDynamicAttribute オブジェクトを文字列として渡します。 例:'{"group":{"attr2":"true","attr1":"42.0"}}' |
次のコード例は、このメソッドを呼び出す方法を示しています。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000);
das.setDynamicAttributeValue("cars->avg_mpg",24.5);
das.setDynamicAttributeValue("cars->total_miles",5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('das: ' + das.toString());
出力:
*** Script: das: {"cars":{"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"}}