GlideDynamicAttributeStore : Global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 8 Minuten Lesedauer
  • Die GlideDynamicAttributeStore -API bietet Zugriff auf einen neuen integrierten Datentyp für den dynamischen Attributspeicher, 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 in der Spalte „Datentypbeschreibung“ der Tabelle als „dynamic_attribute_store“ 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“.

    Der folgende Screenshot zeigt die dynamische Attributgruppe und die zugehörigen dynamischen Attribute, die in den Codebeispielen für diese API verwendet werden. Die definierten Attribute stellen ein Beispiel für jeden der Datentypen bereit, die von der Implementierung des dynamischen Schemas unterstützt werden.
    Setup der dynamischen Attributgruppe

    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. Bei Verwendung ähnlicher dynamischer 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.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    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.

    Diese Methode gibt Folgendes zurück:
    • Boolesche Werte als „wahr“ und „falsch“ anstelle von 1 und 0.
    • Datums-/Uhrzeitwerte im Gebietsschema des Anwenders anstelle von UTC.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    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 - getDynamicAttributeValue(String groupAttrPath)

    Gibt den Wert des angegebenen Attributs innerhalb des dynamischen Attributspeicherelements zurück.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    groupAttrPath Zeichenfolge Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs.
    Format: "group_name->attr_name"
    • group_name: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name“ der Tabelle „Dynamische Attributgruppe“ [dynamic_attribute_group] oder im Feld „Gruppe“ der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].
    • attr_name: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].

    Beispiel: „Auto->Farbe“

    Tabelle : 6. Ergebnisse
    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.

    Diese Methode gibt Folgendes zurück:
    • Boolesche Werte als 1 und 0 anstelle von „wahr“ und „falsch“.
    • Datums-/Uhrzeitwerte in UTC anstelle des Gebietsschemas des Anwenders.
    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 8. Ergebnisse
    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.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Wert Objekt Wert, der im aktuellen dynamischen Attributspeicher-Objekt festgelegt werden soll.
    Der übergebene Wert muss einen der folgenden Datentypen aufweisen:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimalzahl
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 10. Ergebnisse
    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.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    groupAttrPath Zeichenfolge Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs.
    Format: "group_name->attr_name"
    • group_name: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name“ der Tabelle „Dynamische Attributgruppe“ [dynamic_attribute_group] oder im Feld „Gruppe“ der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].
    • attr_name: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].

    Beispiel: „Auto->Farbe“

    Wert Objekt Wert, der im angegebenen Attribut festgelegt werden soll.
    Hinweis:
    Für dynamische Attribute werden nur die folgenden Datentypen unterstützt:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimalzahl
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    Objekt GlideDynamicAttributeStore-Objekt aktualisiert.

    Wenn der Parameter groupAttrPath ungültig ist, löst die Methode eine IllegalArgumentException aus.

    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.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    groupAttrPath Zeichenfolge Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs.
    Format: "group_name->attr_name"
    • group_name: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name“ der Tabelle „Dynamische Attributgruppe“ [dynamic_attribute_group] oder im Feld „Gruppe“ der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].
    • attr_name: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].

    Beispiel: „Auto->Farbe“

    Wert Objekt Wert, der im angegebenen Attribut festgelegt werden soll.
    Hinweis:
    Für dynamische Attribute werden nur die folgenden Datentypen unterstützt:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimalzahl
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    Objekt GlideDynamicAttributeStore-Objekt aktualisiert.

    Wenn der Parameter groupAttrPath ungültig ist, löst die Methode eine IllegalArgumentException aus.

    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.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Wert Objekt JSON-Objekt, das als Wert im zugeordneten GlideRecord gespeichert werden soll. Die Methode ignoriert alle ungültigen JSON-Werte.
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    Objekt GlideDynamicAttributeStore-Objekt aktualisiert.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var das = new GlideDynamicAttributeStore();
    var otherValues = new GlideDynamicAttributeStore();
    das.setDynamicAttributeValues(otherValues); 

    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.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    Wert Objekt JSON-Zuordnungsobjekt, das im GlideDynamicAttributeStore-Objekt gespeichert werden soll.

    Beispiel: '{"cars":{"cost":"12500"}}'

    Diese Methode ignoriert alle ungültigen JSON-Werte.
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    void

    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.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Ergebnisse
    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"}}