GlideDynamicAttribute - グローバル
GlideDynamicAttribute API は、動的属性メタデータへのアクセスを提供します。
この API は、動的属性 [dynamic_attribute] テーブルで定義された動的スキーマ値を取得できるようにするメソッドを提供します。動的属性には、定義されたデータ型とsys_idがあります。動的属性の詳細については、「 動的スキーマ」を参照してください。同じメソッドを、 GlideTransientDynamicAttribute - グローバル API の一時的な動的属性にも使用できます。
この API を使用して動的属性を作成するには、dynamic_schema_writer ロールが必要です。この API を使用して動的データを読み取るには、dynamic_schema_reader ロールが必要です。
GlideDynamicAttribute - getGroupName()
動的属性オブジェクトのグループ名プロパティの値を取得します。
Zurich リリースの時点で、動的グループは動的スキーマから削除されました。Zurichリリースより前に関連付けられた動的属性グループで定義された動的属性の場合、この方法は下位互換性のために引き続き機能します。お客様は、現在の動的属性定義に移行して、将来の機能改善を利用することをお勧めします。
動的カテゴリで動的属性を使用すると、管理を簡素化し、動的スキーマのユーザーエクスペリエンスを向上させることができます。詳細については、「Working with Dynamic Schema」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 動的属性のグループ名プロパティの値。 |
次の例では、動的属性オブジェクトグループ名の値が a と表示されます。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue('a->b', 5); // transient (adding here)
das.setDynamicAttributeValue('a->c', 10); // defined in dynamic_attribute table
var attributes = das.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 + "].getGroupName() = " + attr.getGroupName());
gs.info("[" + i + "].getSysId() = " + attr.getSysId());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
出力:
*** Script: a->c,a->b
*** Script:
*** Script: [0].getPath() = a->c
*** Script: [0].getName() = c
*** Script: [0].getGroupName() = a
*** Script: [0].getSysId() = 8bc411a94fc01210b8ddc0e552ce0b3c
*** Script: [0].isTransient() = false
*** Script: [0].getType() = integer
*** Script:
*** Script: [1].getPath() = a->b
*** Script: [1].getName() = b
*** Script: [1].getGroupName() = a
*** Script: [1].getSysId() = undefined
*** Script: [1].isTransient() = true
*** Script: [1].getType() = string
GlideDynamicAttribute - getName()
動的属性オブジェクトの name プロパティの値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 動的属性の名前プロパティの値。 |
次の例では、動的属性オブジェクト名の値が c と表示されます。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue('a->b', 5); // transient (adding here)
das.setDynamicAttributeValue('a->c', 10); // defined in dynamic_attribute table
var attributes = das.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 + "].getSysId() = " + attr.getSysId());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
出力:
*** Script: a->c,a->b
*** Script:
*** Script: [0].getPath() = a->c
*** Script: [0].getName() = c
*** Script: [0].getSysId() = 8bc411a94fc01210b8ddc0e552ce0b3c
*** Script: [0].isTransient() = false
*** Script: [0].getType() = integer
*** Script:
*** Script: [1].getPath() = a->b
*** Script: [1].getName() = b
*** Script: [1].getSysId() = undefined
*** Script: [1].isTransient() = true
*** Script: [1].getType() = string
GlideDynamicAttribute - getPath()
動的属性オブジェクトのパスプロパティの値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 動的属性のパスの値。 |
次の例では、動的属性オブジェクトパスの値が a->c として表示されます。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue('a->b', 5); // transient (adding here)
das.setDynamicAttributeValue('a->c', 10); // defined in dynamic_attribute table
var attributes = das.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 + "].getSysId() = " + attr.getSysId());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
出力:
*** Script: a->c,a->b
*** Script:
*** Script: [0].getPath() = a->c
*** Script: [0].getName() = c
*** Script: [0].getSysId() = 8bc411a94fc01210b8ddc0e552ce0b3c
*** Script: [0].isTransient() = false
*** Script: [0].getType() = integer
*** Script:
*** Script: [1].getPath() = a->b
*** Script: [1].getName() = b
*** Script: [1].getSysId() = undefined
*** Script: [1].isTransient() = true
*** Script: [1].getType() = string
GlideDynamicAttribute - getSysId()
動的属性オブジェクトのsys_idを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 動的属性のsys_idの値。 |
次の例では、動的属性オブジェクトのsys_idの値は 8bc411a94fc01210b8ddc0e552ce0b3c と表示されます。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue('a->b', 5); // transient (adding here)
das.setDynamicAttributeValue('a->c', 10); // defined in dynamic_attribute table
var attributes = das.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 + "].getSysId() = " + attr.getSysId());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
出力:
*** Script: a->c,a->b
*** Script:
*** Script: [0].getPath() = a->c
*** Script: [0].getName() = c
*** Script: [0].getSysId() = 8bc411a94fc01210b8ddc0e552ce0b3c
*** Script: [0].isTransient() = false
*** Script: [0].getType() = integer
*** Script:
*** Script: [1].getPath() = a->b
*** Script: [1].getName() = b
*** Script: [1].getSysId() = undefined
*** Script: [1].isTransient() = true
*** Script: [1].getType() = string
GlideDynamicAttribute - getType()
動的属性オブジェクトの type プロパティの値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 動的属性のデータタイプの値。 |
次の例では、動的属性オブジェクトタイプの値が 整数として表示されます。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue('a->b', 5); // transient (adding here)
das.setDynamicAttributeValue('a->c', 10); // defined in dynamic_attribute table
var attributes = das.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 + "].getSysId() = " + attr.getSysId());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
出力:
*** Script: a->c,a->b
*** Script:
*** Script: [0].getPath() = a->c
*** Script: [0].getName() = c
*** Script: [0].getSysId() = 8bc411a94fc01210b8ddc0e552ce0b3c
*** Script: [0].isTransient() = false
*** Script: [0].getType() = integer
*** Script:
*** Script: [1].getPath() = a->b
*** Script: [1].getName() = b
*** Script: [1].getSysId() = undefined
*** Script: [1].isTransient() = true
*** Script: [1].getType() = string
GlideDynamicAttribute - isTransient()
オブジェクトが一時的な動的属性であるかどうかを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | 動的属性が一時的かどうかを示すフラグ。 有効な値:
|
次の例では、 isTransient() メソッドは、一時的でないオブジェクトに対して false を返します。
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue('a->b', 5); // transient (adding here)
das.setDynamicAttributeValue('a->c', 10); // defined in dynamic_attribute table
var attributes = das.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 + "].getSysId() = " + attr.getSysId());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
出力:
*** Script: a->c,a->b
*** Script:
*** Script: [0].getPath() = a->c
*** Script: [0].getName() = c
*** Script: [0].getSysId() = 8bc411a94fc01210b8ddc0e552ce0b3c
*** Script: [0].isTransient() = false
*** Script: [0].getType() = integer
*** Script:
*** Script: [1].getPath() = a->b
*** Script: [1].getName() = b
*** Script: [1].getSysId() = undefined
*** Script: [1].isTransient() = true
*** Script: [1].getType() = string