GlideDynamicAttributeStore : Global
Die GlideDynamicAttributeStore -API bietet Zugriff auf einen dynamischen Attributspeicher-Datentyp, der anderen Datentypen wie Zeichenfolge, Datum oder Datum/Uhrzeit ähnelt.
Diese API stellt Methoden bereit, mit denen Sie dynamische Schemaattribute in einem GlideDynamicAttribute-Objekt abrufen und festlegen können. Mit diesen dynamischen Attributen kann jede Zeile in einer Tabelle andere Felder enthalten. Die Felder, auf die dieser Datentyp angewendet wird, werden als „dynamic_attribute_store“ in der Spalte Datentypbeschreibung der Tabelle angezeigt. Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema.
Um diese API zum Erstellen dynamischer Attribute zu verwenden, benötigen Sie die Rolle „dynamic_schema_writer“. Um dynamische Daten mit dieser API zu lesen, benötigen Sie die Rolle „dynamic_schema_reader“.
Diese API enthält Methoden mit derselben Funktionalität wie dynamische Schemamethoden in der GlideRecord -API. Verwenden Sie diese API, wenn Sie dieselbe Gruppe dynamischer Attribute für mehrere Datensätze festlegen möchten. Mit dieser API können Sie ein GlideDynamicAttributeStore-Objekt mit den gewünschten Attributen bereitstellen und dieses Objekt dann mit den verschiedenen setDynamicAttributeValues()- Methoden in mehrere GlideRecords kopieren. Durch die Verwendung von ähnlichen dynamischen Schemamethoden in der GlideRecord- API werden die Aktionen für einen angegebenen GlideRecord ausgeführt.
GlideDynamicAttributeStore – löschen ()
Löscht alle Attribute und ihre Werte aus dem GlideDynamicAttributeStore-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
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());
Ausgabe:
*** 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()
Gibt die JSON-Kartendarstellung der im aktuellen GlideDynamicAttributeStore-Objekt gespeicherten Werte zurück.
- Boolesche Werte als „wahr“ und „falsch“ anstelle von 1 und 0.
- Datums-/Uhrzeitwerte im Gebietsschema des Anwenders anstelle von UTC.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Visuell lesbare JSON-Zuordnung der im GlideDynamicAttributeStore-Objekt gespeicherten Werte Der Inhalt dieser Zeichenfolge hängt von Ihrer dynamischen Schemadefinition ab. |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
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());
Ausgabe:
*** 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 – getDynamicAttributes()
Gibt den Satz der im Store vorhandenen dynamischen Attributdefinitionen zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Array | Array, das alle im Speicher vorhandenen vorübergehenden und nicht vorübergehenden dynamischen Attribute enthält.
Hinweis:
Auf die Tabelle „Dynamisches Attribut“ [dynamic_attribute] können Sie zugreifen, indem Sie zu navigieren , wählen Sie eine Gruppe und dann die Registerkarte Dynamische Attribute aus. |
Das folgende Beispiel zeigt, wie vorübergehende und nicht vorübergehende dynamische Attribute abgerufen werden.
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());
}
Ausgabe:
*** 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
GlideDynamicAttributeStore - getDynamicAttributeValue(String groupAttrPath)
Gibt den Wert des angegebenen Attributs innerhalb des dynamischen Attributspeicherelements zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| groupAttrPath | Zeichenfolge | Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs. Format: "group_name->attr_name"
Beispiel: |
| Typ | Beschreibung |
|---|---|
| Objekt | Wert des dynamischen Schemaattributs, auf das vom übergebenen Gruppen-/Attributpfad verwiesen wird. Wenn der Parameter attributePath ungültige Informationen enthält, gibt eine NULL zurück. |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
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"));
Ausgabe:
*** Script: Value returned by getDynamicAttributeValue(): blue
*** Script: Value returned by getDynamicAttributeValue(): 1
GlideDynamicAttributeStore – getValue()
Gibt die kompakte Zeichenfolgendarstellung des Inhalts des aktuellen GlideDynamicAttributeStore-Objekts zurück.
- Boolesche Werte als 1 und 0 anstelle von „wahr“ und „falsch“.
- Datums-/Uhrzeitwerte in UTC anstelle des Gebietsschemas des Anwenders.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Kompakte Zeichenfolgendarstellung der im GlideDynamicAttributeStore-Objekt gespeicherten Werte. Der Inhalt dieser Zeichenfolge hängt von Ihrer dynamischen Schemadefinition ab. |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
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());
Ausgabe:
*** 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(Object value)
Löscht das aktuelle GlideDynamicAttributeStore-Objekt und speichert dann die übergebene JSON-Zuordnung im GlideDynamicAttributeStore-Objekt.
Diese Methode entspricht funktional GlideDynamicAttributeStore – setValue(Object value), außer dass alle Datumswerte im Gebietsschema des Anwenders angegeben werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Wert | Objekt | Wert, der im aktuellen dynamischen Attributspeicher-Objekt festgelegt werden soll. Der übergebene Wert muss einen der folgenden Datentypen aufweisen:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie diese Methode aufgerufen wird.
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());
Ausgabe:
*** 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(Zeichenfolge groupAttrPath, Objektwert)
Legt den Wert des dynamischen Attributs fest, das sich an einem angegebenen Pfad innerhalb eines dynamischen Attributspeicherelements befindet.
Diese Methode funktioniert genauso wie die Methode GlideDynamicAttributeStore - setDynamicAttributeValue(Zeichenfolge groupAttrPath, Objektwert), außer dass boolesche Werte und Datums-/Uhrzeitwerte verarbeitet werden. Bei dieser Methode wird davon ausgegangen, dass alle Datums-/Uhrzeitwerte im Gebietsschema des Anwenders angegeben werden.
| Name | Typ | Beschreibung |
|---|---|---|
| groupAttrPath | Zeichenfolge | Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs. Format: "group_name->attr_name"
Beispiel: |
| Wert | Objekt | Wert, der im angegebenen Attribut festgelegt werden soll. Hinweis: Für dynamische Attribute werden nur die folgenden Datentypen unterstützt:
|
| Typ | Beschreibung |
|---|---|
| Objekt | GlideDynamicAttributeStore-Objekt aktualisiert. Wenn der Parameter groupAttrPath ungültig ist, löst die Methode eine IllegalArgumentExceptionaus. |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
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());
Ausgabe:
*** 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(Zeichenfolge groupAttrPath, Objektwert)
Legt das dynamische Attribut, auf das von einem angegebenen Gruppen-/Attributpfad verwiesen wird, auf einen angegebenen Wert fest.
| Name | Typ | Beschreibung |
|---|---|---|
| groupAttrPath | Zeichenfolge | Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs. Format: "group_name->attr_name"
Beispiel: |
| Wert | Objekt | Wert, der im angegebenen Attribut festgelegt werden soll. Hinweis: Für dynamische Attribute werden nur die folgenden Datentypen unterstützt:
|
| Typ | Beschreibung |
|---|---|
| Objekt | GlideDynamicAttributeStore-Objekt aktualisiert. Wenn der Parameter groupAttrPath ungültig ist, löst die Methode eine IllegalArgumentExceptionaus. |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
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());
Ausgabe:
*** 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(Object value)
Legt den internen JSON-Speicher für das Feld auf die Zeichenfolgendarstellung des übergebenen Werts fest. Wenn der übergebene Wert eine andere Instanz eines GlideDynamicAttributeStore-Objekts ist, werden die Werte von diesem Objekt in das aktuelle Objekt kopiert.
| Name | Typ | Beschreibung |
|---|---|---|
| Wert | Objekt | JSON-Objekt, das als Wert im zugeordneten GlideRecord gespeichert werden soll. Die Methode ignoriert alle ungültigen JSON-Werte. |
| Typ | Beschreibung |
|---|---|
| Objekt | GlideDynamicAttributeStore-Objekt aktualisiert. |
Das folgende Beispiel zeigt, wie Attribut-Wert-Paare in einem GlideDynamicAttributeStore-Objekt gespeichert und anschließend dieselben Werte von einem Objekt in ein anderes kopiert werden.
var das = new GlideDynamicAttributeStore();
var otherValues = new GlideDynamicAttributeStore();
otherValues.setDynamicAttributeValue("position->x", 5);
otherValues.setDynamicAttributeValue("position->y", 6);
das.setDynamicAttributeValues(otherValues);
gs.info(das);
Ausgabe:
{"_position":{"x":"5.0","y":"6.0"}}
GlideDynamicAttributeStore – setValue(Object value)
Löscht das aktuelle GlideDynamicAttributeStore-Objekt und speichert dann die übergebene JSON-Zuordnung in diesem GlideDynamicAttributeStore-Objekt.
Diese Methode besitzt die gleiche Funktion wie GlideDynamicAttributeStore – setDisplayValue(Object value), außer dass alle Datumswerte in UTC angegeben sind.
| Name | Typ | Beschreibung |
|---|---|---|
| Wert | Objekt | JSON-Zuordnungsobjekt, das im GlideDynamicAttributeStore-Objekt gespeichert werden soll. Beispiel: |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie diese Methode aufgerufen wird.
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());
Ausgabe:
*** 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()
Gibt den Inhalt des GlideDynamicAttributeStore-Objekts als Zeichenfolge zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | GlideDynamicAttribute-Objekt als Zeichenfolge. Beispiel: '{"group":{"attr2":"wahr","attr1":"42.0"}}' |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
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());
Ausgabe:
*** 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"}}